鼠标发送给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 — 滚轮变化。
2、键盘报文

键盘发送给PC的数据每次8个字节
BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7 BYTE8
定义分别是:

BYTE0 –(0 = OFF,1 = ON,CONSTANT为保留位)
       |–bit0:   NUM LOCK
       |–bit1:   CAPS LOCK
       |–bit2:   SCROLL LOCK
       |–bit3:   COMPOSE
       |–bit4:   KANA
       |–bit5:   CONSTANT
       |–bit6:   CONSTANT  
       |–bit7:   CONSTANT
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 — 这六个为普通按键

/* 鼠标报文结构体 */ 
 struct mouseHID_t {
      uint8_t buttons;
      int8_t x;
      int8_t y;
      int8_t wheel;
  };
 
/* 发送鼠标报文(一直发送该报文,鼠标会水平向右移动) */
  struct mouseHID_t mouseHID;
  mouseHID.buttons = 0;
  mouseHID.x = 10;
  mouseHID.y = 0;
  mouseHID.wheel = 0;
  USBD_HID_SendReport(&hUsbDeviceFS, (uint8_t *)&mouseHID, sizeof(struct mouseHID_t));

 

————————————————
版权声明:本文为CSDN博主「不吃鱼的猫丿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/laifengyuan1/article/details/108243474

原文地址:http://www.cnblogs.com/hshy/p/16871783.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性