zoukankan      html  css  js  c++  java
  • usb的hid鼠标键盘报告描述符(五)


    title: usb的hid鼠标键盘报告描述符
    tags: linux
    date: 2018/12/20/ 18:05:08
    toc: true

    usb的hid鼠标键盘报告描述符

    https://blog.csdn.net/xqhrs232/article/details/79184272

    鼠标

    鼠标发送给PC的数据每次4个字节
    BYTE1 BYTE2 BYTE3 BYTE4
    定义分别是:
    BYTE1 --
    ​ |--bit7: 1 表示 Y 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出
    ​ |--bit6: 1 表示 X 坐标的变化量超出-256 ~ 255的范围,0表示没有溢出
    ​ |--bit5: Y 坐标变化的符号位,1表示负数,即鼠标向下移动
    ​ |--bit4: X 坐标变化的符号位,1表示负数,即鼠标向左移动
    ​ |--bit3: 恒为1
    ​ |--bit2: 1表示中键按下
    ​ |--bit1: 1表示右键按下
    ​ |--bit0: 1表示左键按下
    BYTE2 -- X坐标变化量,与byte的bit4组成9位符号数,负数表示向左移,正数表右移。用补码表示变化量
    BYTE3 -- Y坐标变化量,与byte的bit5组成9位符号数,负数表示向下移,正数表上移。用补码表示变化量
    BYTE4 -- 滚轮变化。

    键盘

    这个在Device Class Definition for Human Interface Devices (HID)8.3 Report Format for Array Items中描述

    键盘发送给PC的数据每次8个字节
    BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7 BYTE8
    定义分别是:
    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 -- 这六个为普通按键

  • 相关阅读:
    Unity---游戏设计模式(6)之策略模式
    Unity---游戏设计模式(5)之桥接模式
    Unity---游戏设计模式(3)之单例模式
    ThinkPHP钩子和行为
    如何理解ThinkPHP框架里的依赖注入
    MySql读写分离实现
    PHP 微服务集群搭建
    详解MySQL的主从复制、读写分离、备份恢复
    索引差异
    nginx高可用
  • 原文地址:https://www.cnblogs.com/zongzi10010/p/10155333.html
Copyright © 2011-2022 走看看