阅读:1814回复:3
关于键盘驱动-(20分)
本人是个新手,目前正在开发CE系统下的一个5x5的矩阵小键盘。
中断调用函数,获取扫描码函数都已完成,工作正常。但是在给系统返回虚拟码值时,碰到些问题: 本人是用keybd_event()向系统返回虚拟码,如: keybd_event(VkeyValue,0,0,0); keybd_event(VkeyValue,0,KEYEVENTF_KEYUP,0); 当VkeyValue等于VK_RETURN,VK_CAPITAL这些功能键值时,系统都可以正常接受, 但是一直无法用keybd_event函数向系统发送字母键和数字键!不知道是什么问题?希望高手指点一下,应该怎么向系统发送字母和数字键值! ps: 看了msdn,似乎得用发送message的方法才能发送字母、数字这种character,但是msdn写的很简单,看了PB 4.2里的ps2键盘的驱动例程也没找到使用message方法的地方。很是困惑,希望做过的朋友能够指点迷经! 可以的话,最好给个例子!先谢了! |
|
沙发#
发布于:2003-11-04 13:08
Virtual Key CodesThe following table shows the symbolic constant names, hexadecimal values, and keyboard equivalents for the virtual-key codes used by the Microsoft Windows CE operating system. The codes are listed in numeric order. You can combine any of the codes with a modifier key to create a hot key.
下面每一行分别是“符号常数”,“十六进制值”,“鼠标或键盘行为的描述” VK_LBUTTON 01 Left mouse button VK_RBUTTON 02 Right mouse button VK_CANCEL 03 Control-break processing VK_MBUTTON 04 Middle mouse button on a three-button mouse ― 05 |
|
板凳#
发布于:2003-11-04 13:11
按照上面的文档,在wince里,1应该也是0x30,以此类推
|
|
地板#
发布于:2003-11-04 15:26
thanks,
不过虚拟码值从0x01到0xfe我都曾经试过了,不行的!而且你给的这张表在PB的帮助里是没有从0x30-0x39以及0x41-0x5A部分内容的! 我想也许是不能利用keybd_event()来传递字母值吧,或者是其他某些地方的设置不对! 不过还是要谢谢你的! |
|