window ce 6.0 矩阵键盘驱动

sheng   2009-12-7 16:25 楼主
如何自己写成键盘的单体的流驱动,有两个问题没有解决 ,请问各位大侠:
(1)键盘驱动 改如何将扫描的键盘值发送到GWES? 是通过那个函数发送过去的啊?
(2)GWES可以加载流驱动到GWES吗?如果可以 如何让GWES加载?如果不行 应该怎么处理?

回复评论 (14)

通过PostMessagpe应该就可以发送按键消息到GWES吧,
通过DEVICE.EXE加载这个驱动就可以
点赞  2009-12-7 16:47
PostMessagpe好像只能给窗口发送吧?
你有没有写过这样的键盘驱动?
点赞  2009-12-7 16:54
keybd_event
键盘驱动也是流式的。不知道怎么用GWES加载单体流驱动,可以按通常的驱动让设备管理器加载,写个HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Keypad
点赞  2009-12-7 17:04
keybdmdd里好像有个回调函数用来发送KeyDown和KeyUp的消息。
点赞  2009-12-7 17:14
问题1:有个函数 KEY_event解决,可以查帮助文件,看各个参数含义
问题2:看下帮助文件里的GWES是怎么加载本地驱动的.这个是操作系统做的,你只要按驱动的方式把该导出的导出,BIB 和REG文件添加你的东西就行了.
点赞  2009-12-10 10:35
KEY_event这个函数怎么发送键盘按下消息?我看了下msdn,感觉只能发送按键弹起的消息啊。
另外,应该怎么处理长按键这个键盘事件?
点赞  2009-12-14 11:41
虽然我搞过键盘驱动,但是现在忘记的一干二净

2440 里面的key board驱动 你把硬件那部分改成自己的就OK了
点赞  2009-12-14 11:49
keybd_event向GWES传送数据,GWES从中解析具体的操作含义

LZ应该还没有细看原理或代码。。。

扫描码,GWES是不能用的,GWES能用的是虚拟值,这之间有张表可以转换它们的关系。。。

另外,键盘驱动不一定都得GWES加载,我以前就做过两个键盘,分别可以是GWES或diver加载的,GWES与键盘之间是通过keybd_event来交互,只要满足keybd_event的定义,就可以的。。。

当然,一般是推荐用GWES加载,因为是它负责这些方面的工作。。
点赞  2009-12-14 13:57
不懂,帮顶!!!
点赞  2009-12-14 13:59
KEY_event这个函数怎么发送键盘按下消息?我看了下msdn,感觉只能发送按键弹起的消息啊。
另外,应该怎么处理长按键这个键盘事件?
点赞  2009-12-14 14:11
顶一下,高手来啊
点赞  2009-12-15 13:36
引用: 引用 6 楼 liaifeilove 的回复:
KEY_event这个函数怎么发送键盘按下消息?我看了下msdn,感觉只能发送按键弹起的消息啊。

keybd_event(key , 0, 0, 0);               //down
keybd_event(key , 0, KEYEVENTF_KEYUP, 0); //up
点赞  2010-3-6 17:57
说的对,直接看键盘驱动的代码,按照wince提供的框架将扫描码转换虚键值,填充一个结构就可以了,我记得是填充一个数组
引用: 引用 8 楼 liuysheng 的回复:
keybd_event向GWES传送数据,GWES从中解析具体的操作含义

LZ应该还没有细看原理或代码。。。

扫描码,GWES是不能用的,GWES能用的是虚拟值,这之间有张表可以转换它们的关系。。。

另外,键盘驱动不一定都得GWES加载,我以前就做过两个键盘,分别可以是GWES或diver加载的,GWES与键盘之间是通过keybd_event来交互,只要满足keybd_event的定义,就可以的。。。

当然,一般是推荐用GWES加载,因为是它负责这些方面的工作。。
点赞  2010-3-6 18:54
顶 用到了
点赞  2011-9-27 14:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复