• USB鼠标键盘数据格式以及按键键值


    鼠标发送给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 -- 滚轮变化。 
    由于手上没有USB鼠标,对BYTE1的4-7位没有测试,对于BYTE2 BYTE3做个测试,BYTE1的4-7全为0的时候,BYTE2 BYTE3的正负表示鼠标移动方向 

    键盘发送给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 -- 这六个为普通按键 
    键盘经过测试。 
    例如:键盘发送一帧数据   02 00 0x04 0x05 00 00 00 00 
    表示同时按下了Left Shift + ‘a’+‘b’三个键 

    第一列10进制键值,第二列16进制键值,第四列是按键
     
    0 00 Reserved (no event indicated)9 N/A √ √ √ 4/101/104
    1 01 Keyboard ErrorRollOver9 N/A √ √ √ 4/101/104
    2 02 Keyboard POSTFail9 N/A √ √ √ 4/101/104
    3 03 Keyboard ErrorUndefined9 N/A √ √ √ 4/101/104
    4 04 Keyboard a and A4 31 √ √ √ 4/101/104
    5 05 Keyboard b and B 50 √ √ √ 4/101/104
    6 06 Keyboard c and C4 48 √ √ √ 4/101/104
    7 07 Keyboard d and D 33 √ √ √ 4/101/104
    8 08 Keyboard e and E 19 √ √ √ 4/101/104
    9 09 Keyboard f and F 34 √ √ √ 4/101/104
    10 0A Keyboard g and G 35 √ √ √ 4/101/104
    11 0B Keyboard h and H 36 √ √ √ 4/101/104
    12 0C Keyboard i and I 24 √ √ √ 4/101/104
    13 0D Keyboard j and J 37 √ √ √ 4/101/104
    14 0E Keyboard k and K 38 √ √ √ 4/101/104
    15 0F Keyboard l and L 39 √ √ √ 4/101/104
    16 10 Keyboard m and M4 52 √ √ √ 4/101/104
    17 11 Keyboard n and N 51 √ √ √ 4/101/104
    18 12 Keyboard o and O4 25 √ √ √ 4/101/104
    19 13 Keyboard p and P4 26 √ √ √ 4/101/104
    20 14 Keyboard q and Q4 17 √ √ √ 4/101/104
    21 15 Keyboard r and R 20 √ √ √ 4/101/104
    22 16 Keyboard s and S4 32 √ √ √ 4/101/104
    23 17 Keyboard t and T 21 √ √ √ 4/101/104
    24 18 Keyboard u and U 23 √ √ √ 4/101/104
    25 19 Keyboard v and V 49 √ √ √ 4/101/104
    26 1A Keyboard w and W4 18 √ √ √ 4/101/104
    27 1B Keyboard x and X4 47 √ √ √ 4/101/104
    28 1C Keyboard y and Y4 22 √ √ √ 4/101/104
    29 1D Keyboard z and Z4 46 √ √ √ 4/101/104
    30 1E Keyboard 1 and !4 2 √ √ √ 4/101/104
    31 1F Keyboard 2 and @4 3 √ √ √ 4/101/104
    32 20 Keyboard 3 and #4 4 √ √ √ 4/101/104
    33 21 Keyboard 4 and $4 5 √ √ √ 4/101/104
    34 22 Keyboard 5 and %4 6 √ √ √ 4/101/104
    35 23 Keyboard 6 and ^4 7 √ √ √ 4/101/104
    36 24 Keyboard 7 and &4 8 √ √ √ 4/101/104
    37 25 Keyboard 8 and *4 9 √ √ √ 4/101/104
    38 26 Keyboard 9 and (4 10 √ √ √ 4/101/104
    39 27 Keyboard 0 and )4 11 √ √ √ 4/101/104
    40 28 Keyboard Return (ENTER)5 43 √ √ √ 4/101/104
    41 29 Keyboard ESCAPE 110 √ √ √ 4/101/104
    42 2A Keyboard DELETE (Backspace)13 15 √ √ √ 4/101/104
    43 2B Keyboard Tab 16 √ √ √ 4/101/104
    44 2C Keyboard Spacebar 61 √ √ √ 4/101/104
    45 2D Keyboard - and (underscore)4 12 √ √ √ 4/101/104
    46 2E Keyboard = and +4 13 √ √ √ 4/101/104
    47 2F Keyboard [ and {4 27 √ √ √ 4/101/104
    48 30 Keyboard ] and }4 28 √ √ √ 4/101/104
    49 31 Keyboard  and | 29 √ √ √ 4/101/104
    50 32 Keyboard Non-US # and ~2 42 √ √ √ 4/101/104
    51 33 Keyboard ; and :4 40 √ √ √ 4/101/104
    52 34 Keyboard ‘ and “4 41 √ √ √ 4/101/104
    53 35 Keyboard Grave Accent and Tilde4 1 √ √ √ 4/101/104
    54 36 Keyboard, and <4 53 √ √ √ 4/101/104
    55 37 Keyboard . and >4 54 √ √ √ 4/101/104
    56 38 Keyboard / and ?4 55 √ √ √ 4/101/104
    57 39 Keyboard Caps Lock11 30 √ √ √ 4/101/104
    58 3A Keyboard F1 112 √ √ √ 4/101/104
    59 3B Keyboard F2 113 √ √ √ 4/101/104
    60 3C Keyboard F3 114 √ √ √ 4/101/104
    61 3D Keyboard F4 115 √ √ √ 4/101/104
    62 3E Keyboard F5 116 √ √ √ 4/101/104
    63 3F Keyboard F6 117 √ √ √ 4/101/104
    64 40 Keyboard F7 118 √ √ √ 4/101/104
    65 41 Keyboard F8 119 √ √ √ 4/101/104
    66 42 Keyboard F9 120 √ √ √ 4/101/104
    67 43 Keyboard F10 121 √ √ √ 4/101/104
    68 44 Keyboard F11 122 √ √ √ 101/104
    69 45 Keyboard F12 123 √ √ √ 101/104
    70 46 Keyboard PrintScreen1 124 √ √ √ 101/104
    71 47 Keyboard Scroll Lock11 125 √ √ √ 4/101/104
    72 48 Keyboard Pause1 126 √ √ √ 101/104
    73 49 Keyboard Insert1 75 √ √ √ 101/104
    74 4A Keyboard Home1 80 √ √ √ 101/104
    75 4B Keyboard PageUp1 85 √ √ √ 101/104
    76 4C Keyboard Delete Forward1;14 76 √ √ √ 101/104
    77 4D Keyboard End1 81 √ √ √ 101/104
    78 4E Keyboard PageDown1 86 √ √ √ 101/104
    79 4F Keyboard RightArrow1 89 √ √ √ 101/104
    80 50 Keyboard LeftArrow1 79 √ √ √ 101/104
    81 51 Keyboard DownArrow1 84 √ √ √ 101/104
    82 52 Keyboard UpArrow1 83 √ √ √ 101/104
    83 53 Keypad Num Lock and Clear11 90 √ √ √ 101/104
    84 54 Keypad /1 95 √ √ √ 101/104
    85 55 Keypad * 100 √ √ √ 4/101/104
    86 56 Keypad - 105 √ √ √ 4/101/104
    87 57 Keypad + 106 √ √ √ 4/101/104
    88 58 Keypad ENTER5 108 √ √ √ 101/104
    89 59 Keypad 1 and End 93 √ √ √ 4/101/104
    90 5A Keypad 2 and Down Arrow 98 √ √ √ 4/101/104
    91 5B Keypad 3 and PageDn 103 √ √ √ 4/101/104
    92 5C Keypad 4 and Left Arrow 92 √ √ √ 4/101/104
    93 5D Keypad 5 97 √ √ √ 4/101/104
    94 5E Keypad 6 and Right Arrow 102 √ √ √ 4/101/104
    95 5F Keypad 7 and Home 91 √ √ √ 4/101/104
    96 60 Keypad 8 and Up Arrow 96 √ √ √ 4/101/104
    97 61 Keypad 9 and PageUp 101 √ √ √ 4/101/104
    98 62 Keypad 0 and Insert 99 √ √ √ 4/101/104
    99 63 Keypad . and Delete 104 √ √ √ 4/101/104
    100 64 Keyboard Non-US  and |3;6 45 √ √ √ 4/101/104
    101 65 Keyboard Application10 129 √ √ 104
    102 66 Keyboard Power9 √ √
    103 67 Keypad =104 68 Keyboard F13 √
    105 69 Keyboard F14 √
    106 6A Keyboard F15 √
    107 6B Keyboard F16
    108 6C Keyboard F17
    109 6D Keyboard F18
    110 6E Keyboard F19
    111 6F Keyboard F20
    112 70 Keyboard F21
    113 71 Keyboard F22
    114 72 Keyboard F23
    115 73 Keyboard F24
    116 74 Keyboard Execute √
    117 75 Keyboard Help √
    118 76 Keyboard Menu √
    119 77 Keyboard Select √
    120 78 Keyboard Stop √
    121 79 Keyboard Again √
    122 7A Keyboard Undo √
    123 7B Keyboard Cut √
    124 7C Keyboard Copy √
    125 7D Keyboard Paste √
    126 7E Keyboard Find √
    127 7F Keyboard Mute √
    128 80 Keyboard Volume Up √
    129 81 Keyboard Volume Down √
    130 82 Keyboard Locking Caps Lock12 √
    131 83 Keyboard Locking Num Lock12 √
    132 84 Keyboard Locking Scroll Lock12 √
    133 85 Keypad Comma27 107
    134 86 Keypad Equal Sign29
    135 87 Keyboard International115,28 56
    136 88 Keyboard International216
    137 89 Keyboard International317
    138 8A Keyboard International418
    139 8B Keyboard International519
    140 8C Keyboard International620
    141 8D Keyboard International721
    142 8E Keyboard International822
    143 8F Keyboard International922
    144 90 Keyboard LANG125
    145 91 Keyboard LANG226
    146 92 Keyboard LANG330
    147 93 Keyboard LANG431
    148 94 Keyboard LANG532
    149 95 Keyboard LANG68
    150 96 Keyboard LANG78
    151 97 Keyboard LANG88
    152 98 Keyboard LANG98
    153 99 Keyboard Alternate Erase7
    154 9A Keyboard SysReq/Attention1
    155 9B Keyboard Cancel
    156 9C Keyboard Clear
    157 9D Keyboard Prior
    158 9E Keyboard Return
    159 9F Keyboard Separator
    160 A0 Keyboard Out
    161 A1 Keyboard Oper
    162 A2 Keyboard Clear/Again
    163 A3 Keyboard CrSel/Props
    164 A4 Keyboard ExSel
    165-175 A5-CF Reserved
    176 B0 Keypad 00
    177 B1 Keypad 000
    178 B2 Thousands Separator 33
    179 B3 Decimal Separator 33
    180 B4 Currency Unit 34
    181 B5 Currency Sub-unit 34
    182 B6 Keypad (
    183 B7 Keypad )
    184 B8 Keypad {
    185 B9 Keypad }
    186 BA Keypad Tab
    187 BB Keypad Backspace
    188 BC Keypad A
    189 BD Keypad B
    190 BE Keypad C
    191 BF Keypad D
    192 C0 Keypad E
    193 C1 Keypad F
    194 C2 Keypad XOR
    195 C3 Keypad ^
    196 C4 Keypad %
    197 C5 Keypad <
    198 C6 Keypad >
    199 C7 Keypad &
    200 C8 Keypad &&
    201 C9 Keypad |
    202 CA Keypad ||
    203 CB Keypad :
    204 CC Keypad #
    205 CD Keypad Space
    206 CE Keypad @
    207 CF Keypad !
    208 D0 Keypad Memory Store
    209 D1 Keypad Memory Recall
    210 D2 Keypad Memory Clear
    211 D3 Keypad Memory Add
    212 D4 Keypad Memory Subtract
    213 D5 Keypad Memory Multiply
    214 D6 Keypad Memory Divide
    215 D7 Keypad +/-
    216 D8 Keypad Clear
    217 D9 Keypad Clear Entry
    218 DA Keypad Binary
    219 DB Keypad Octal
    220 DC Keypad Decimal
    221 DD Keypad Hexadecimal
    222-223 DE-DF Reserved
    224 E0 Keyboard LeftControl 58 √ √ √ 4/101/104
    225 E1 Keyboard LeftShift 44 √ √ √ 4/101/104
    226 E2 Keyboard LeftAlt 60 √ √ √ 4/101/104
    227 E3 Keyboard Left GUI10;23 127 √ √ √ 104
    228 E4 Keyboard RightControl 64 √ √ √ 101/104
    229 E5 Keyboard RightShift 57 √ √ √ 4/101/104
    230 E6 Keyboard RightAlt 62 √ √ √ 101/104
    231 E7 Keyboard Right GUI10;24 128 √ √ √ 104
    232-65535 E8-FFFF Reserved

     点击链接加入群聊【西安电子开发交流群】:https://jq.qq.com/?_wv=1027&k=5MjknoT

    <a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=b198731df64742fda8d6948036eb6fd199b1994bb010f2362402c78cd3169c0d"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="西安电子开发交流群" title="西安电子开发交流群"></a>

  • 相关阅读:
    java基础--13.Regex正则表达式
    java基础面试题12--Integer--自动拆装箱
    java基础面试题11--String--最大公共子串
    笔记本wif模块接线备忘
    windows环境下gcc/g++ 编译器 乱码问题解决
    转轮加密机 加解密 (C语言实现)
    windbg
    windows 内核调试
    python源码编译(嵌入式)
    Android studio
  • 原文地址:https://www.cnblogs.com/guyandianzi/p/9882644.html
Copyright © 2020-2023  润新知