阅读:1331回复:3
关于DS里的kbfilter??
有三个疑问:
一是他返回的scancode,我查了键盘PS2规范(HID好象也是这样) 说现在一般用的都是第二套键盘编码,可是我从DriverMonitor 里看的却是第一套的,不知道为什么,高手指教?难道是为了 保持和PC/XT的兼容在HAL改成了第一套编码,但是键盘在初始化的时候就已经设置完了是第几套的了。 第二个是我想问一下如何检测是否同时按下两个键或三个键? 第三个是我想问一下我在KEY_MAKE的时候把Ctrl键该为"B",重起之后打开记事本的话能证明已经成功,而且按CtrlDel+Alt也不起作用了。但是当我运行MyIe,或者VC(只测试了这两个)之后,这个修改就 不起作用了。而且机器出现异常――键盘失控啊!!! |
|
最新喜欢:![]() |
沙发#
发布于:2004-10-15 13:21
我把源代码贴出来来
高手回答啊,保证送分 char theLetter; if(InputDataStart->Flags == KEY_MAKE) { //后添加的用于屏蔽掉Ctrl+Alt+Del if(InputDataStart->MakeCode == 0x10) //将"Ctrl"0x1d该为"B"0x30 { InputDataStart->MakeCode = 0x30; //InputDataStart->MakeCode = 0x30; } ///////////////////////////////////////////////_END_ theLetter = ConvertScancodeToLetter(InputDataStart->MakeCode); //Print out the scancode if(theLetter != ' ') t << theLetter << " was pressed" << "\n"; else t << "scancode " << InputDataStart->MakeCode << "\n"; } |
|
板凳#
发布于:2004-10-23 21:40
你要处理按下和弹起,我曾经写过一个修改F12键为"."的kbdfilter,使用很好没有问题。
键盘Filter很简单,使用DDK的哪个sample就很好了 |
|
|
地板#
发布于:2004-10-27 16:29
我也想知道答案!!
|
|