鍵盤裝置

Android 支援各種鍵盤裝置,包括特殊功能按鍵盤 (音量和電源控制項)、緊湊的嵌入式 QWERTY 鍵盤,以及功能齊全的 PC 風格外接鍵盤。

本文件僅說明實體鍵盤。如要瞭解軟體鍵盤 (輸入法編輯器) 的相關資訊,請參閱 Android SDK。

鍵盤分類

如果輸入裝置符合下列任一條件,就會歸類為鍵盤:

  • 輸入裝置會回報鍵盤上使用的任何 Linux 按鍵碼,包括 00xffKEY_OKKEY_MAX

  • 輸入裝置會回報搖桿和遊戲控制器上使用的任何 Linux 鍵碼,包括 BTN_0BTN_9BTN_TRIGGERBTN_DEAD,或 BTN_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. 鍵盤驅動程式可以選擇透過傳送 EV_MSCMSC_SCANCODE,以及表示按下按鍵時的使用或掃描碼的值,來指出 HID 用途或低階掃描碼。Android 目前未使用這項資訊。

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

  6. 針對嵌入式數字鍵盤的鍵盤驅動程式 (例如使用 GPIO 矩陣),應確保針對裝置進入休眠狀態時仍按下的任何按鍵,傳送 EV_KEY 事件,且值為 0。否則按鍵可能會卡住,並永久自動重複按下。

鍵盤操作

以下簡要說明 Android 上的鍵盤操作。

  1. EventHub 會讀取 evdev 驅動程式中的原始事件,並使用鍵盤的按鍵版面配置對應表,將 Linux 按鍵碼 (有時稱為掃描碼) 對應至 Android 按鍵碼。

  2. InputReader 會消耗原始事件並更新元鍵狀態。舉例來說,如果按下或放開左移鍵,讀取器會據此設定或重設 META_SHIFT_LEFT_ONMETA_SHIFT_ON 位元。

  3. InputReader 會將重要事件通知 InputDispatcher

  4. InputDispatcher 會透過呼叫 WindowManagerPolicy.interceptKeyBeforeQueueing,詢問 WindowManagerPolicy 如何處理按鍵事件。這個方法是關鍵路徑的一部分,負責在按下特定按鍵時喚醒裝置。EventHub 會有效地在這個關鍵路徑上保留喚醒鎖定,確保喚醒鎖定會執行至完成。

  5. 如果目前有 InputFilter 在使用中,InputDispatcher 會讓 InputFilter 有機會使用或轉換金鑰。InputFilter 可用於實作系統層級的低階無障礙政策。

  6. InputDispatcher 會將索引鍵排入調度執行緒的處理佇列。

  7. InputDispatcher 從佇列中移除鍵時,會讓 WindowManagerPolicy 有第二次機會透過呼叫 WindowManagerPolicy.interceptKeyBeforeDispatching 來攔截按鍵事件。這個方法會處理系統捷徑和其他功能。

  8. InputDispatcher 接著會找出重要事件目標 (已聚焦的視窗),並等待這些目標就緒。接著,InputDispatcher 會將按鍵事件傳送至應用程式。

  9. 在應用程式中,按鍵事件會向下傳播至檢視區塊階層,並將焦點轉移至 IME 前按鍵調度。

  10. 如果在預先輸入法編輯器調度作業中未處理按鍵事件,且輸入法編輯器正在使用中,則按鍵事件會傳送至輸入法編輯器。

  11. 如果按鍵事件未由 IME 使用,則按鍵事件會沿著檢視畫面階層傳播至聚焦的檢視畫面,以便標準按鍵調度。

  12. 應用程式會回報給 InputDispatcher,指出是否已取用按鍵事件。如果未使用事件,InputDispatcher 會呼叫 WindowManagerPolicy.dispatchUnhandledKey 以套用「備用」行為。視備用動作而定,系統可能會使用不同的鍵碼重新啟動按鍵事件調度週期。舉例來說,如果應用程式未處理 KEYCODE_ESCAPE,系統可能會改為以 KEYCODE_BACK 重新分派按鍵事件。

