鍵盤設備

Android 支援多種鍵盤設備,包括特殊功能鍵盤(音量和電源控制)、緊湊型嵌入式 QWERTY 鍵盤以及功能齊全的 PC 式外部鍵盤。

本文檔僅描述實體鍵盤。有關軟鍵盤(輸入法編輯器)的信息,請參閱 Android SDK。

鍵盤分類

如果滿足以下任一條件,則輸入裝置被歸類為鍵盤:

  • 輸入裝置報告鍵盤上使用的任何 Linux 鍵碼的存在,包括00xffKEY_OKKEY_MAX

  • 輸入裝置報告操縱桿和遊戲手把上使用的任何 Linux 按鍵代碼的存在,包括BTN_0BTN_9BTN_TRIGGERBTN_DEADBTN_ABTN_THUMBR

操縱桿目前被歸類為鍵盤,因為EV_KEY事件報告操縱桿和遊戲手把按鈕的方式與報告鍵盤按鍵的方式相同。因此,操縱桿和遊戲手把也利用按鍵映射檔進行配置。

一旦輸入裝置被分類為鍵盤,系統就會載入輸入裝置設定檔和鍵盤的鍵盤佈局。

然後系統嘗試確定設備的其他特徵。

  • 如果輸入裝置具有映射到KEYCODE_Q的任何鍵,則該裝置被視為具有字母鍵盤(而不是數字鍵盤)。字母鍵盤功能在資源Configuration物件中報告為KEYBOARD_QWERTY

  • 如果輸入裝置具有對應到KEYCODE_DPAD_UPKEYCODE_DPAD_DOWNKEYCODE_DPAD_LEFTKEYCODE_DPAD_RIGHTKEYCODE_DPAD_CENTER的任何鍵(全部都必須存在),則該裝置被視為具有方向鍵盤。方向鍵盤功能在資源Configuration物件中報告為NAVIGATION_DPAD

  • 如果輸入裝置具有任何對應到KEYCODE_BUTTON_A或其他遊戲手把相關按鍵的按鍵,則該裝置被視為具有遊戲手把。

鍵盤驅動程式要求

  1. 鍵盤驅動程式應該只註冊它們實際支援的按鍵的按鍵代碼。註冊過多的鍵代碼可能會混淆設備分類演算法或導致系統錯誤地檢測設備支援的鍵盤功能。

  2. 鍵盤驅動程式應使用EV_KEY來報告按鍵按下情況,使用值0表示按鍵被釋放,值為1表示按鍵被按下,值大於或等於2表示按鍵被按下自動重複。

  3. Android 執行自己的鍵盤重複操作。應在驅動程式中停用自動重複功能。

  4. 鍵盤驅動程式可以選擇透過發送帶有MSC_SCANCODE EV_MSC以及指示按下按鍵時的用途或掃描代碼的值來指示 HID 用途或低階掃描代碼。 Android 目前未使用此資訊。

  5. EV_LED寫入裝置時,鍵盤驅動程式應支援設定 LED 狀態。 hid-input驅動程式會自動處理此問題。在撰寫本文時,Android 使用LED_CAPSLOCKLED_SCROLLLOCKLED_NUMLOCK 。僅當鍵盤實際具有相關指示燈時才需要支援這些 LED。

  6. 嵌入式鍵盤的鍵盤驅動程式(例如,使用 GPIO 矩陣)應確保為裝置即將休眠時仍按下的任何鍵發送值為0EV_KEY事件。否則按鍵可能會卡住並永遠自動重複。

鍵盤操作

下面簡單總結Android上的鍵盤操作。

  1. EventHubevdev驅動程式讀取原始事件,並使用鍵盤的按鍵佈局圖將 Linux 按鍵代碼(有時稱為掃描代碼)對應到 Android 按鍵代碼。

  2. InputReader使用原始事件並更新元鍵狀態。例如,如果按下或釋放左移鍵,閱讀器將相應地設定或重設META_SHIFT_LEFT_ONMETA_SHIFT_ON位。

  3. InputReader通知InputDispatcher有關按鍵事件的資訊。

  4. InputDispatcher透過呼叫WindowManagerPolicy.interceptKeyBeforeQueueing詢問WindowManagerPolicy如何處理按鍵事件。此方法是關鍵路徑的一部分,負責在按下某些按鍵時喚醒裝置。 EventHub有效地沿著這條關鍵路徑持有喚醒鎖定,以確保它將運作完成。

  5. 如果目前正在使用InputFilter ,則InputDispatcher會為其提供使用或轉換鍵的機會。 InputFilter可用於實現低階系統範圍的可存取性策略。

  6. InputDispatcher將鍵放入佇列以便在調度執行緒上進行處理。

  7. InputDispatcher將鍵入隊伍時,它會透過呼叫WindowManagerPolicy.interceptKeyBeforeDispatchingWindowManagerPolicy提供第二次攔截按鍵事件的機會。此方法處理系統捷徑和其他功能。

  8. 然後, InputDispatcher識別關鍵事件目標(聚焦視窗)並等待它們準備好。然後, InputDispatcher將按鍵事件傳遞給應用程式。

  9. 在應用程式內部,按鍵事件沿著視圖層次結構傳播到焦點視圖,以進行預 IME 按鍵調度。

  10. 如果在預 IME 調度中未處理按鍵事件且 IME 正在使用,則按鍵事件將傳遞到 IME。

  11. 如果 IME 未使用按鍵事件,則按鍵事件將沿著視圖層次結構向下傳播到焦點視圖以進行標準按鍵調度。

  12. 應用程式向InputDispatcher報告按鍵事件是否已被消耗。如果事件沒有被消耗, InputDispatcher呼叫WindowManagerPolicy.dispatchUnhandledKey來套用「後備」行為。根據回退操作,可以使用不同的鍵代碼重新啟動鍵事件調度週期。例如,如果應用程式不處理KEYCODE_ESCAPE ,系統可能會將按鍵事件重新分派為KEYCODE_BACK

鍵盤配置

鍵盤行為由鍵盤的按鍵佈局、按鍵字元映射和輸入裝置配置決定。

有關參與鍵盤配置的文件的更多詳細信息,請參閱以下部分:

特性

以下輸入設備配置屬性用於鍵盤。

鍵盤佈局

定義: keyboard.layout = <姓名>

指定與輸入設備關聯的按鍵佈局檔的名稱,不包括.kl副檔名。如果找不到該文件,輸入系統將使用預設的按鍵佈局。

名稱中的空格在查找過程中會轉換為底線。

有關更多詳細信息,請參閱按鍵佈局文件文檔。

鍵盤.字元映射表

定義: keyboard.characterMap = <名稱>

