日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

键盘扫描码(表格)

發布時間:2025/6/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 键盘扫描码(表格) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載: http://www.mouseos.com/os/doc/scan_code.html

當按下一鍵時,產生 mark 碼,產生一次 IRQ1 中斷。

放開鍵時,產生 break 碼,產生一次 IRQ1 中斷。

因此:當按下 A 鍵放開,實際上產生了兩次 IRQ1 中斷

break 是 mark 碼的 bit7 置 1 得來,也就是: break = mark + 0x80

?

1、scan code 集

這里只說一般日常應用中的鍵盤碼集 set 2(有 set 1、set 2 以及 set 3)

  • 基本 scan code:絕大多數 scan code 是 1 byte 的。
  • 擴展 scan code:由?e0e1?或?e2?引導
  • 特殊的 PrintScreen/SysRq 鍵:e0 2a e0 37
  • 物殊的 Pause/Break 鍵:e1 1d 45 e1 9d c5

?

?

2、小鍵盤 scan code 表

keymark(Hex)break(Hex)描述
NumLock45c5break = mark + 0x80
/e0 35e0 b5由 e0 引導出 extend scan code
*37b7break = mark + 0x80
-4aca同上
7/Home47c7同上
8/Up48c8同上
9/PgUp49c9同上
4/Left4bcb同上
54ccc同上
6/Right4dcd同上
1/End4fcf同上
2/Down50d0同上
3/PgDn51d1同上
0/Ins52d2同上
./Del53d3同上
+4ece同上
Entere0 1ce0 9cextend scan code

小鍵盤中的 <home><Up><PgUp><Left><Right><End><Down><PgDn><Ins><Del> 由 NumLock 按下后再按得來。

因此,會產生一個 <NumLock> mark 碼后,再產生上述的 mark 碼。 釋放 <NumLock> 又產生一個 break 碼。

?

3、附加鍵 scan code 表

keymark(Hex)break(Hex)描述
PrintScreen/SysRqe0 2a e0 37e0 b7 e0 aaextend scan code
Scroll Lock46c6同上
Pause/Breake1 1d 45 e1 9d c5*同上
Inserte0 52e0 d2同上
Homee0 47e0 c7同上
Page Upe0 49e0 c9同上
Deletee0 53e0 d3同上
Ende0 4fe0 cf同上
Page Downe0 51e0 d1同上
lefte0 46e0 c6同上
righte0 4de0 cd同上
upe0 48e0 c8同上
downe0 50e0 d0同上

抱歉:我對 PrintScreen/SysRq 和 Pause/Break 的理解未透徹。在這不便講解。

如果您知道,請留言賜教。

?

?

4、功能鍵 scan code 表

keymark(Hex)break(Hex)描述
<esc>0181scan code
F13bbb同上
F23cbc同上
F33dbd同上
F43ebe同上
F53fbf同上
F640c0同上
F741c1同上
F842c2同上
F943c3同上
F1044c4同上
F1157d7同上
F1258d8同上

?

?

5、主鍵盤 scan code 表

keymarkbreakkeymarkbreakkeymarkbreakkeymarkbreak
~/·29a9<tab>0f8f<scapslock>3aba<L-shift>2aaa
!/10282q1090a1e9ez2cac
@/20383w1191s1f9fx2dad
#/30484e1212d20a0c2eae
$/40585r1393f21a1v2faf
%/50686t1494g22a2b30b0
^/60787y1595h23a3n31b1
&/70888u1696j24a4m32b2
*/80989i1797k25a5</,33b3
(/90a8ao1898l26a6>/.34b4
)/00b8bp1999:/;27a7?//35b5
_/-0c8c{/[1a9a"/'28a8<R-shift>36b6
+/=0d8d}/]1b9b<Enter>1c9c<L-ctrl>1d9d
|/\2bab??????<L-alt>38b8
<backspace>0e8e??????<space>39b9
?????????<R-alt>e0 38e0 b8
?????????<R-ctrl>e0 1de0 9d

若輸入字符“ABCD”有兩種方法

(1)按下 <CapsLock> 鍵后,再輸入 abcd 鍵,再按 <CapsLock> 鍵

這樣會產生一個 <CapsLock> 鍵 mark 和 break 碼,然后依次是 abcd 的 mark 和 break 碼, 最后是 <CapsLock> 的 mark 和 break 碼

?

(2)按著 <L-shift> 或 <R-shift> 不放,再按 abcd 鍵,再放開 <L-shift> 或 <R-shift> 鍵

這樣會產生一個 <L-shift> 或 <R-shift> 鍵的 mark 碼,然后依次是 abcd 的 mark 和 break 碼,最后是一個 <L-shift> 或 <R-shift> 鍵的 break 碼

?

總結

以上是生活随笔為你收集整理的键盘扫描码(表格)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。