鍵盤設定

鍵盤行為取決於鍵盤的按鍵版面配置、按鍵字元對應和輸入裝置設定。

如要進一步瞭解參與鍵盤設定的檔案,請參閱以下各節:

屬性

下列輸入裝置設定屬性適用於鍵盤。

keyboard.layout

定義: keyboard.layout = <name>

指定與輸入裝置相關聯的按鍵配置檔案名稱,不含 .kl 副檔名。如果找不到這個檔案,輸入系統會改用預設的按鍵配置。

在查詢期間,名稱中的空格會轉換為底線。

詳情請參閱按鍵版面配置檔說明文件。

keyboard.characterMap

定義: keyboard.characterMap = <name>

指定與輸入裝置相關聯的鍵盤文字對應檔案名稱,不含 .kcm 副檔名。如果找不到這個檔案,輸入系統會改用預設的鍵字元對應表。

在查詢期間,名稱中的空格會轉換為底線。

詳情請參閱關鍵字符號對應檔案說明文件。

keyboard.orientationAware

定義: keyboard.orientationAware = 0 | 1

指定鍵盤是否應回應螢幕方向變更。

  • 如果值為 1,則在相關聯的螢幕方向變更時,方向鍵盤按鍵會旋轉。

  • 如果值為 0,鍵盤就不會受到螢幕方向變更的影響。

預設值為 0

方向感知功能可支援方向鍵盤按鍵的旋轉,例如 Motorola Droid。舉例來說,當裝置以順時針方向旋轉 90 度,從自然方向旋轉時,KEYCODE_DPAD_UP 會重新對應以產生 KEYCODE_DPAD_RIGHT,因為當裝置以該方向握持時,「上」鍵會指向「右」。

keyboard.builtIn

定義: keyboard.builtIn = 0 | 1

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

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

內建鍵盤一律會指派 0 的裝置 ID。其他非內建鍵盤會指派不重複的非零裝置 ID。

為內建鍵盤使用 0 ID 非常重要,因為這樣才能與 KeyCharacterMap.BUILT_IN_KEYBOARD 欄位保持相容性。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 鍵碼

系統會根據抽象層級,使用多個不同的 ID 參照鍵。

對於 HID 裝置,每個鍵都有相關的 HID 用途。Linux hid-input 驅動程式和相關供應商及裝置專屬 HID 驅動程式負責剖析 HID 報表,並將 HID 用法對應至 Linux 鍵碼。

當 Android 從 Linux 核心讀取 EV_KEY 事件時,會根據裝置的按鍵版面配置檔案,將每個 Linux 按鍵代碼轉換為對應的 Android 按鍵代碼。

當按鍵事件調度至應用程式時,android.view.KeyEvent 例項會將 Linux 按鍵碼回報為 getScanCode() 的值,將 Android 按鍵碼回報為 getKeyCode() 的值。就架構而言,只有 getKeyCode() 的值才重要。

請注意,Android 本身不會使用 HID 使用資訊,也不會將這類資訊傳遞給應用程式。

程式碼表

下表說明 HID 用途、Linux 鍵碼和 Android 鍵碼彼此之間的關係。

LKC 欄會以十六進位表示法指定 Linux 鍵碼。

AKC 欄會以十六進制指定 Android 鍵碼。

「附註」欄是指在表格後方張貼的附註。

