• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > PS/2键盘上层过滤驱动设计

PS/2键盘上层过滤驱动设计

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了ps/2标准键盘,ps/2键盘驱动下载,ps/2标准键盘驱动,键盘接口 ps/2,ps/2键盘等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: PS/2键盘上层过滤驱动设计
描述:

各位高手:
    在设计PS/2键盘上层过滤驱动时,我碰到了一点麻烦:
    我打算在过滤驱动中过滤掉特定的键,在win2000 DDK目录..\NTDDK\src\input\kbfiltr中有例程,我将自己的代码加到kbfiltr.c的KbFilter_ServiceCallback函数中,但是我没有过滤掉任何键.
    急切的盼望各位的帮忙!!!
    下面是我加的代码:
////////////////////////////////////////////////////////////////////////////////
//我自己写的函数
//待过滤的键的扫描码 "a"(MakeCode=0x1C; BreakCode=0xF0,0x1c;)
int Filter(PKEYBOARD_INPUT_DATA InputDataStart,
PKEYBOARD_INPUT_DATA InputDataEnd)
{
//标志位,用来标志是否找到了扫描码
int CodeSign[3];
//遍历InputDataBuffer的指针
PKEYBOARD_INPUT_DATA i=0x0;
int j=0;
//最终的找到了扫描码的标志
int FilterProcess=0;
int InputDataSize=sizeof(KEYBOARD_INPUT_DATA);
//初始化标志位
for(j=0;j<=2;j++)
CodeSign[j]=0;
//遍历InputDataBuffer
for(i=InputDataStart;i<=InputDataEnd;i+=InputDataSize)
{
if (!((i->MakeCode==0x1C) && (i->Flags==KEY_MAKE)))
continue;
else
CodeSign[0]=1;
if (!((i->MakeCode==0xF0) && (i->Flags==KEY_BREAK)))
continue;
else
CodeSign[1]=1;
if (!((i->MakeCode==0x1C) && (i->Flags==KEY_BREAK)))
continue;
else
{
CodeSign[2]=1;
break;
}
}
//设置标志位
for(j=0;j<=2;j++)
FilterProcess&=CodeSign[j];
//过滤之
if (FilterProcess)
{
RtlZeroMemory(i-2*InputDataSize,3);
return 0;
}
return 1;
}
/////////////////////////////////////////////////////////////////////////////////


解决方案1:

建议你参考CTRL2CAP在READ 完成例程里过滤......

解决方案2:

顶...关注中!

解决方案3:

帮顶!关注中

解决方案4:

顶一下


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PS/2键盘上层过滤驱动设计

相关文章

  • 2017-06-05 关于移动平台下的驱动开发
  • 2017-06-05 USB方式WinCE5连接ActiveSync出现“建立合作关系失败”错误
  • 2017-06-05 请教LCD的工作原理----来者有分
  • 2017-06-05 请问io和pciio是不是同样的?
  • 2017-06-05 Altiumdesigner画原理图,总线部分的NetLabel部分出现错误警告。
  • 2017-06-05 求win2000下的DDK程序
  • 2017-06-05 一般ARM7嵌入式Linux的开发是否完全支持C++?
  • 2017-06-05 vxworks上的isnan、strcasecmp等函数
  • 2017-06-05 VxWorks55在Windsh下输入@ls报错!
  • 2017-06-05 USB驱动安装文件setup的制作问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 求推荐串口电压转33V的芯片
    • XP下安装DriverWorks用VC6编译函数库出现的错误
    • PDA如何读取SAM卡数据
    • DNS解析缓存问题
    • 视频的显示质量问题
    • 马上大四了,选择就业,正在纠结深圳和北京这两个城市
    • 关于Nandflash的SpareBlcoks的寻址疑惑K9GAG08U0F
    • 高手请教:Typedef问题
    • 8051控制數碼管問題
    • 关于用微处理器控制双电源自动切换电路设计

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有