指定與輸入裝置關聯的按鍵字元對映檔案的名稱,不包含.kcm副檔名。如果找不到該文件,輸入系統將使用預設的鍵字元對應表。

名稱中的空格在查找過程中會轉換為底線。

有關更多詳細信息,請參閱按鍵字元映射文件文檔。

鍵盤方向感知

定義: keyboard.orientationAware = 0 | 1

指定鍵盤是否應對顯示方向變更做出反應。

  • 如果值為1 ,則當關聯的顯示方向變更時,方向鍵盤按鍵將旋轉。

  • 如果值為0 ,鍵盤不受顯示方向變化的影響。

預設值為0

方向感知用於支援方向鍵盤按鍵的旋轉,例如在摩托羅拉 Droid 上。例如,當裝置從其自然方向順時針旋轉 90 度時, KEYCODE_DPAD_UP會重新映射以產生KEYCODE_DPAD_RIGHT ,因為當裝置保持在該方向時,「向上」鍵最終會指向「右」。

鍵盤內建

定義: keyboard.builtIn = 0 | 1

指定鍵盤是否為內建(實體連接)鍵盤。

如果裝置名稱以-keypad結尾,則預設值為1 ,否則為0

內建鍵盤始終分配的裝置 ID 為0 。其他非內建鍵盤被分配唯一的非零設備 ID。

對內建鍵盤使用 id 0對於保持與KeyCharacterMap.BUILT_IN_KEYBOARD欄位的相容性非常重要,該欄位指定內建鍵盤的 id 且值為0 。該欄位已在 API 中棄用,但較舊的應用程式可能仍在使用它。

無論此屬性如何設置,特殊功能鍵盤(其鍵字元映射指定SPECIAL_FUNCTION類型的鍵盤)都永遠不會註冊為內建鍵盤。這是因為根據定義,特殊功能鍵盤不適合用於通用打字。

配置範例

# This is an example input device configuration file for a built-in
# keyboard that has a DPad.

# The keyboard is internal because it is part of the device.
device.internal = 1

# The keyboard is the default built-in keyboard so it should be assigned
# an id of 0.
keyboard.builtIn = 1

# The keyboard includes a DPad which is mounted on the device.  As the device
# is rotated the orientation of the DPad rotates along with it, so the DPad must
# be aware of the display orientation.  This ensures that pressing 'up' on the
# DPad always means 'up' from the perspective of the user, even when the entire
# device has been rotated.
keyboard.orientationAware = 1

相容性說明

在 Honeycomb 之前,鍵盤輸入映射器不會使用任何配置屬性。假設所有鍵盤都是物理連接的並且具有方向意識。預設的按鍵佈局和按鍵字元映射被命名為qwerty而不是Generic 。鍵字元映射格式也有很大不同,框架不支援 PC 風格的全鍵盤或外部鍵盤。

將裝置升級至 Honeycomb 時,請確保建立或更新必要的設定和鍵映射檔案。

HID 用法、Linux 金鑰代碼和 Android 金鑰代碼

系統根據抽象層使用幾個不同的標識符來引用密鑰。

對於 HID 設備,每個金鑰都有一個關聯的 HID 用途。 Linux hid-input驅動程式以及相關供應商和裝置特定的 HID 驅動程式負責解析 HID 報告並將 HID 用法對應到 Linux 關鍵程式碼。

Android 從 Linux 核心讀取EV_KEY事件時,會根據裝置的按鍵佈局檔案將每個 Linux 按鍵程式碼翻譯成對應的 Android 按鍵程式碼。

當按鍵事件被分派到應用程式時, android.view.KeyEvent實例將 Linux 按鍵程式碼報告為getScanCode()的值,將 Android 按鍵程式碼報告為getKeyCode()的值。就框架而言,只有getKeyCode()的值很重要。

請注意,HID 使用資訊不會被 Android 本身使用或傳遞給應用程式。

代碼表

下表顯示了 HID 用法、Linux 金鑰代碼和 Android 金鑰代碼之間的相互關係。

LKC 欄位指定十六進位的 Linux 金鑰代碼。

AKC 欄位指定十六進位的 Android 金鑰代碼。

註釋列是指在表格之後發布的註釋。

版本列指定在其預設鍵映射中包含此鍵的 Android 平台的第一個版本。如果預設鍵映射在版本之間發生更改,則會顯示多行。指示的最舊版本是 1.6。

  • 在 Gingerbread (2.3) 及更早版本中,預設鍵映射是qwerty.kl 。此按鍵映射僅適用於 Android 模擬器,並不適用於支援任意外部鍵盤。儘管如此,一些 OEM 仍為平台添加了藍牙鍵盤支持,並依靠qwerty.kl提供必要的鍵盤映射。因此,為這些特定設備建造週邊設備的 OEM 可能會對這些舊映射感興趣。請注意,這些映射與目前的映射有很大不同,特別是在HOME鍵的處理方面。建議所有新週邊設備均根據 Honeycomb 或更新的按鍵映射(即標準 HID)進行開發。

  • 從 Honeycomb (3.0) 開始,預設鍵映射是Generic.kl 。此鍵映射旨在支援完整的 PC 風格鍵盤。標準 HID 鍵盤的大多數功能應該開箱即可使用。

關鍵程式碼映射可能因 Linux 核心和 Android 版本而異。當已知 Android 預設鍵映射中發生變更時,它們會在版本列中指示。

裝置特定的 HID 驅動程式和按鍵映射可能會套用與此處所示不同的映射。

HID 鍵盤與小鍵盤頁面 (0x07)