「版本」欄會指定 Android 平台的初版,該版本會在預設鍵對應項目中加入這個鍵。如果不同版本的預設鍵對應表有所變更,就會顯示多個資料列。最舊的版本為 1.6。

  • 在 Gingerbread (2.3) 及更早版本中,預設的鍵盤映射為 qwerty.kl。這個按鍵對應表僅供 Android Emulator 使用,不支援任意外接鍵盤。不過,部分原始設備製造商 (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 鍵盤 POST 失敗
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 鍵盤 i 和 I 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 KEY_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 鍵盤的 Return (ENTER) 鍵 0x001c KEY_ENTER 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 鍵盤 ESCAPE 0x0001 KEY_ESC 3.0 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0x0004 KEYCODE_BACK
0x07 0x002a 鍵盤 DELETE (Backspace) 0x000e KEY_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b 鍵盤分頁 0x000f KEY_TAB 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_LEFTBRACE 1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 鍵盤 ] 和 } 0x001b KEY_RIGHTBRACE 1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 鍵盤 \ 和 | 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 非美式鍵盤的 # 和 ~ 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 鍵盤 ; 和 : 0x0027 KEY_SEMICOLON 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 鍵盤 '和 " 0x0028 KEY_APOSTROPHE 1.6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 鍵盤 ` 和 ~ 0x0029 KEY_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 鍵盤 , 和 < 0x0033 KEY_COMMA 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 鍵盤 Caps Lock 鍵 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 鍵盤 Print Screen 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 鍵盤 Page Up 鍵 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 鍵盤 Page Down 鍵 0x006d KEY_PAGEDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f 鍵盤向右箭頭 0x006a KEY_RIGHT 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 鍵盤向左箭頭 0x0069 KEY_LEFT 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 鍵盤向下箭頭 0x006c KEY_DOWN 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 鍵盤向上鍵 0x0067 KEY_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 撥號鍵盤 ENTER 鍵 0x0060 KEY_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 撥號鍵盤 1 和 End 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 和 Home 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_BACKSLASH 1
0x07 0x0065 鍵盤應用程式 0x007f KEY_COMPOSE 3.0 0x0052 KEYCODE_MENU
"" "" "" "" 1.6 0x0054 KEYCODE_SEARCH
0x07 0x0066 鍵盤電源 0x0074 KEY_POWER 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 KEY_HELP
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_PASTE
0x07 0x007e 鍵盤搜尋 0x0088 KEY_FIND
0x07 0x007f 鍵盤靜音 0x0071 KEY_MUTE 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 鍵盤鎖定 Caps Lock
0x07 0x0083 鍵盤鎖定 Num Lock
0x07 0x0084 鍵盤鎖定捲動鎖定
0x07 0x0085 撥號鍵盤半形逗號 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 撥號鍵盤等號
0x07 0x0087 鍵盤 International1 0x0059 KEY_RO
0x07 0x0088 Keyboard International2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 鍵盤 International3 0x007c KEY_YEN
0x07 0x008a Keyboard International4 0x005c KEY_HENKAN
0x07 0x008b 國際鍵盤 5 0x005e KEY_MUHENKAN
0x07 0x008c Keyboard International6 0x005f KEY_KPJPCOMMA
0x07 0x008d 鍵盤 International7
0x07 0x008e 鍵盤 International8
0x07 0x008f 鍵盤 International9
0x07 0x0090 鍵盤 LANG1 0x007a KEY_HANGEUL
0x07 0x0091 鍵盤 LANG2 0x007b KEY_HANJA
0x07 0x0092 鍵盤 LANG3 0x005a KEY_KATAKANA
0x07 0x0093 鍵盤 LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 鍵盤 LANG5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 鍵盤 LANG6
0x07 0x0096 鍵盤 LANG7
0x07 0x0097 鍵盤 LANG8
0x07 0x0098 鍵盤 LANG9
0x07 0x0099 鍵盤替代清除
0x07 0x009a 鍵盤 SysReq/Attention
0x07 0x009b 鍵盤取消
0x07 0x009c 清除鍵盤
0x07 0x009d 鍵盤先前
0x07 0x009e 鍵盤回傳
0x07 0x009f 鍵盤分隔符
0x07 0x00a0 鍵盤輸出
0x07 0x00a1 鍵盤操作
0x07 0x00a2 鍵盤清除/再次
0x07 0x00a3 鍵盤 CrSel/Props
0x07 0x00a4 鍵盤 ExSel
0x07 0x00b0 撥號鍵盤 00
0x07 0x00b1 撥號鍵盤 000
0x07 0x00b2 千位數分隔符
0x07 0x00b3 小數分隔符
0x07 0x00b4 貨幣單位
0x07 0x00b5 貨幣子單位
0x07 0x00b6 撥號鍵盤 ( 0x00b3 KEY_KPLEFTPAREN 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 撥號鍵盤 Backspace
0x07 0x00bc 撥號鍵盤 A
0x07 0x00bd 撥號鍵盤 B
0x07 0x00be 撥號鍵盤 C
0x07 0x00bf 撥號鍵盤 D
0x07 0x00c0 撥號鍵盤 E
0x07 0x00c1 撥號鍵盤 F
0x07 0x00c2 鍵盤 XOR
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 撥號鍵盤 Octal
0x07 0x00dc 撥號鍵盤 十進位
0x07 0x00dd 撥號鍵盤十六進位
0x07 0x00e0 鍵盤左控制鍵 0x001d KEY_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 鍵盤左 Shift 鍵 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 鍵盤右 Shift 鍵 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_RIGHTMETA 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_PREVIOUSSONG 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 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e KEY_BACK 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_SCROLLDOWN 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 0x00ad KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

HID 通用電腦版頁面 (0x01)

HID 用途 HID 用途名稱 LKC Linux 鍵碼名稱 版本 AKC Android 金鑰代碼名稱 附註
0x01 0x0081 系統關機 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x01 0x0082 系統休眠 0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x01 0x0083 系統喚醒 0x008f KEY_WAKEUP 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 系統 Dock
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 系統顯示切換按鈕:Int/Ext
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 選單 Escape
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_GREEN 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 Media Select TV 0x0179 KEY_TV 3.0 0x00aa KEYCODE_TV
0x0c 0x008a 媒體選取 WWW 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b Media Select DVD 0x0185 KEY_DVD
0x0c 0x008c 媒體選取電話 0x00a9 KEY_PHONE 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d Media Select 節目指南 0x016a KEY_PROGRAM 3.0 0x00ac KEYCODE_GUIDE
0x0c 0x008e Media Select 視訊電話 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f 媒體選取遊戲 0x01a1 KEY_GAMES
0x0c 0x0090 媒體選取訊息 0x018c KEY_MEMO
0x0c 0x0091 媒體選取 CD 0x017f KEY_CD
0x0c 0x0092 媒體選取 VCR 0x017b KEY_VCR
0x0c 0x0093 媒體選取器調諧器 0x0182 KEY_TUNER
0x0c 0x0094 結束 0x00ae KEY_EXIT
0x0c 0x0095 說明 0x008a KEY_HELP
0x0c 0x0096 媒體選取膠帶 0x0180 KEY_TAPE
0x0c 0x0097 媒體選取線 0x017a KEY_TV2
0x0c 0x0098 媒體選取衛星 0x017d KEY_SAT
0x0c 0x0099 媒體選取安全性
0x0c 0x009a 媒體選取主畫面 0x016e KEY_PVR 3.0 0x00ad 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 Media Select SAP
0x0c 0x00a0 VCR Plus 0x017c KEY_VCR2
0x0c 0x00a1 1 次
0x0c 0x00a2 每天
0x0c 0x00a3 每週
0x0c 0x00a4 每月
0x0c 0x00b0 播放 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 暫停 0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 錄影 0x00a7 KEY_RECORD 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_PREVIOUSSONG 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 追蹤 Normal
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 KEY_MUTE 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 Launch Button Config。工具
0x0c 0x0182 AL 可程式設計按鈕設定。 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 AL 消費者控制設定。 0x00ab KEY_CONFIG 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 AL Word Processor 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 AL 文字編輯器 0x01a6 KEY_EDITOR
0x0c 0x0186 AL 試算表 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 AL 圖形編輯器 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 AL 簡報應用程式 0x01a9 KEY_PRESENTATION
0x0c 0x0189 AL 資料庫應用程式 0x01aa KEY_DATABASE
0x0c 0x018a AL Email Reader 0x009b KEY_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b AL Newsreader 0x01ab KEY_NEWS
0x0c 0x018c AL Voicemail 0x01ac KEY_VOICEMAIL
0x0c 0x018d AL 聯絡人 / 通訊錄 0x01ad KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACTS
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 KEY_FILE
0x0c 0x0195 AL LAN/WAN 瀏覽器
0x0c 0x0196 AL 網路瀏覽器 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Remote Networking/ISP Connect
0x0c 0x0198 AL Network Conference
0x0c 0x0199 AL Network Chat 0x00d8 KEY_CHAT
0x0c 0x019a AL Telephony / Dialer
0x0c 0x019b AL 登入
0x0c 0x019c AL 登出 0x01b1 KEY_LOGOFF
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 Next Task / Application
0x0c 0x01a4 AL 上一個工作 / 應用程式
0x0c 0x01a5 AL 預先停止工作 / 應用程式。
0x0c 0x01a6 AL 整合說明中心 0x008a KEY_HELP
0x0c 0x01a7 AL 文件 0x00eb KEY_DOCUMENTS
0x0c 0x01a8 AL 辭典
0x0c 0x01a9 AL 字典
0x0c 0x01aa AL Desktop
0x0c 0x01ab AL 拼字檢查 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac AL 文法檢查
0x0c 0x01ad AL Wireless 狀態
0x0c 0x01ae AL 鍵盤配置
0x0c 0x01af AL 病毒防護
0x0c 0x01b0 AL 加密
0x0c 0x01b1 AL 螢幕保護程式
0x0c 0x01b2 AL 鬧鐘
0x0c 0x01b3 AL Clock
0x0c 0x01b4 AL 檔案瀏覽器
0x0c 0x01b5 AL 電源狀態
0x0c 0x01b6 AL 圖片瀏覽器 0x00e2 KEY_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 AL Audio Browser 0x00d5 KEY_SOUND 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 AL Movie Browser
0x0c 0x01b9 AL Digital Rights Manager
0x0c 0x01ba AL Digital Wallet
0x0c 0x01bc AL 即時通訊 0x01ae KEY_MESSENGER
0x0c 0x01bd AL OEM 功能 / 提示瀏覽器 0x0166 KEY_INFO
0x0c 0x01be AL OEM 說明
0x0c 0x01bf AL 線上社群
0x0c 0x01c0 AL Entertainment Content Browser
0x0c 0x01c1 AL Online Shopping Browser
0x0c 0x01c2 AL SmartCard 資訊 / 說明
0x0c 0x01c3 AL Market / Finance Browser
0x0c 0x01c4 AL Customized Corp. News Browser
0x0c 0x01c5 AL 線上活動瀏覽器
0x0c 0x01c6 AL Research / Search Browser
0x0c 0x01c7 AL 音訊播放器
0x0c 0x0201 AC New 0x00b5 KEY_NEW
0x0c 0x0202 應用程式廣告活動開啟 0x0086 KEY_OPEN
0x0c 0x0203 AC 關閉 0x00ce KEY_CLOSE
0x0c 0x0204 應用程式廣告活動結束 0x00ae KEY_EXIT
0x0c 0x0205 應用程式廣告活動最大化
0x0c 0x0206 AC 最小化
0x0c 0x0207 AC Save 0x00ea KEY_SAVE
0x0c 0x0208 AC Print 0x00d2 KEY_PRINT
0x0c 0x0209 應用程式廣告活動屬性 0x0082 KEY_PROPS
0x0c 0x021a AC 復原 0x0083 KEY_UNDO
0x0c 0x021b 應用程式廣告活動文字 0x0085 KEY_COPY
0x0c 0x021c AC 剪輯 0x0089 KEY_CUT
0x0c 0x021d 應用程式廣告活動貼上 0x0087 KEY_PASTE
0x0c 0x021e 應用程式廣告活動全選
0x0c 0x021f 應用程式廣告活動搜尋 0x0088 KEY_FIND
0x0c 0x0220 AC 尋找與取代
0x0c 0x0221 AC 搜尋 0x00d9 KEY_SEARCH 1.6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 AC Go To 0x0162 KEY_GOTO
0x0c 0x0223 AC Home 0x00ac KEY_HOMEPAGE 3.0 0x0003 KEYCODE_HOME
0x0c 0x0224 AC Back 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x0c 0x0225 AC Forward 0x009f KEY_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x0c 0x0226 AC 停靠站 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 AC Refresh 0x00ad KEY_REFRESH
0x0c 0x0228 AC 上一個連結
0x0c 0x0229 AC Next Link
0x0c 0x022a AC 書籤 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b 應用程式廣告活動記錄
0x0c 0x022c AC 訂閱
0x0c 0x022d AC 放大 0x01a2 KEY_ZOOMIN
0x0c 0x022e AC 縮小 0x01a3 KEY_ZOOMOUT
0x0c 0x022f AC 縮放 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 AC 全螢幕檢視畫面
0x0c 0x0231 應用程式廣告活動正常檢視畫面
0x0c 0x0232 AC View 切換按鈕
0x0c 0x0233 AC 向上捲動 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 AC 新視窗
0x0c 0x023a 水平並排顯示 AC
0x0c 0x023b 垂直排列 AC 圖塊
0x0c 0x023c 應用程式廣告活動格式
0x0c 0x023d AC 編輯
0x0c 0x023e AC 粗體
0x0c 0x023f AC 斜體
0x0c 0x0240 AC 底線
0x0c 0x0241 AC 刪除線
0x0c 0x0242 AC 下標
0x0c 0x0243 AC 上標
0x0c 0x0244 AC 全大寫
0x0c 0x0245 AC 旋轉
0x0c 0x0246 AC Resize
0x0c 0x0247 AC 水平翻轉
0x0c 0x0248 AC 垂直翻轉
0x0c 0x0249 AC Mirror Horizontal
0x0c 0x024a AC Mirror Vertical
0x0c 0x024b AC 字型選取
0x0c 0x024c AC 字型顏色
0x0c 0x024d 應用程式廣告活動字型大小
0x0c 0x024e AC Justify Left
0x0c 0x024f AC Justify Center H
0x0c 0x0250 應用程式廣告活動靠右對齊
0x0c 0x0251 AC Justify Block H
0x0c 0x0252 AC Justify Top
0x0c 0x0253 AC Justify Center V
0x0c 0x0254 AC 靠下對齊
0x0c 0x0255 AC Justify Block V
0x0c 0x0256 應用程式廣告活動縮排減少
0x0c 0x0257 AC 縮排增加
0x0c 0x0258 AC 編號清單
0x0c 0x0259 AC 重新啟動編號
0x0c 0x025a AC 項目符號清單
0x0c 0x025b AC Promote
0x0c 0x025c AC Demote
0x0c 0x025d AC 是
0x0c 0x025e AC 編號
0x0c 0x025f AC 取消 0x00df KEY_CANCEL
0x0c 0x0260 AC 目錄
0x0c 0x0261 AC Buy / Checkout
0x0c 0x0262 AC Add to Cart
0x0c 0x0263 應用程式廣告活動展開
0x0c 0x0264 AC 全部展開
0x0c 0x0265 應用程式廣告活動收合
0x0c 0x0266 應用程式廣告活動全部收合
0x0c 0x0267 AC 列印預覽
0x0c 0x0268 應用程式廣告活動選擇性貼上
0x0c 0x0269 AC 插入模式
0x0c 0x026a AC Delete
0x0c 0x026b AC 鎖
0x0c 0x026c AC 解鎖
0x0c 0x026d AC Protect
0x0c 0x026e AC Unprotect
0x0c 0x026f AC 附加註解
0x0c 0x0270 AC Delete Comment
0x0c 0x0271 AC View Comment
0x0c 0x0272 應用程式廣告活動選取字詞
0x0c 0x0273 AC 選取句子
0x0c 0x0274 AC 選取段落
0x0c 0x0275 AC 選取資料欄
0x0c 0x0276 額外同意聲明選取資料列
0x0c 0x0277 AC 選取表格
0x0c 0x0278 AC 選取物件
0x0c 0x0279 AC Redo / Repeat 0x00b6 KEY_REDO
0x0c 0x027a AC 排序
0x0c 0x027b AC 遞增排序
0x0c 0x027c AC 遞減排序
0x0c 0x027d AC 濾網
0x0c 0x027e AC 設定時鐘
0x0c 0x027f AC View Clock
0x0c 0x0280 AC 選取時區
0x0c 0x0281 AC 編輯時區
0x0c 0x0282 AC Set Alarm
0x0c 0x0283 AC Clear Alarm
0x0c 0x0284 AC Snooze Alarm
0x0c 0x0285 AC 重設警報
0x0c 0x0286 AC 同步處理
0x0c 0x0287 AC 傳送/接收
0x0c 0x0288 AC 傳送至
0x0c 0x0289 AC 回覆 0x00e8 KEY_REPLY
0x0c 0x028a AC 回覆所有人
0x0c 0x028b AC 轉寄訊息 0x00e9 KEY_FORWARDMAIL
0x0c 0x028c 應用程式廣告活動傳送 0x00e7 KEY_SEND
0x0c 0x028d AC 附加檔案
0x0c 0x028e 應用程式廣告活動上傳
0x0c 0x028f AC 下載 (另存目標)
0x0c 0x0290 AC 設定邊框
0x0c 0x0291 AC 插入資料列
0x0c 0x0292 AC 插入資料欄
0x0c 0x0293 AC 插入檔案
0x0c 0x0294 AC 插入圖片
0x0c 0x0295 AC 插入物件
0x0c 0x0296 AC 插入符號
0x0c 0x0297 AC 儲存並關閉
0x0c 0x0298 AC Rename
0x0c 0x0299 應用程式廣告活動合併
0x0c 0x029a 應用程式廣告活動實驗分組
0x0c 0x029b AC 水平分割
0x0c 0x029c 應用程式廣告活動垂直分割

其他非 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 鍵碼,可能會因鍵盤配置和語言而異。基於歷史原因,與鍵盤上按鍵相關的實體掃描代碼和 HID 用法通常會以位置定義,即使這些按鍵上印製的標籤可能因語言而異。

    在美國英文 (QWERTY) 鍵盤上,左上方的字母鍵標示為 Q。在法文 (AZERTY) 鍵盤上,同一個位置的按鍵標示為 A。無論標籤為何,在兩種鍵盤上,左上角的字母鍵都會使用 HID 用法 0x07 0x0014 進行參照,而這會對應至 Linux 鍵碼 KEY_Q。

    當 Android 設定為使用美國英文鍵盤配置時,Linux 鍵碼 KEY_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 Ice Cream Sandwich 4.0 之前,預設的按鍵配置包含對應項目,可用於一些在主線 Linux 核心標頭中未定義的額外按鍵代碼。這些對應項目已遭移除,因為這些先前未定義的鍵碼已在較新的 Linux 核心版本中指派不同的意義。

來源

  1. USB HID 用途表 v1.12
  2. Linux 2.6.39 核心:include/linux/input.h、drivers/hid/hid-input.c
  3. Android ICS:qwerty.kl、Generic.kl、KeyEvent.java