USB标准键盘按键数据包格式解析

这篇具有很好参考价值的文章主要介绍了USB标准键盘按键数据包格式解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

标准键盘一次发送8个字节,解释如下:
BYTE1 –
|–bit0: Left Control是否按下,按下为1
|–bit1: Left Shift 是否按下,按下为1
|–bit2: Left Alt 是否按下,按下为1
|–bit3: Left GUI 是否按下,按下为1
|–bit4: Right Control是否按下,按下为1
|–bit5: Right Shift 是否按下,按下为1
|–bit6: Right Alt 是否按下,按下为1
|–bit7: Right GUI 是否按下,按下为1
BYTE2 – 保留位
BYTE3–BYTE8 – 这六个为普通按键
USB鼠标一次可以发送8个字节的数据,其中第1个字节表示修饰键是否被按下,第2个字节是保留位,值固定为0,后6个字节表示普通按键信息。

第1个字节中的每一位都表示一个修饰键,如果该位为1表示对应修饰键被按下,为0表示没有按下。这8个修饰键分别是左Ctrl键、左Shift键、左Alt键、左GUI键、右Ctrl键、右Shift键、右Alt键和右GUI键。

后6个字节表示最多6个普通按键信息,其中的值表示相应的按键编码,范围是0x00到0xFF。0x00表示没有编码且没有按键被按下,0x01表示出现溢出,0x02表示键盘自检失败,0x03表示未定义错误。0x04表示A键,0x05表示B键,以此类推。

当按下一个按键,相应的按键字段会出现一个扫描码;当释放一个按键,相应的按键字段的值会变为0x00。

例如,如果用户先后按下A键、B键和C键,发送的数据包依次为:
00 00 04 00 00 00 00 00
00 00 04 05 00 00 00 00
00 00 04 05 06 00 00 00
如果用户先后按下X键和左Shift键,发送的数据包为:
02 00 1B 00 00 00 00 00

通过上述例子可以看出,USB键盘按照用户按下按键的顺序返回按键扫描码,如果第一个按键字段为0x00,表示没有任何按键被按下。文章来源地址https://www.toymoban.com/news/detail-788741.html

到了这里,关于USB标准键盘按键数据包格式解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • USB HID键盘实现全键无冲解析

    目录 前言 设备描述符 配置描述符 配置描述符 接口描述符 HID描述符 端点描述符 HID类报表描述符 输入输出数据解析 其他         看了稚辉君的瀚文键盘的源码之后对于键盘全键无冲的实现还是存在很多疑问。1、HID报表描述符的内容到底什么意思?2、瀚文源码里的键值映射

    2024年02月09日
    浏览(66)
  • stm32 USB HID+CDC 鼠标键盘串口 组合设备配置解析

    查阅网上的博客与代码,很多都是关于USB的鼠标配置、USB的键盘配置、USB的虚拟串口配置,稍微深入一点的会将鼠标键盘合在一起,但移植起来就会报很多错误,要么是检测不到,要么是警告,这很正常,因为不理解这些数字代表着什么。但只要理解每个数字代表什么意思,

    2024年02月13日
    浏览(46)
  • 【WIN10】PS/2 标准键盘鼠标带感叹号(代码10,39)(适用于红米G)

    今天在笔记本上杀毒,鼠标突然无了。不管怎么更新驱动都没法解决。 学着博主Auroratan的修护键盘的教程,终于把ps/2 鼠标修护了。 转这博客的目的是秉着一颗记录问题的心,如有冒犯,请联系,再次感谢Auroratan大神。 原文链接:http://blog.csdn.net/qq_34837137/article/details/522932

    2024年02月10日
    浏览(52)
  • [Win11]解决PS/2标准键盘带感叹号,笔记本键盘无法使用。代码19:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个

    I8042prt 实现了 I8042prt 服务,并 i8042prt.sys 了其可执行映像。 I8042prt 的功能包括: 与硬件相关,同时操作 PS/2 样式键盘和鼠标设备。 键盘和鼠标共享 i/o 端口,但使用不同的中断、中断服务例程 (ISR) 和 ISR 调度完成例程。 即插即用、电源管理和 WMI 旧设备的操作。 键盘类服务

    2023年04月25日
    浏览(257)
  • [oeasy]python0006_指法标准_键盘正位_你好世界_hello_world_单引号_双引号

    006_指法标准_键盘正位_你好世界_hello_world 上次 又进入了 python 又退出了 python 反复进入退出 恭喜您在终端里 存活 了下来! 键盘按键 作用 ↑ 上一条指令 ↓ 下一条指令 ← 向左移动光标一格 → 向右移动光标一格 编程 不都是 从 程序员的浪漫 开始吗??🤔 怎样才能 Hello

    2024年01月25日
    浏览(44)
  • Android 9.0 禁止usb键盘和usb鼠标挂载

    在9.0的系统产品开发中,对于系统中usb鼠标和usb键盘的等外设输入设备挂载处理,系统是在inputflinger模块中处理的,在产品的需求中对于外设输入设备的usb鼠标和usb键盘的挂载是禁用的,所以需要从挂载入手,禁止挂载usb鼠标和usb键盘 在android系统中是由各个子系统分工协作

    2024年02月09日
    浏览(47)
  • Android 13.0 通过驱动实现禁用usb鼠标和usb键盘功能

    在13.0的系统产品定制化开发中,在进行定制中有关于usb键盘和usb鼠标的需求中,产品要求禁止usb口挂载usb鼠标和usb键盘,所以需要要求在usb挂载类型的时候 判断如果是usb鼠标和usb键盘就不让挂载,这就需要从驱动方面入手来解决这个问题,接下来看下驱动的某些挂载usb的相

    2024年02月08日
    浏览(58)
  • Android 12.0 通过驱动实现禁用usb鼠标和usb键盘功能

    在12.0的系统产品定制化开发中,在进行定制中有关于usb键盘和usb鼠标的需求中,产品要求禁止usb口挂载usb鼠标和usb键盘,所以需要要求在usb挂载类型的时候 判断如果是usb鼠标和usb键盘就不让挂载,这就需要从驱动方面入手来解决这个问题,接下来看下驱动的某些挂载usb的相

    2024年02月08日
    浏览(114)
  • USB(键盘)流量分析

    hws2023的一道misc,没接触过,写一份博客,稍微带一点鼠标流量,自己做题收获,可能在某些情况仅适用本题 网上大部分讲USB协议数据在 Leftover Capture Data域 中,就这道题,以及目前已知少量博客显示, HID Data 域中也具有价值(USB URB里找有没有数据就行)。鼠标流量数据长度

    2024年02月06日
    浏览(38)
  • 树莓派4B 鼠标键盘不可用,USB3.0&&USB2.0失效

    1.将sd卡插入电脑,找到config.txt 2.添加3条,具体哪条,有机会再看 备注:由于更新系统出现的问题,无语中。。。。。。。。。

    2024年02月06日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包