HID 使用HID 使用名稱LKC Linux 按鍵程式碼名稱版本AKC Android 按鍵代碼名稱筆記
0x07 0x0001鍵盤錯誤翻轉
0x07 0x0002鍵盤開機自我檢測失敗
0x07 0x0003鍵盤錯誤未定義
0x07 0x0004鍵盤a和A 0x001e KEY_A 1.6 0x001d KEYCODE_A 1
0x07 0x0005鍵盤b和B 0x0030 KEY_B 1.6 0x001e KEYCODE_B 1
0x07 0x0006鍵盤 C 和 C 0x002e KEY_C 1.6 0x001f KEYCODE_C 1
0x07 0x0007鍵盤 d 和 D 0x0020 KEY_D 1.6 0x0020 KEYCODE_D 1
0x07 0x0008鍵盤 e 和 E 0x0012 KEY_E 1.6 0x0021 KEYCODE_E 1
0x07 0x0009鍵盤 f 和 F 0x0021 KEY_F 1.6 0x0022 KEYCODE_F 1
0x07 0x000a鍵盤 g 和 G 0x0022 KEY_G 1.6 0x0023 KEYCODE_G 1
0x07 0x000b鍵盤 h 和 H 0x0023 KEY_H 1.6 0x0024 KEYCODE_H 1
0x07 0x000c鍵盤我和我0x0017 KEY_I 1.6 0x0025 KEYCODE_I 1
0x07 0x000d鍵盤 j 和 J 0x0024 KEY_J 1.6 0x0026 KEYCODE_J 1
0x07 0x000e鍵盤 k 和 K 0x0025 KEY_K 1.6 0x0027 KEYCODE_K 1
0x07 0x000f鍵盤 L 和 L 0x0026 KEY_L 1.6 0x0028 KEYCODE_L 1
0x07 0x0010鍵盤 m 和 M 0x0032 KEY_M 1.6 0x0029 KEYCODE_M 1
0x07 0x0011鍵盤 n 和 N 0x0031 KEY_N 1.6 0x002a KEYCODE_N 1
0x07 0x0012鍵盤 o 和 O 0x0018 KEY_O 1.6 0x002b KEYCODE_O 1
0x07 0x0013鍵盤 p 和 P 0x0019 KEY_P 1.6 0x002c KEYCODE_P 1
0x07 0x0014鍵盤 q 和 Q 0x0010 KEY_Q 1.6 0x002d KEYCODE_Q 1
0x07 0x0015鍵盤 r 和 R 0x0013按鍵_R 1.6 0x002e KEYCODE_R 1
0x07 0x0016鍵盤S和S 0x001f KEY_S 1.6 0x002f KEYCODE_S 1
0x07 0x0017鍵盤 t 和 T 0x0014 KEY_T 1.6 0x0030 KEYCODE_T 1
0x07 0x0018鍵盤 u 和 U 0x0016 KEY_U 1.6 0x0031 KEYCODE_U 1
0x07 0x0019鍵盤 v 和 V 0x002f KEY_V 1.6 0x0032 KEYCODE_V 1
0x07 0x001a鍵盤 w 和 W 0x0011 KEY_W 1.6 0x0033 KEYCODE_W 1
0x07 0x001b鍵盤 x 和 X 0x002d KEY_X 1.6 0x0034 KEYCODE_X 1
0x07 0x001c鍵盤 y 和 Y 0x0015 KEY_Y 1.6 0x0035 KEYCODE_Y 1
0x07 0x001d鍵盤 z 和 Z 0x002c KEY_Z 1.6 0x0036 KEYCODE_Z 1
0x07 0x001e鍵盤 1 和 ! 0x0002 KEY_1 1.6 0x0008 KEYCODE_1 1
0x07 0x001f鍵盤 2 和 @ 0x0003 KEY_2 1.6 0x0009 KEYCODE_2 1
0x07 0x0020鍵盤 3 和 # 0x0004 KEY_3 1.6 0x000a KEYCODE_3 1
0x07 0x0021鍵盤 4 和 $ 0x0005 KEY_4 1.6 0x000b KEYCODE_4 1
0x07 0x0022鍵盤 5 和 % 0x0006 KEY_5 1.6 0x000c KEYCODE_5 1
0x07 0x0023鍵盤 6 和 ^ 0x0007 KEY_6 1.6 0x000d KEYCODE_6 1
0x07 0x0024鍵盤 7 和 & 0x0008 KEY_7 1.6 0x000e KEYCODE_7 1
0x07 0x0025鍵盤 8 和 * 0x0009 KEY_8 1.6 0x000f KEYCODE_8 1
0x07 0x0026鍵盤 9 和 ( 0x000a KEY_9 1.6 0x0010 KEYCODE_9 1
0x07 0x0027鍵盤 0 和 ) 0x000b KEY_0 1.6 0x0007 KEYCODE_0 1
0x07 0x0028鍵盤回車 (ENTER) 0x001c KEY_ENTER 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029鍵盤轉義0x0001 KEY_ESC 3.0 0x006f KEYCODE_ESCAPE
”” ”” ”” ”” 2.3 0x0004 KEYCODE_BACK
0x07 0x002a鍵盤刪除(退格鍵) 0x000e KEY_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b鍵盤選項卡0x000f鍵標籤1.6 0x003d KEYCODE_TAB
0x07 0x002c鍵盤空白鍵0x0039 KEY_SPACE 1.6 0x003e KEYCODE_SPACE
0x07 0x002d鍵盤 - 和 _ 0x000c KEY_MINUS 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e鍵盤 = 和 + 0x000d KEY_EQUAL 1.6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f鍵盤 [ 和 { 0x001a KEY_左大括號1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030鍵盤] 和 } 0x001b KEY_右大括號1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031鍵盤\和| 0x002b KEY_反斜杠1.6 0x0049 KEYCODE_反斜線1
0x07 0x0032非美國鍵盤 # 和 ~ 0x002b KEY_反斜杠1.6 0x0049 KEYCODE_反斜線1
0x07 0x0033鍵盤 ;和 : 0x0027 KEY_分號1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034鍵盤 ' 和 ' 0x0028 KEY_撇號1.6 0x004b KEYCODE_撇號1
0x07 0x0035鍵盤 ` 和 ~ 0x0029 KEY_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036鍵盤 和 < 0x0033 KEY_逗號1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037鍵盤 。和> 0x0034 KEY_DOT 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038鍵盤 / 和 ? 0x0035 KEY_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039鍵盤大寫鎖定0x003a KEY_CAPSLOCK 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a鍵盤 F1 0x003b KEY_F1 3.0 0x0083 KEYCODE_F1
”” ”” ”” ”” 1.6 0x0052 KEYCODE_MENU
0x07 0x003b鍵盤 F2 0x003c KEY_F2 3.0 0x0084 KEYCODE_F2
”” ”” ”” ”” 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c鍵盤 F3 0x003d KEY_F3 3.0 0x0085 KEYCODE_F3
”” ”” ”” ”” 1.6 0x0005 KEYCODE_CALL
0x07 0x003d鍵盤 F4 0x003e KEY_F4 3.0 0x0086 KEYCODE_F4
”” ”” ”” ”” 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x003e鍵盤 F5 0x003f KEY_F5 3.0 0x0087 KEYCODE_F5
0x07 0x003f鍵盤 F6 0x0040 KEY_F6 3.0 0x0088 KEYCODE_F6
0x07 0x0040鍵盤 F7 0x0041 KEY_F7 3.0 0x0089 KEYCODE_F7
0x07 0x0041鍵盤 F8 0x0042 KEY_F8 3.0 0x008a KEYCODE_F8
0x07 0x0042鍵盤 F9 0x0043 KEY_F9 3.0 0x008b KEYCODE_F9
0x07 0x0043鍵盤 F10 0x0044 KEY_F10 3.0 0x008c KEYCODE_F10
”” ”” ”” ”” 2.3 0x0052 KEYCODE_MENU
0x07 0x0044鍵盤 F11 0x0057 KEY_F11 3.0 0x008d KEYCODE_F11
0x07 0x0045鍵盤 F12 0x0058 KEY_F12 3.0 0x008e KEYCODE_F12
0x07 0x0046鍵盤列印螢幕0x0063 KEY_SYSRQ 3.0 0x0078 KEYCODE_SYSRQ
0x07 0x0047鍵盤滾動鎖定0x0046 KEY_SCROLLLOCK 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048鍵盤暫停0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x07 0x0049鍵盤插入0x006e KEY_INSERT 3.0 0x007c KEYCODE_INSERT
0x07 0x004a鍵盤首頁0x0066 KEY_HOME 3.0 0x007a KEYCODE_MOVE_HOME
”” ”” ”” ”” 1.6 0x0003 KEYCODE_HOME
0x07 0x004b鍵盤向上翻頁0x0068 KEY_PAGEUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c鍵盤刪除轉發0x006f KEY_DELETE 3.0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d鍵盤端0x006b KEY_END 3.0 0x007b KEYCODE_MOVE_END
”” ”” ”” ”” 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x004e鍵盤向下翻頁0x006d KEY_PAGEDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f鍵盤右箭頭0x006a KEY_RIGHT 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050鍵盤向左箭頭0x0069左鍵1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051鍵盤向下箭頭0x006c按鍵_向下1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052鍵盤向上箭頭0x0067按鍵_UP 1.6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053鍵盤數字鎖定和清除0x0045 KEY_NUMLOCK 3.0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054鍵盤 / 0x0062 KEY_KPSLASH 3.0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055鍵盤 * 0x0037 KEY_KPASTERISK 3.0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056鍵盤 - 0x004a KEY_KPMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057鍵盤+ 0x004e KEY_KPPLUS 3.0 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058鍵盤輸入0x0060 KEY_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059鍵盤 1 和結束0x004f KEY_KP1 3.0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a小鍵盤 2 和向下箭頭0x0050 KEY_KP2 3.0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b小鍵盤 3 和 PageDn 0x0051 KEY_KP3 3.0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c小鍵盤 4 和向左箭頭0x004b KEY_KP4 3.0 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d鍵盤5 0x004c KEY_KP5 3.0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e小鍵盤 6 和右箭頭0x004d KEY_KP6 3.0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f小鍵盤 7 和首頁0x0047 KEY_KP7 3.0 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060小鍵盤 8 和向上箭頭0x0048 KEY_KP8 3.0 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061小鍵盤 9 和 Page Up 0x0049 KEY_KP9 3.0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062鍵盤 0 和插入0x0052 KEY_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063鍵盤。並刪除0x0053 KEY_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064鍵盤非美國 \ 和 | 0x0056 KEY_102ND 4.0 0x0049 KEYCODE_反斜線1
0x07 0x0065鍵盤應用0x007f KEY_COMPOSE 3.0 0x0052 KEYCODE_MENU
”” ”” ”” ”” 1.6 0x0054 KEYCODE_SEARCH
0x07 0x0066鍵盤電源0x0074按鍵電源1.6 0x001a KEYCODE_POWER
0x07 0x0067鍵盤 = 0x0075 KEY_KPEQUAL 3.0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068鍵盤 F13 0x00b7 KEY_F13
0x07 0x0069鍵盤 F14 0x00b8 KEY_F14
0x07 0x006a鍵盤 F15 0x00b9 KEY_F15
0x07 0x006b鍵盤 F16 0x00ba KEY_F16
0x07 0x006c鍵盤 F17 0x00bb KEY_F17
0x07 0x006d鍵盤 F18 0x00BC KEY_F18
0x07 0x006e鍵盤 F19 0x00bd KEY_F19
0x07 0x006f鍵盤 F20 0x00be KEY_F20
0x07 0x0070鍵盤 F21 0x00bf KEY_F21
0x07 0x0071鍵盤 F22 0x00c0 KEY_F22
0x07 0x0072鍵盤 F23 0x00c1 KEY_F23
0x07 0x0073鍵盤 F24 0x00c2 KEY_F24
0x07 0x0074鍵盤執行0x0086 KEY_OPEN
0x07 0x0075鍵盤幫助0x008a關鍵幫助
0x07 0x0076鍵盤選單0x0082 KEY_PROPS
0x07 0x0077鍵盤選擇0x0084 KEY_FRONT
0x07 0x0078鍵盤停止0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079再次鍵盤0x0081 KEY_AGAIN
0x07 0x007a鍵盤撤銷0x0083 KEY_UNDO
0x07 0x007b鍵盤剪切0x0089 KEY_CUT
0x07 0x007c鍵盤複製0x0085 KEY_COPY
0x07 0x007d鍵盤貼上0x0087 KEY_貼上
0x07 0x007e鍵盤尋找0x0088 KEY_FIND
0x07 0x007f鍵盤靜音0x0071按鍵靜音3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080鍵盤音量調高0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081鍵盤音量調低0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082鍵盤鎖定大寫鎖定
0x07 0x0083鍵盤鎖定數字鎖定
0x07 0x0084鍵盤鎖定滾動鎖
0x07 0x0085鍵盤逗號0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086鍵盤等號
0x07 0x0087鍵盤國際1 0x0059 KEY_RO
0x07 0x0088鍵盤國際2 0x005d KEY_片假名平假名
0x07 0x0089鍵盤國際3 0x007c KEY_YEN
0x07 0x008a鍵盤國際4 0x005c KEY_HENKAN
0x07 0x008b鍵盤國際5 0x005e KEY_MUHENKAN
0x07 0x008c鍵盤國際6 0x005f KEY_KPJP逗號
0x07 0x008d鍵盤國際7
0x07 0x008e鍵盤國際8
0x07 0x008f鍵盤國際9
0x07 0x0090鍵盤語言1 0x007a KEY_韓文
0x07 0x0091鍵盤語言2 0x007b KEY_漢字
0x07 0x0092鍵盤 LANG3 0x005a KEY_片假名
0x07 0x0093鍵盤 LANG4 0x005b KEY_平假名
0x07 0x0094鍵盤 LANG5 0x0055 KEY_全角半角
0x07 0x0095鍵盤 LANG6
0x07 0x0096鍵盤 LANG7
0x07 0x0097鍵盤 LANG8
0x07 0x0098鍵盤 LANG9
0x07 0x0099鍵盤交替擦除
0x07 0x009a鍵盤系統請求/注意
0x07 0x009b鍵盤取消
0x07 0x009c鍵盤清除
0x07 0x009d鍵盤優先
0x07 0x009e鍵盤回車
0x07 0x009f鍵盤分隔符
0x07 0x00a0鍵盤輸出
0x07 0x00a1鍵盤操作
0x07 0x00a2鍵盤清除/再次
0x07 0x00a3鍵盤CrSel/道具
0x07 0x00a4鍵盤ExSel
0x07 0x00b0鍵盤 00
0x07 0x00b1鍵盤000
0x07 0x00b2千位分隔符
0x07 0x00b3小數點分隔符
0x07 0x00b4貨幣單位
0x07 0x00b5貨幣子單位
0x07 0x00b6鍵盤( 0x00b3 KEY_KPLEFPAREN 3.0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7鍵盤) 0x00b4 KEY_KPRIGHTPAREN 3.0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8鍵盤 {
0x07 0x00b9鍵盤 }
0x07 0x00ba鍵盤選項卡
0x07 0x00bb鍵盤退格鍵
0x07 0x00BC鍵盤A
0x07 0x00bd鍵盤B
0x07 0x00be鍵盤C
0x07 0x00bf鍵盤D
0x07 0x00c0鍵盤 E
0x07 0x00c1鍵盤 F
0x07 0x00c2鍵盤異或
0x07 0x00c3鍵盤 ^
0x07 0x00c4鍵盤%
0x07 0x00c5鍵盤 <
0x07 0x00c6鍵盤 >
0x07 0x00c7鍵盤 &
0x07 0x00c8鍵盤&&
0x07 0x00c9鍵盤|
0x07 0x00ca鍵盤 ||
0x07 0x00cb鍵盤:
0x07 0x00cc鍵盤#
0x07 0x00cd鍵盤空間
0x07 0x00ce鍵盤@
0x07 0x00cf鍵盤!
0x07 0x00d0鍵盤內存存儲
0x07 0x00d1鍵盤記憶調用
0x07 0x00d2鍵盤記憶體清除
0x07 0x00d3鍵盤記憶體添加
0x07 0x00d4鍵盤內存減法
0x07 0x00d5鍵盤記憶體倍增
0x07 0x00d6鍵盤記憶體劃分
0x07 0x00d7鍵盤+/-
0x07 0x00d8鍵盤清除
0x07 0x00d9鍵盤清晰輸入
0x07 0x00da鍵盤二進位
0x07 0x00db鍵盤八進位
0x07 0x00dc鍵盤十進位
0x07 0x00dd鍵盤十六進位
0x07 0x00e0鍵盤左控制0x001d KEY_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1鍵盤左移0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2鍵盤左 Alt 0x0038 KEY_LEFTALT 1.6 0x0039 KEYCODE_ALT_LEFT
0x07 0x00e3鍵盤左側 GUI 0x007d KEY_LEFTMETA 3.0 0x0075 KEYCODE_META_LEFT
0x07 0x00e4鍵盤右鍵控制0x0061 KEY_RIGHTCTRL 3.0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5鍵盤右移0x0036 KEY_RIGHTSHIFT 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6鍵盤右 Alt 0x0064 KEY_RIGHTALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7鍵盤右 GUI 0x007e KEY_RIGHT元數據3.0 0x0076 KEYCODE_META_RIGHT
0x07 0x00e8 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x07 0x00e9 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00ea 0x00a5 KEY_上一曲3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x07 0x00ed 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x00ee 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x00ef 0x0071按鍵靜音3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e鍵返回1.6 0x0004 KEYCODE_BACK
0x07 0x00f2 0x009f KEY_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 KEY_FIND
0x07 0x00f5 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 KEY_SCROLLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 KEY_EDIT
0x07 0x00f8 0x008e KEY_SLEEP
0x07 0x00f9 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00廣告KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

HID 通用桌面頁面 (0x01)

HID 使用HID 使用名稱LKC Linux 按鍵程式碼名稱版本AKC Android 按鍵代碼名稱筆記
0x01 0x0081系統斷電0x0074按鍵電源1.6 0x001a KEYCODE_POWER
0x01 0x0082系統睡眠0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x01 0x0083系統喚醒0x008f按鍵喚醒4.0 0x001a KEYCODE_POWER
0x01 0x0084系統內容選單
0x01 0x0085系統主選單
0x01 0x0086系統應用程式選單
0x01 0x0087系統選單幫助
0x01 0x0088系統選單退出
0x01 0x0089系統選單選擇
0x01 0x008a系統選單右側
0x01 0x008b系統選單左
0x01 0x008c系統選單向上
0x01 0x008d系統選單向下
0x01 0x008e系統冷重啟
0x01 0x008f系統熱啟動
0x01 0x00a0系統塢站
0x01 0x00a1系統取消對接
0x01 0x00a2系統設定
0x01 0x00a3系統崩潰
0x01 0x00a4系統調試器中斷
0x01 0x00a5申請中斷
0x01 0x00a6應用程式調試器中斷
0x01 0x00a7系統揚聲器靜音
0x01 0x00a8系統休眠
0x01 0x00b0系統顯示反轉
0x01 0x00b1系統顯示內部
0x01 0x00b2系統外部顯示
0x01 0x00b3系統顯示兩者
0x01 0x00b4系統顯示雙
0x01 0x00b5系統顯示切換內部/外部
0x01 0x00b6系統顯示交換主/秒
0x01 0x00b7系統顯示器 LCD 自動縮放

HID 消費者頁面 (0x0c)

HID 使用HID 使用名稱LKC Linux 按鍵程式碼名稱版本AKC Android 按鍵代碼名稱筆記
0x0c 0x0030力量
0x0c 0x0031重置
0x0c 0x0032睡覺
0x0c 0x0033之後睡覺
0x0c 0x0034睡眠模式0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x0c 0x0040選單0x008b KEY_MENU 1.6 0x0052 KEYCODE_MENU
0x0c 0x0041選單選擇
0x0c 0x0042菜單向上
0x0c 0x0043選單向下
0x0c 0x0044左側選單
0x0c 0x0045右側選單0x0181 KEY_RIGHT
0x0c 0x0046選單退出
0x0c 0x0047菜單價值增加
0x0c 0x0048選單值減少
0x0c 0x0067畫中畫切換0x00ab KEYCODE_WINDOW加入aosp/1365553
0x0c 0x0069紅色選單按鈕0x18e KEY_RED 0x00b7 KEYCODE_PROG_RED加入aosp/1388616
0x0c 0x006a綠色選單按鈕0x18f KEY_綠色0x00b8 KEYCODE_PROG_GREEN加入aosp/1388616
0x0c 0x006b藍色選單按鈕0x191 KEY_BLUE 0x00ba KEYCODE_PROG_BLUE加入aosp/1388616
0x0c 0x006c黃色選單按鈕0x190 KEY_YELLOW 0x00b9 KEYCODE_PROG_YELLOW加入aosp/1388616
0x0c 0x0081分配選擇
0x0c 0x0082模式步長
0x0c 0x0083回憶最後一次0x0195 KEY_LAST 0xe5 KEYCODE_LAST_CHANNEL加入aosp/1365551
0x0c 0x0084進入頻道
0x0c 0x0085訂購電影
0x0c 0x0088媒體選擇計算機0x0178 KEY_PC
0x0c 0x0089媒體選擇電視0x0179 KEY_TV 3.0 0x00aa KEYCODE_TV
0x0c 0x008a媒體選擇WWW 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b媒體選擇 DVD 0x0185 KEY_DVD
0x0c 0x008c媒體選擇電話0x00a9 KEY_PHONE 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d媒體選擇節目指南0x016a KEY_PROGRAM 3.0 0x00ac KEYCODE_GUIDE
0x0c 0x008e媒體選擇視訊電話0x01a0 KEY_VIDEOPHONE
0x0c 0x008f媒體選擇遊戲0x01a1關鍵遊戲
0x0c 0x0090媒體選擇訊息0x018c KEY_MEMO
0x0c 0x0091媒體選擇 CD 0x017f KEY_CD
0x0c 0x0092媒體選擇錄影機0x017b KEY_VCR
0x0c 0x0093媒體選擇調諧器0x0182 KEY_TUNER
0x0c 0x0094辭職0x00ae KEY_EXIT
0x0c 0x0095幫助0x008a關鍵幫助
0x0c 0x0096媒體選擇磁帶0x0180鑰匙帶
0x0c 0x0097媒體選擇電纜0x017a KEY_TV2
0x0c 0x0098媒體選擇衛星0x017d KEY_SAT
0x0c 0x0099媒體選擇安全
0x0c 0x009a媒體選擇首頁0x016e KEY_PVR 3.0 0x00廣告KEYCODE_DVR
0x0c 0x0061隱藏式字幕0x0172 KEY_SUBTITLE 0x00af KEYCODE_CAPTIONS加入aosp/1365552
0x0c 0x009c頻道增量0x0192 KEY_CHANNELUP 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d通道遞減0x0193 KEY_CHANNELDOWN 3.0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e媒體選擇 SAP
0x0c 0x00a0錄影機加0x017c KEY_VCR2
0x0c 0x00a1一次
0x0c 0x00a2日常的
0x0c 0x00a3每週
0x0c 0x00a4每月
0x0c 0x00b00x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1暫停0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2記錄0x00a7按鍵記錄3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3快轉0x00d0 KEY_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4倒帶0x00a8 KEY_REWIND 3.0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5掃描下一首曲目0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6掃描上一曲目0x00a5 KEY_上一曲3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7停止0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8噴射0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9隨機播放
0x0c 0x00ba選擇光碟
0x0c 0x00bb輸入光碟
0x0c 0x00bc重複0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00be正常軌道
0x0c 0x00c0幀轉發
0x0c 0x00c1框架背面
0x0c 0x00c2標記
0x0c 0x00c3清除標記
0x0c 0x00c4重複標記
0x0c 0x00c5返回馬克
0x0c 0x00c6向前搜尋標記
0x0c 0x00c7向後搜尋標記
0x0c 0x00c8計數器重置
0x0c 0x00c9展示櫃檯
0x0c 0x00ca追蹤增量
0x0c 0x00cb追蹤減量
0x0c 0x00cc停止/彈出
0x0c 0x00cd播放/暫停0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce播放/跳過
0x0c 0x00e2沉默的0x0071按鍵靜音3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5低音增強0x00d1 KEY_BASSBOOST
0x0c 0x00e6環繞模式
0x0c 0x00e7響度
0x0c 0x00e8 MPX
0x0c 0x00e9體積增量0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea體積減少0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x0c 0x0173交替音訊增量0x00de KEYCODE_MEDIA_AUDIO_TRACK加入aosp/1365554
0x0c 0x0181 AL 啟動按鈕配置。工具
0x0c 0x0182 AL 可編程按鈕配置。 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 AL 消費者控製配置。 0x00ab按鍵配置4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 AL 文字處理器0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 AL 文字編輯器0x01a6 KEY_EDITOR
0x0c 0x0186 AL 試算表0x01a7 KEY_電子表格
0x0c 0x0187 AL 圖形編輯器0x01a8 KEY_Graphic編輯器
0x0c 0x0188 AL 演示應用程式0x01a9關鍵演示
0x0c 0x0189 AL 資料庫應用程式0x01aa KEY_DATABASE
0x0c 0x018a AL 電子郵件閱讀器0x009b KEY_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b AL新聞閱讀器0x01ab KEY_新聞
0x0c 0x018c AL 語音信箱0x01ac KEY_VOICEMAIL
0x0c 0x018d AL 聯絡人/地址簿0x01廣告KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_聯絡人
0x0c 0x018e AL 日曆/時間表0x018d KEY_CALENDAR 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f AL 任務/專案經理
0x0c 0x0190 AL 日誌/日誌/考勤卡
0x0c 0x0191 AL 支票簿/財務0x00db KEY_FINANCE
0x0c 0x0192 AL計算機0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR
0x0c 0x0193 AL A/V 捕捉/回放
0x0c 0x0194 AL 本機電腦瀏覽器0x0090密鑰檔案
0x0c 0x0195 AL LAN/WAN 瀏覽器
0x0c 0x0196 AL 網路瀏覽器0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL 遠端網路/ISP 連接
0x0c 0x0198 AL網路會議
0x0c 0x0199 AL 網路聊天0x00d8 KEY_CHAT
0x0c 0x019a AL 電話/撥號器
0x0c 0x019b AL登入
0x0c 0x019c AL 註銷0x01b1 KEY_註銷
0x0c 0x019d AL 登入/登出
0x0c 0x019e AL 終端鎖定/螢幕保護程式0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x0c 0x019f AL控制面板
0x0c 0x01a0 AL 命令列處理器/運行
0x0c 0x01a1 AL 行程/工作管理員
0x0c 0x01a2 AL 選擇任務/應用程式
0x0c 0x01a3 AL 下一個任務/申請
0x0c 0x01a4 AL 前的任務/申請
0x0c 0x01a5 AL 搶先停止任務/應用程式。
0x0c 0x01a6 AL 綜合幫助中心0x008a關鍵幫助
0x0c 0x01a7 AL 檔案0x00eb關鍵文件
0x0c 0x01a8 AL 同義詞庫
0x0c 0x01a9 AL字典
0x0c 0x01aa AL桌面
0x0c 0x01ab AL 拼字檢查0x01b0 KEY_拼字檢查
0x0c 0x01ac AL 語法檢查
0x0c 0x01ad AL 無線狀態
0x0c 0x01ae AL 鍵盤佈局
0x0c 0x01af AL病毒防護
0x0c 0x01b0 AL加密
0x0c 0x01b1 AL 螢幕保護程式
0x0c 0x01b2 AL 警報
0x0c 0x01b3 AL時鐘
0x0c 0x01b4 AL 文件瀏覽器
0x0c 0x01b5 AL 電源狀態
0x0c 0x01b6 AL圖像瀏覽器0x00e2 KEY_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 AL 音訊瀏覽器0x00d5按鍵聲音4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 AL 電影瀏覽器
0x0c 0x01b9 AL 數位版權管理器
0x0c 0x01ba AL數位錢包
0x0c 0x01bc AL即時通訊0x01ae KEY_MESSENGER
0x0c 0x01bd AL OEM 功能/提示瀏覽器0x0166關鍵訊息
0x0c 0x01be AL OEM 幫助
0x0c 0x01bf AL 網路社群
0x0c 0x01c0 AL 娛樂內容瀏覽器
0x0c 0x01c1 AL 線上購物瀏覽器
0x0c 0x01c2 AL 智慧卡資訊/幫助
0x0c 0x01c3 AL 市場/金融瀏覽器
0x0c 0x01c4 AL 客製化公司新聞瀏覽器
0x0c 0x01c5 AL 線上活動瀏覽器
0x0c 0x01c6 AL Research / 搜尋瀏覽器
0x0c 0x01c7 AL 音訊播放器
0x0c 0x0201交流新0x00b5 KEY_NEW
0x0c 0x0202交流開路0x0086 KEY_OPEN
0x0c 0x0203交流關閉0x00ce KEY_CLOSE
0x0c 0x0204交流電退出0x00ae KEY_EXIT
0x0c 0x0205交流電最大化
0x0c 0x0206交流最小化
0x0c 0x0207交流保存0x00ea按鍵儲存
0x0c 0x0208交流列印0x00d2按鍵_列印
0x0c 0x0209交流特性0x0082 KEY_PROPS
0x0c 0x021a交流撤銷0x0083 KEY_UNDO
0x0C 0x021b交流副本0x0085 key_copy
0x0c 0x021c AC切割0x0089 key_cut
0x0c 0x021d AC糊0x0087 key_paste
0x0c 0x021e交流選擇全部
0x0c 0x021f AC找0x0088 key_find
0x0C 0x0220交流查找並更換
0x0C 0x0221交流搜尋0x00D9 key_search 1.6 0x0054 KeyCode_search
0x0C 0x0222交流去0x0162 key_goto
0x0C 0x0223交流電0x00ac key_homepage 3.0 0x0003 keycode_home
0x0C 0x0224交流0x009e key_back 1.6 0x0004 KeyCode_back
0x0C 0x0225交流向前0x009f key_forward 3.0 0x007d KeyCode_forward
0x0C 0x0226交流停止0x0080 key_stop 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0C 0x0227交流刷新0x00AD key_refresh
0x0C 0x0228交流以前的連結
0x0C 0x0229交流下一個連結
0x0C 0x022a交流書籤0x009c key_bookmarks 3.0 0x00ae KeyCode_bookmark
0x0C 0x022b交流歷史
0x0c 0x022c交流訂閱
0x0c 0x022d交流放大0x01a2 key_zoomin
0x0c 0x022e交流縮小0x01a3 key_zoomout
0x0c 0x022f交流變焦0x01a4 key_zoomerset 2
0x0C 0x0230交流全螢幕視圖
0x0C 0x0231交流正常視圖
0x0C 0x0232交流視圖切換
0x0C 0x0233交流滾動0x00b1 key_scrollup 3.0 0x005c keycode_page_up
0x0C 0x0234 AC向下捲動0x00b2 key_scrolldown 3.0 0x005d keycode_page_down
0x0C 0x0236 AC鍋左
0x0C 0x0237 AC鍋右
0x0C 0x0239交流新視窗
0x0C 0x023a水平磁磚
0x0c 0x023b交流瓷磚垂直
0x0c 0x023c交流格式
0x0c 0x023d交流編輯
0x0c 0x023e溝通大膽
0x0c 0x023f AC斜體
0x0C 0x0240 AC底線
0x0C 0x0241交流罷工
0x0C 0x0242 AC下標
0x0C 0x0243交流上標
0x0C 0x0244 AC所有帽子
0x0C 0x0245交流旋轉
0x0C 0x0246 AC調整大小
0x0C 0x0247 AC翻轉水平
0x0C 0x0248交流翻轉垂直
0x0C 0x0249交流鏡水平
0x0C 0x024a交流鏡垂直
0x0C 0x024b AC字體選擇
0x0c 0x024c交流字體顏色
0x0c 0x024d交流字體大小
0x0c 0x024e AC左右合理
0x0c 0x024f交流證明中心h
0x0C 0x0250交流證明正確
0x0C 0x0251 AC AD證明塊H
0x0C 0x0252 AC證明頂部是合理的
0x0C 0x0253 AC合理中心V
0x0C 0x0254交流證明底部是合理的
0x0C 0x0255交流塊V
0x0C 0x0256交流縮減減少
0x0C 0x0257交流縮排
0x0C 0x0258交流編號列表
0x0C 0x0259 AC RISTART編號
0x0c 0x025a溝通項目符號
0x0C 0x025b AC促進
0x0c 0x025c AC Demote
0x0c 0x025d交流電 是
0x0C 0x025e空調編號
0x0c 0x025f AC取消0x00df key_cancel
0x0C 0x0260交流目錄
0x0C 0x0261交流購買 /結帳
0x0C 0x0262交流加入購物車
0x0C 0x0263交流擴充
0x0C 0x0264交流擴展全部
0x0C 0x0265交流崩潰
0x0C 0x0266交流崩潰
0x0C 0x0267交流列印預覽
0x0C 0x0268 AC糊特別
0x0C 0x0269交流插入模式
0x0C 0x026a AC刪除
0x0C 0x026b一個鐘
0x0c 0x026c AC解鎖
0x0c 0x026d交流保護
0x0C 0x026e AC無保護
0x0c 0x026f交流附加評論
0x0C 0x0270 AC刪除評論
0x0C 0x0271交流查看評論
0x0C 0x0272交流選擇單字
0x0C 0x0273交流選擇句子
0x0C 0x0274交流選擇段落
0x0C 0x0275交流選擇列
0x0C 0x0276交流選擇行
0x0C 0x0277交流選擇表
0x0C 0x0278交流選擇對象
0x0C 0x0279交流重做 /重複0x00b6 key_redo
0x0C 0x027a交流排序
0x0C 0x027b交流排序上升
0x0c 0x027c交流排序下降
0x0c 0x027d交流濾網
0x0c 0x027e交流設定時鐘
0x0c 0x027f交流查看時鐘
0x0C 0x0280交流選擇時區
0x0C 0x0281交流編輯時區
0x0C 0x0282交流設定警報
0x0C 0x0283交流清除警報
0x0C 0x0284交流貪睡警報
0x0C 0x0285交流重設警報
0x0C 0x0286交流同步
0x0C 0x0287交流發送/接收
0x0C 0x0288交流發送
0x0C 0x0289交流回覆0x00E8 key_reply
0x0c 0x028a交流答覆全部
0x0c 0x028b AC前向味精0x00E9 key_forwardmail
0x0c 0x028c交流發送0x00E7 key_send
0x0c 0x028d交流附加文件
0x0c 0x028e交流上傳
0x0c 0x028f AC下載(將目標儲存為)
0x0C 0x0290交流固定邊界
0x0C 0x0291交流插入行
0x0C 0x0292交流插入柱
0x0C 0x0293交流插入文件
0x0C 0x0294交流插入圖片
0x0C 0x0295交流插入對象
0x0C 0x0296交流插入符號
0x0C 0x0297交流保存並關閉
0x0C 0x0298 AC重命名
0x0C 0x0299交流合併
0x0C 0x029a交流分裂
0x0C 0x029b交流水平分佈
0x0c 0x029c AC垂直分發

其他非HID映射

這些映射描述了沒有出現在HID中但存在Linux密鑰代碼的功能。

LKC Linux金鑰代碼名稱版本AKC Android密鑰代碼名稱筆記
0x01d0 key_fn 3.0 0x0077 KeyCode_function
0x01d1 key_fn_esc 3.0 0x006f KeyCode_escape 3
0x01d2 key_fn_f1 3.0 0x0083 keycode_f1 3
0x01d3 key_fn_f2 3.0 0x0084 KeyCode_f2 3
0x01d4 key_fn_f3 3.0 0x0085 KeyCode_f3 3
0x01d5 key_fn_f4 3.0 0x0086 KeyCode_f4 3
0x01d6 key_fn_f5 3.0 0x0087 keycode_f5 3
0x01d7 key_fn_f6 3.0 0x0088 KeyCode_f6 3
0x01d8 key_fn_f7 3.0 0x0089 KeyCode_f7 3
0x01d9 key_fn_f8 3.0 0x008a KeyCode_f8 3
0x01da key_fn_f9 3.0 0x008b KeyCode_f9 3
0x01db key_fn_f10 3.0 0x008c keycode_f10 3
0x01dc key_fn_f11 3.0 0x008d KeyCode_f11 3
0x01dd key_fn_f12 3.0 0x008e keycode_f12 3
0x01de key_fn_1 3.0 0x0008 KeyCode_1 3
0x01df key_fn_2 3.0 0x0009 KeyCode_2 3
0x01E0 key_fn_d 3.0 0x0020 KeyCode_d 3
0x01E1 key_fn_e 3.0 0x0021 KeyCode_e 3
0x01E2 key_fn_f 3.0 0x0022 keycode_f 3
0x01E3 key_fn_s 3.0 0x002f KeyCode_s 3
0x01E4 key_fn_b 3.0 0x001e keycode_b 3

遺產不支持的鑰匙

這些映射出現在先前的Android版本中,但與HID或使用非標準Linux密鑰代碼不一致。他們不再得到支持。

LKC Linux金鑰代碼名稱版本AKC Android密鑰代碼名稱筆記
0x00dB key_email 1.6 0x004d keycode_at 4
”” ”” 4.0 4
0x00E3 key_star 1.6 0x0011 keycode_star 4
”” ”” 4.0 4
0x00E4 key_sharp 1.6 0x0012 keycode_pound 4
”” ”” 4.0 4
0x00E5 key_soft1 1.6 0x0052 KeyCode_menu 4
”” ”” 4.0 4
0x00E6 key_soft2 1.6 0x0002 keycode_soft_right 4
”” ”” 4.0 4
0x00E7 key_send 1.6 0x0005 keycode_call 4
”” ”” 4.0 4
0x00E8 key_center 1.6 0x0017 keycode_dpad_center 4
”” ”” 4.0 4
0x00E9 key_headsethook 1.6 0x004f keycode_headsethook 4
”” ”” 4.0 4
0x00ea key_0_5 1.6 4
0x00EB key_2_5 1.6 4

筆記

  1. 與常見字母數字和符號鍵關聯的Android鍵代碼可能會根據鍵盤佈局和語言而變化。由於歷史原因,即使在這些鍵上列印的標籤可能會因一種語言而異,即使在鍵盤上與金鑰相關的實體掃描程式碼和隱藏用法通常是定義的。

    在美國英語(QWERTY)鍵盤上,左上角的字母鍵標記為Q。在法語(Azerty)鍵盤上,同一位置的鍵被標記為A.指的是使用HID用法0x07 0x0014,該0x0014映射到Linux密鑰程式碼key_q。

    當使用美國英語鍵盤佈局配置Android時,Linux鍵代碼鍵_Q將對應到Android鍵代碼keycode_q,並產生字元'q'和'q'。但是,當使用法國鍵盤佈局配置Android時,Linux鍵代碼key_q將對應到Android鍵代碼keycode_a,並產生字元「 A」和「 A」。

    Android密鑰代碼通常反映了鍵的特定語言解釋,因此可以將不同的Android密鑰代碼用於不同的語言。

  2. 0x0c 0x022f AC Zoom在HID中定義為線性控件,但核心將其映射為鍵,這可能是不正確的。

  3. Linux函數鍵KEY_FN_*對應到更簡單的金鑰程式碼,但使用META_FUNCTION元狀態位元設定為true。

  4. 在使用Android冰淇淋三明治4.0之前,預設的鍵佈局包含一些額外的密鑰代碼的映射,這些密鑰代碼未在Mainline Linux核心標題中定義。此後,這些映射已被刪除,因為此後這些以前未定義的密鑰代碼在Linux核心的最新版本中被分配了不同的含義。

來源

  1. USB HID使用表v1.12
  2. Linux 2.6.39核心:include/linux/input.h,驅動程式/hid/hid-input.c
  3. Android ICS:qwerty.kl,generic.kl,keyevent.java