4. 智慧鍵盤 (ikbd) 協議¶
4.1. 簡介¶
Atari Corp. 智慧鍵盤 (ikbd) 是一種通用的鍵盤控制器,它足夠靈活,無需修改即可用於各種產品。鍵盤及其微控制器為滑鼠和開關式操縱桿提供了方便的連線點。 ikbd 處理器還維護一個解析度為 1 秒的即時時鐘。 ikbd 的設計非常通用,可以與各種新的計算機產品一起使用。可以容納許多按鍵開關、滑鼠解析度等方面的產品差異。 ikbd 透過高速雙向序列介面與主處理器通訊。它可以以多種模式執行,以方便鍵盤、操縱桿或滑鼠的不同應用。透過仔細設計預設模式,可以在僅有單向通訊媒介的應用程式中有限地使用控制器。
4.2. 鍵盤¶
鍵盤始終返回按鍵按下/釋放掃描碼。 ikbd 為每次按鍵和釋放生成鍵盤掃描碼。按鍵掃描碼(按鍵閉合)從 1 開始,並在附錄 A 中定義。例如,即使特定鍵盤上該位置不存在按鍵開關,掃描碼錶中的 ISO 按鍵位置也應該存在。每個按鍵的釋放碼透過將 0x80 與按下碼進行 OR 運算獲得。
特殊程式碼 0xF6 到 0xFF 保留用於以下用途
程式碼 |
命令 |
|---|---|
0xF6 |
狀態報告 |
0xF7 |
絕對滑鼠位置記錄 |
0xF8-0xFB |
相對滑鼠位置記錄(最低有效位由滑鼠按鍵狀態決定) |
0xFC |
即時時鐘 |
0xFD |
操縱桿報告(兩個操縱桿) |
0xFE |
操縱桿 0 事件 |
0xFF |
操縱桿 1 事件 |
在此模式下,兩個 Shift 鍵返回不同的掃描碼。 ENTER 鍵和 RETurn 鍵也是不同的。
4.3. 滑鼠¶
滑鼠埠應該能夠支援解析度約為每英寸行程 200 個計數(相位變化或“點選”)的滑鼠。應該以允許在高達每秒 10 英寸的速度下進行精確跟蹤的速率掃描滑鼠。 ikbd 可以以三種截然不同的方式報告滑鼠移動。它可以報告相對運動、ikbd 內維護的座標系中的絕對運動,或者透過將滑鼠移動轉換為鍵盤游標控制鍵等效項。滑鼠按鍵可以被視為滑鼠的一部分或附加的鍵盤按鍵。
4.3.1. 相對位置報告¶
在相對位置模式下,當滑鼠事件發生時,ikbd 將返回相對滑鼠位置記錄。滑鼠事件包括按下或釋放滑鼠按鍵,或者任一軸上的運動超過可設定的運動閾值。無論閾值如何,所有解析度位都將返回給主機。請注意,ikbd 可能會返回明顯大於閾值 delta x 或 y 的滑鼠相對位置報告。這可能會發生,因為不會生成任何相對滑鼠運動事件:(a)當鍵盤“暫停”時(事件將被儲存直到鍵盤通訊恢復)(b)當任何事件正在傳輸時。
相對滑鼠位置記錄是一種三位元組記錄,形式如下(無論鍵盤模式如何)
%111110xy ; mouse position record flag
; where y is the right button state
; and x is the left button state
X ; delta x as twos complement integer
Y ; delta y as twos complement integer
請注意,即使 MOUSE BUTTON ACTION 已將按鍵設定為像鍵盤的一部分一樣工作,按鍵狀態位的值也應有效。如果報告資料包生成之前累積的運動超過 +127...-128 範圍,則運動將分解為多個數據包。 請注意,報告的 delta y 的符號是所選 Y 原點的函式。
4.3.2. 絕對位置報告¶
ikbd 還可以維護絕對滑鼠位置。存在用於重置滑鼠位置、設定 X/Y 縮放以及詢問當前滑鼠位置的命令。
4.3.3. 滑鼠游標鍵模式¶
ikbd 可以將滑鼠移動轉換為等效的游標按鍵。每個軸上每次擊鍵的滑鼠點選次數是獨立可程式設計的。 ikbd 在內部將滑鼠運動資訊維護到可用的最高解析度,並且僅為每個比例因子的倍數生成一對游標按鍵事件。滑鼠運動會產生游標按鍵按下程式碼,緊接著是相應游標按鍵的釋放程式碼。滑鼠按鍵會生成高於為最大設想的鍵盤正常分配的掃描碼(即 LEFT=0x74 & RIGHT=0x75)。
4.4. 操縱桿¶
4.4.1. 操縱桿事件報告¶
在此模式下,每當操縱桿位置改變時(即,每次開啟或關閉操縱桿開關或觸發器時),ikbd 都會生成一個記錄。
操縱桿事件記錄是兩個位元組,形式如下
%1111111x ; Joystick event marker
; where x is Joystick 0 or 1
%x000yyyy ; where yyyy is the stick position
; and x is the trigger
4.4.2. 操縱桿查詢¶
透過向 ikbd 傳送“查詢操縱桿”命令,可以在此模式下的任何時間查詢操縱桿埠的當前狀態。
ikbd 對操縱桿查詢的響應是三個位元組的報告,形式如下
0xFD ; joystick report header
%x000yyyy ; Joystick 0
%x000yyyy ; Joystick 1
; where x is the trigger
; and yyy is the stick position
4.4.3. 操縱桿監控¶
有一種模式可以將幾乎所有的鍵盤通訊時間都用於以使用者可指定速率報告操縱桿埠的狀態。它將保持在此模式,直到重置或命令進入另一種模式。此模式下的 PAUSE 命令不僅停止輸出,還暫時停止掃描操縱桿(不排隊取樣)。
4.4.5. 操縱桿鍵碼模式¶
可以命令 ikbd 將任一操縱桿的使用轉換為等效的游標控制按鍵。 ikbd 提供了一個單斷點速度操縱桿游標。操縱桿事件產生按下程式碼,緊接著是相應游標運動按鍵的釋放程式碼。操縱桿的觸發器或發射按鈕會產生高於最大設想的按鍵矩陣使用的偽按鍵掃描碼(即 JOYSTICK0=0x74, JOYSTICK1=0x75)。
4.5. 即時時鐘¶
ikbd 還維護系統的即時時鐘。可以使用命令來設定和查詢即時時鐘。時間保持維持到一秒的解析度。
4.6. 狀態查詢¶
可以透過傳送與 ikbd 設定命令對應的狀態查詢命令來查詢 ikbd 模式和引數的當前狀態。
4.7. 啟動模式¶
鍵盤控制器將在啟動時執行一個簡單的自檢,以檢測主要的控制器故障(ROM 校驗和和 RAM 測試)以及諸如卡住的按鍵之類的東西。啟動時按下的任何按鍵都假定為卡住,並返回其 BREAK(原文如此)程式碼(如果沒有前面的 MAKE 程式碼,則是鍵盤錯誤的標誌)。如果控制器自檢在沒有錯誤的情況下完成,則返回程式碼 0xF0。(此程式碼將用於指示 ikbd 控制器的版本/釋出。ikbd 的第一個版本是版本 0xF0,如果有第二個版本,它將是 0xF1,依此類推。)ikbd 預設為滑鼠位置報告,在任一軸上的閾值為 1 個單位,並且 Y=0 原點位於螢幕頂部,操縱桿 1 採用操縱桿事件報告模式,並且兩個按鍵都邏輯上分配給滑鼠。在任何操縱桿命令之後,ikbd 都假定操縱桿已連線到 Joystick0 和 Joystick1。然後,任何滑鼠命令(除了 MOUSE DISABLE)都會再次導致埠 0 被掃描,就像它是一個滑鼠一樣,並且兩個按鍵都邏輯上連線到它。如果在假定埠 0 是滑鼠時收到滑鼠停用命令,則該按鍵在邏輯上分配給 Joystick1(直到透過另一個滑鼠命令重新啟用滑鼠)。
4.8. ikbd 命令集¶
本節包含可以傳送到 ikbd 的命令列表。未指定的命令程式碼(例如 0x00)不應執行任何操作(NOP)。
4.8.1. RESET¶
0x80
0x01
注意:RESET 命令是 ikbd 唯一理解的兩位元組命令。除了 0x01 之外,任何跟在 0x80 命令位元組之後的位元組都會被忽略(並導致 0x80 被忽略)。也可以透過向 ikbd 傳送至少持續 200 毫秒的斷開來導致重置。執行 RESET 命令會將鍵盤恢復到其預設(啟動)模式和引數設定。它不影響即時時鐘。 RESET 命令或函式會導致 ikbd 執行一個簡單的自檢。如果測試成功,ikbd 將在收到 RESET 命令(或斷開結束,或啟動)後的 300 毫秒內傳送程式碼 0xF0。然後,ikbd 將掃描按鍵矩陣以查詢任何卡住(閉合)的按鍵。任何發現閉合的按鍵都會導致生成斷開掃描碼(沒有在按下程式碼之前的到達的斷開程式碼是按鍵矩陣錯誤的標誌)。
4.8.3. SET RELATIVE MOUSE POSITION REPORTING¶
0x08
設定相對滑鼠位置報告。(DEFAULT) 每當任一軸上的運動超過可設定的閾值(請參閱 SET MOUSE THRESHOLD)時,ikbd 非同步生成滑鼠位置資料包。根據滑鼠按鍵模式,當按下或釋放任一滑鼠按鍵時,也可能會生成滑鼠位置報告。否則,滑鼠按鍵的行為就像它們是鍵盤按鍵一樣。
4.8.4. SET ABSOLUTE MOUSE POSITIONING¶
0x09
XMSB ; X maximum (in scaled mouse clicks)
XLSB
YMSB ; Y maximum (in scaled mouse clicks)
YLSB
設定絕對滑鼠位置維護。重置 ikbd 維護的 X 和 Y 座標。在此模式下,內部維護的座標的值不會在 0 和較大的正數之間迴繞。低於 0 的過度運動將被忽略。該命令設定可以在縮放座標系中達到的最大正值。超出該值的運動也會被忽略。
4.8.5. SET MOUSE KEYCODE MODE¶
0x0A
deltax ; distance in X clicks to return (LEFT) or (RIGHT)
deltay ; distance in Y clicks to return (UP) or (DOWN)
設定滑鼠監控例程以返回游標運動鍵碼,而不是 RELATIVE 或 ABSOLUTE 運動記錄。在滑鼠行程超過任一軸上的使用者指定增量後,ikbd 將返回適當的游標鍵碼。當鍵盤處於按鍵掃描碼模式時,滑鼠運動將導致按下程式碼,緊接著是釋放程式碼。請注意,此命令不受滑鼠運動原點的影響。
4.8.6. SET MOUSE THRESHOLD¶
0x0B
X ; x threshold in mouse ticks (positive integers)
Y ; y threshold in mouse ticks (positive integers)
此命令設定在生成滑鼠事件之前的閾值。請注意,它不會影響返回給主機的資料的解析度。此命令僅在 RELATIVE MOUSE POSITIONING 模式下有效。閾值在 RESET(或啟動)時預設為 1。
4.8.7. SET MOUSE SCALE¶
0x0C
X ; horizontal mouse ticks per internal X
Y ; vertical mouse ticks per internal Y
此命令設定 ABSOLUTE MOUSE POSITIONING 模式的比例因子。在此模式下,必須發生指定數量的滑鼠相位變化(“點選”),然後內部維護的座標才會改變 1(每個軸獨立縮放)。請記住,除非已命令 ikbd 報告按鍵按下或釋放(請參閱 SET MOUSE BUTTON ACTION),否則只有透過在 ABSOLUTE MOUSE POSITIONING 模式下查詢 ikbd 才能獲得滑鼠位置資訊。
4.8.8. INTERROGATE MOUSE POSITION¶
0x0D
Returns:
0xF7 ; absolute mouse position header
BUTTONS
0000dcba ; where a is right button down since last interrogation
; b is right button up since last
; c is left button down since last
; d is left button up since last
XMSB ; X coordinate
XLSB
YMSB ; Y coordinate
YLSB
無論 MOUSE BUTTON ACTION 的設定如何,INTERROGATE MOUSE POSITION 命令在 ABSOLUTE MOUSE POSITIONING 模式下都有效。
4.8.9. LOAD MOUSE POSITION¶
0x0E
0x00 ; filler
XMSB ; X coordinate
XLSB ; (in scaled coordinate system)
YMSB ; Y coordinate
YLSB
此命令允許使用者預設內部維護的絕對滑鼠位置。
4.8.10. SET Y=0 AT BOTTOM¶
0x0F
對於所有相對或絕對滑鼠運動,此命令使 Y 軸的原點位於 ikbd 內部邏輯座標系的底部。這會導致朝向使用者的滑鼠運動在符號上為負,而遠離使用者的滑鼠運動在符號上為正。
4.8.11. SET Y=0 AT TOP¶
0x10
對於所有相對或絕對滑鼠運動,使 Y 軸的原點位於 ikbd 內部邏輯座標系的頂部。(DEFAULT)這會導致朝向使用者的滑鼠運動在符號上為正,而遠離使用者的滑鼠運動在符號上為負。
4.8.12. RESUME¶
0x11
恢復向主機發送資料。由於 ikbd 在其輸出已暫停後收到的任何命令也會導致隱式的 RESUME,因此可以將此命令視為 NO OPERATION 命令。如果 ikbd 收到此命令並且未 PAUSED,則會忽略該命令。
4.8.13. DISABLE MOUSE¶
0x12
停用所有滑鼠事件報告(並且掃描可能在內部被停用)。任何有效的滑鼠模式命令都會恢復滑鼠運動監控。(有效的滑鼠模式命令是 SET RELATIVE MOUSE POSITION REPORTING、SET ABSOLUTE MOUSE POSITIONING 和 SET MOUSE KEYCODE MODE。)注意:如果已命令滑鼠按鍵像鍵盤按鍵一樣工作,則此命令確實會影響它們的操作。
4.8.14. PAUSE OUTPUT¶
0x13
停止向主機發送資料,直到收到另一個有效命令。按鍵矩陣活動仍在監控中,並且掃描碼或 ASCII 字元已排隊(達到微控制器支援的最大值),以便在主機允許恢復輸出時傳送。如果在 JOYSTICK EVENT REPORTING 模式下,操縱桿事件也會排隊。滑鼠運動應在輸出暫停時累積。如果 ikbd 處於 RELATIVE MOUSE POSITIONING REPORTING 模式,則超出正常閾值限制的運動會被累積,以產生傳輸恢復輸出所需的最小資料包數。如果滑鼠處於 RELATIVE MOUSE POSITION REPORTING 模式,則按下或釋放任一滑鼠按鍵會導致任何累積的運動立即排隊為資料包。由於微控制器記憶體的限制,應謹慎使用此命令,並且輸出不應關閉超過 <待定> 毫秒的時間。輸出僅在當前“偶數”的末尾停止。如果在多位元組報告的中間收到 PAUSE OUTPUT 命令,資料包仍將被傳輸到結束,然後 PAUSE 將生效。當 ikbd 處於 JOYSTICK MONITORING 模式或 FIRE BUTTON MONITORING 模式時,PAUSE OUTPUT 命令也會暫時停止監控過程(即,不會將樣本排隊以便傳輸)。
4.8.15. SET JOYSTICK EVENT REPORTING¶
0x14
進入 JOYSTICK EVENT REPORTING 模式 (DEFAULT)。操縱桿開關或觸發器的每次開啟或關閉都會導致生成一個操縱桿事件記錄。
4.8.16. SET JOYSTICK INTERROGATION MODE¶
0x15
停用 JOYSTICK EVENT REPORTING。主機必須傳送單獨的 JOYSTICK INTERROGATE 命令來感知操縱桿狀態。
4.8.17. JOYSTICK INTERROGATE¶
0x16
返回一條記錄,指示操縱桿的當前狀態。此命令在 JOYSTICK EVENT REPORTING 模式或 JOYSTICK INTERROGATION MODE 下均有效。
4.8.18. SET JOYSTICK MONITORING¶
0x17
rate ; time between samples in hundredths of a second
Returns: (in packets of two as long as in mode)
%000000xy ; where y is JOYSTICK1 Fire button
; and x is JOYSTICK0 Fire button
%nnnnmmmm ; where m is JOYSTICK1 state
; and n is JOYSTICK0 state
設定 ikbd 為僅執行監控序列命令列、維護即時時鐘和監控操縱桿。速率設定操縱桿樣本之間的間隔。注意:使用者不應將速率設定得高於序列通訊通道允許傳輸 2 位元組資料包的速率。
4.8.20. SET JOYSTICK KEYCODE MODE¶
0x19
RX ; length of time (in tenths of seconds) until
; horizontal velocity breakpoint is reached
RY ; length of time (in tenths of seconds) until
; vertical velocity breakpoint is reached
TX ; length (in tenths of seconds) of joystick closure
; until horizontal cursor key is generated before RX
; has elapsed
TY ; length (in tenths of seconds) of joystick closure
; until vertical cursor key is generated before RY
; has elapsed
VX ; length (in tenths of seconds) of joystick closure
; until horizontal cursor keystrokes are generated
; after RX has elapsed
VY ; length (in tenths of seconds) of joystick closure
; until vertical cursor keystrokes are generated
; after RY has elapsed
在此模式下,掃描操縱桿 0 的方式會模擬游標按鍵。在初始閉合時,會生成一個按鍵對(按下/釋放)。然後在最多 Rn 十分之一秒後,每 Tn 十分之一秒生成按鍵對。在達到 Rn 斷點後,每 Vn 十分之一秒生成按鍵對。這提供了速度(自動重複)斷點功能。請注意,透過將 RX 和/或 Ry 設定為零,可以停用速度功能。然後 TX 和 TY 的值變得毫無意義,並且游標“按鍵”的生成由 VX 和 VY 設定。
4.8.21. DISABLE JOYSTICKS¶
0x1A
停用任何操縱桿事件的生成(並且掃描可能在內部被停用)。任何有效的操縱桿模式命令都會恢復操縱桿監控。(操縱桿模式命令是 SET JOYSTICK EVENT REPORTING、SET JOYSTICK INTERROGATION MODE、SET JOYSTICK MONITORING、SET FIRE BUTTON MONITORING 和 SET JOYSTICK KEYCODE MODE。)
4.8.22. TIME-OF-DAY CLOCK SET¶
0x1B
YY ; year (2 least significant digits)
MM ; month
DD ; day
hh ; hour
mm ; minute
ss ; second
所有即時資料都應以壓縮 BCD 格式傳送到 ikbd。任何不是有效 BCD 數字的數字都應被視為“無關緊要”,並且不會更改日期或時間的特定欄位。這允許僅設定即時時鐘的一些子欄位。
4.8.23. INTERROGATE TIME-OF-DAT CLOCK¶
0x1C
Returns:
0xFC ; time-of-day event header
YY ; year (2 least significant digits)
MM ; month
DD ; day
hh ; hour
mm ; minute
ss ; second
All time-of-day is sent in packed BCD format.
4.8.24. MEMORY LOAD¶
0x20
ADRMSB ; address in controller
ADRLSB ; memory to be loaded
NUM ; number of bytes (0-128)
{ data }
此命令允許主機將任意值載入到 ikbd 控制器記憶體中。資料位元組之間的時間必須小於 20 毫秒。
4.8.25. MEMORY READ¶
0x21
ADRMSB ; address in controller
ADRLSB ; memory to be read
Returns:
0xF6 ; status header
0x20 ; memory access
{ data } ; 6 data bytes starting at ADR
此命令允許主機從 ikbd 控制器記憶體中讀取。
4.8.26. CONTROLLER EXECUTE¶
0x22
ADRMSB ; address of subroutine in
ADRLSB ; controller memory to be called
此命令允許主機命令執行 ikbd 控制器記憶體中的子例程。
4.8.27. STATUS INQUIRIES¶
Status commands are formed by inclusively ORing 0x80 with the
relevant SET command.
Example:
0x88 (or 0x89 or 0x8A) ; request mouse mode
Returns:
0xF6 ; status response header
mode ; 0x08 is RELATIVE
; 0x09 is ABSOLUTE
; 0x0A is KEYCODE
param1 ; 0 is RELATIVE
; XMSB maximum if ABSOLUTE
; DELTA X is KEYCODE
param2 ; 0 is RELATIVE
; YMSB maximum if ABSOLUTE
; DELTA Y is KEYCODE
param3 ; 0 if RELATIVE
; or KEYCODE
; YMSB is ABSOLUTE
param4 ; 0 if RELATIVE
; or KEYCODE
; YLSB is ABSOLUTE
0 ; pad
0
STATUS INQUIRY 命令請求 ikbd 返回當前模式或與給定命令關聯的引數。所有狀態報告都填充為形成 8 位元組長的返回資料包。狀態請求的響應設計為,主機可以儲存它們(在剝離狀態報告標頭位元組之後),然後在稍後將它們傳送回 ikbd 以恢復其狀態。0 填充位元組將被 ikbd 視為 NOP。
有效的 STATUS INQUIRY 命令為
0x87 mouse button action 0x88 mouse mode 0x89 0x8A 0x8B mnouse threshold 0x8C mouse scale 0x8F mouse vertical coordinates 0x90 ( returns 0x0F Y=0 at bottom 0x10 Y=0 at top ) 0x92 mouse enable/disable ( returns 0x00 enabled) 0x12 disabled ) 0x94 joystick mode 0x95 0x96 0x9A joystick enable/disable ( returns 0x00 enabled 0x1A disabled )
程式設計師(主機)有責任一次只處理一個未完成的查詢。如果 ikbd 處於 JOYSTICK MONITORING 模式或 FIRE BUTTON MONITORING 模式,則 STATUS INQUIRY 命令無效。
4.9. 掃描碼¶
由 ikbd 返回的按鍵掃描碼經過選擇以簡化 GSX 的實現。
GSX 標準鍵盤對映
十六進位制 |
鍵帽 |
|---|---|
01 |
Esc |
02 |
1 |
03 |
2 |
04 |
3 |
05 |
4 |
06 |
5 |
07 |
6 |
08 |
7 |
09 |
8 |
0A |
9 |
0B |
0 |
0C |
- |
0D |
= |
0E |
BS |
0F |
TAB |
10 |
Q |
11 |
W |
12 |
E |
13 |
R |
14 |
T |
15 |
Y |
16 |
U |
17 |
I |
18 |
O |
19 |
P |
1A |
[ |
1B |
] |
1C |
RET |
1D |
CTRL |
1E |
A |
1F |
S |
20 |
D |
21 |
F |
22 |
G |
23 |
H |
24 |
J |
25 |
K |
26 |
L |
27 |
; |
28 |
‘ |
29 |
` |
2A |
(左)SHIFT |
2B |
\ |
2C |
Z |
2D |
X |
2E |
C |
2F |
V |
30 |
B |
31 |
N |
32 |
M |
33 |
, |
34 |
. |
35 |
/ |
36 |
(右)SHIFT |
37 |
{ 未使用 } |
38 |
ALT |
39 |
空格鍵 |
3A |
CAPS LOCK |
3B |
F1 |
3C |
F2 |
3D |
F3 |
3E |
F4 |
3F |
F5 |
40 |
F6 |
41 |
F7 |
42 |
F8 |
43 |
F9 |
44 |
F10 |
45 |
{ 未使用 } |
46 |
{ 未使用 } |
47 |
HOME (起始位置) |
48 |
UP ARROW (向上箭頭) |
49 |
{ 未使用 } |
4A |
KEYPAD - (小鍵盤 -) |
4B |
LEFT ARROW (向左箭頭) |
4C |
{ 未使用 } |
4D |
RIGHT ARROW (向右箭頭) |
4E |
KEYPAD + (小鍵盤 +) |
4F |
{ 未使用 } |
50 |
DOWN ARROW (向下箭頭) |
51 |
{ 未使用 } |
52 |
INSERT (插入) |
53 |
DEL (刪除) |
54 |
{ 未使用 } |
5F |
{ 未使用 } |
60 |
ISO KEY (ISO 鍵) |
61 |
UNDO (撤銷) |
62 |
HELP (幫助) |
63 |
KEYPAD ( (小鍵盤 ( |
64 |
KEYPAD / (小鍵盤 /) |
65 |
KEYPAD * (小鍵盤 *) |
66 |
KEYPAD * (小鍵盤 *) |
67 |
KEYPAD 7 (小鍵盤 7) |
68 |
KEYPAD 8 (小鍵盤 8) |
69 |
KEYPAD 9 (小鍵盤 9) |
6A |
KEYPAD 4 (小鍵盤 4) |
6B |
KEYPAD 5 (小鍵盤 5) |
6C |
KEYPAD 6 (小鍵盤 6) |
6D |
KEYPAD 1 (小鍵盤 1) |
6E |
KEYPAD 2 (小鍵盤 2) |
6F |
KEYPAD 3 (小鍵盤 3) |
70 |
KEYPAD 0 (小鍵盤 0) |
71 |
KEYPAD . (小鍵盤 .) |
72 |
KEYPAD ENTER (小鍵盤 Enter) |