キーボード デバイス

Android は、専用ファンクション キーパッド(音量と電源の管理)、コンパクトな埋め込み QWERTY キーボード、フル機能のパソコン スタイルの外付けキーボードなど、さまざまなキーボード デバイスに対応しています。

このドキュメントでは、物理キーボードについてのみ説明します。ソフト キーボード(インプット メソッド エディタ)の詳細については、Android SDK を参照してください。

キーボードの分類

次のいずれかの条件が満たされると、入力デバイスはキーボードに分類されます。

  • 入力デバイスが、キーボードで使用される Linux キーコード(00xff または KEY_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_SCANCODEEV_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_ON ビットと META_SHIFT_ON ビットを設定(リセット)します。

  3. InputReader が、InputDispatcher にキーイベントを通知します。

  4. InputDispatcherWindowManagerPolicy.interceptKeyBeforeQueueing を呼び出して、キーイベントの処理方法を WindowManagerPolicy に照会します。このメソッドは、特定のキーが押されたときにデバイスをスリープ状態から復帰させるクリティカル パスの一部です。EventHub は、このクリティカル パスに沿って常にウェイクロックを保持し、最後まで正常に実行されるようにします。

  5. InputFilter が使用中の場合は、InputDispatcher によってキーの使用または変換を行います。InputFilter を使用して、低レベルのシステム全体のユーザー補助ポリシーを実装できます。

  6. InputDispatcher がキーをキューに入れて、ディスパッチ スレッドで処理します。

  7. InputDispatcher がキーをキューから取り出すと、WindowManagerPolicyWindowManagerPolicy.interceptKeyBeforeDispatching を呼び出してキーイベントを再度インターセプトします。このメソッドを使用して、システム ショートカットなどの関数を処理できます。

  8. InputDispatcher が、キーイベント ターゲット(アクティブなウィンドウ)を識別し、準備が整うまで待機します。その後、InputDispatcher は、キーイベントをアプリケーションに渡します。

  9. アプリケーション内では、IME キーの事前ディスパッチのために、ビュー階層内のフォーカスのあるビューまでキーイベントが伝播していきます。

  10. キーイベントが IME の事前ディスパッチで処理されず、IME が使用中である場合は、キーイベントは IME に渡されます。

  11. キーイベントが IME によって使用されなかった場合は、標準キー ディスパッチのために、ビュー階層内のフォーカスのあるビューまでキーイベントが伝播していきます。

  12. アプリケーションは、キーイベントが使用されたかどうかを InputDispatcher に報告します。キーイベントが使用されなかった場合、InputDispatcherWindowManagerPolicy.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 が割り当てられます。他の組み込みでないキーボードには、0 以外の一意のデバイス ID が割り当てられます。

組み込みキーボードに 0 の ID を使用することは、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 より前のバージョンでは、キーボード入力マッパーで構成プロパティを使用していませんでした。すべてのキーボードは物理的に接続されており、向きを認識するものとみなされていました。また、デフォルトのキーレイアウトとキー文字マップの名前は、Generic ではなく qwerty でした。キー文字マップの形式も大きく異なり、フレームワークはパソコン スタイルのフルキーボードや外部キーボードをサポートしていませんでした。

デバイスを 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 キーコードを 16 進数で指定します。

AKC の列に、Android キーコードを 16 進数で表します。

注の列は、表の末尾に記載された注釈を示しています。

バージョンの列には、キーをデフォルト キーマップに含めた最初の Android プラットフォーム バージョンが入ります。バージョン間でデフォルトのキーマップが変更された場合は、複数の行が表示されます。最も古いバージョンは 1.6 です。

  • Gingerbread(2.3)以前のリリースでは、デフォルトのキーマップは qwerty.kl でした。このキーマップは、Android Emulator 専用であり、任意の外部キーボードには対応していませんでした。ただし、一部の OEM は Bluetooth キーボードのサポートをプラットフォームに追加し、qwerty.kl を使用して必要なキーボード マッピングを提供していました。したがって、これらの特定デバイス用の周辺機器を製造している OEM は、これらの古いバージョンのマッピングに関する情報を必要とする場合があります。マッピングは、特に HOME キーの処理について、現行の内容と大きく異なります。新しい周辺機器についてはすべて、Honeycomb またはより最近のキーマップ(標準 HID)に従って開発することが推奨されます。

  • Honeycomb(3.0)以降では、デフォルトのキーマップは Generic.kl です。このキーマップは、パソコン スタイルのフルキーボードをサポートするように設計されています。標準の 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 キーボード Esc キー 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 キーボード Tab キー 0x000f KEY_TAB 1.6 0x003d KEYCODE_TAB
0x07 0x002c キーボード Space キー 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_SEMICOLOL 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 キーボード CapsLock キー 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 キーボード ScrollLock キー 0x0046 KEY_SCROLLLOCK 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 キーボード Pause キー 0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x07 0x0049 キーボード Insert キー 0x006e KEY_INSERT 3.0 0x007c KEYCODE_INSERT
0x07 0x004a キーボード Home キー 0x0066 KEY_HOME 3.0 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1.6 0x0003 KEYCODE_HOME
0x07 0x004b キーボード PageUp キー 0x0068 KEY_PAGEUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c キーボード Delete Forward キー 0x006f KEY_DELETE 3.0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d キーボード End キー 0x006b KEY_END 3.0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x004e キーボード PageDown キー 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 キーボード Num Lock および Clear キー 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 および PageUp キー 0x0049 KEY_KP9 3.0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 キーパッド 0 および Insert キー 0x0052 KEY_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 キーパッド . および Delete キー 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 キーボード Power キー 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 キーボード Execute キー 0x0086 KEY_OPEN
0x07 0x0075 キーボード Help キー 0x008a KEY_HELP
0x07 0x0076 キーボード メニューキー 0x0082 KEY_PROPS
0x07 0x0077 キーボード Select キー 0x0084 KEY_FRONT
0x07 0x0078 キーボード Stop キー 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 キーボード Again キー 0x0081 KEY_AGAIN
0x07 0x007a キーボード Undo キー 0x0083 KEY_UNDO
0x07 0x007b キーボード Cut キー 0x0089 KEY_CUT
0x07 0x007c キーボード Copy キー 0x0085 KEY_COPY
0x07 0x007d キーボード Paste キー 0x0087 KEY_PASTE
0x07 0x007e キーボード Find キー 0x0088 KEY_FIND
0x07 0x007f キーボード Mute キー 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 キーボード Volume Up キー 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 キーボード Volume Down キー 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 キーボード CapsLock ロックキー
0x07 0x0083 キーボード NumLock ロックキー
0x07 0x0084 キーボード ScrollLock ロックキー
0x07 0x0085 キーパッド カンマキー 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 キーパッド等号キー
0x07 0x0087 キーボード International1 0x0059 KEY_RO
0x07 0x0088 キーボード International2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 キーボード International3 0x007c KEY_YEN
0x07 0x008a キーボード International4 0x005c KEY_HENKAN
0x07 0x008b キーボード International5 0x005e KEY_MUHENKAN
0x07 0x008c キーボード 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 キーボード Alternate Erase キー
0x07 0x009a キーボード SysReq/Attention キー
0x07 0x009b キーボード Cancel キー
0x07 0x009c キーボード Clear キー
0x07 0x009d キーボード Prior キー
0x07 0x009e キーボード Return キー
0x07 0x009f キーボード Separator キー
0x07 0x00a0 キーボード Out キー
0x07 0x00a1 キーボード Oper キー
0x07 0x00a2 キーボード Clear/Again キー
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 キーパッド Tab キー
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 キーパッド Space キー
0x07 0x00ce キーパッド @ キー
0x07 0x00cf キーパッド ! キー
0x07 0x00d0 キーパッド Memory Store キー
0x07 0x00d1 キーパッド Memory Recall キー
0x07 0x00d2 キーパッド Memory Clear キー
0x07 0x00d3 キーパッド Memory Add キー
0x07 0x00d4 キーパッド Memory Subtract キー
0x07 0x00d5 キーパッド Memory Multiply キー
0x07 0x00d6 キーパッド Memory Divide キー
0x07 0x00d7 キーパッド +/- キー
0x07 0x00d8 キーパッド Clear キー
0x07 0x00d9 キーパッド Clear Entry キー
0x07 0x00da キーパッド 2 進数
0x07 0x00db キーパッド 8 進数
0x07 0x00dc キーパッド 10 進数
0x07 0x00dd キーパッド 16 進数
0x07 0x00e0 キーボード左 Ctrl キー 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 キーボード右 Ctrl キー 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 システム ドッキング
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_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 1 つ元に戻る 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 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 メディア選択(SAP)
0x0c 0x00a0 VCR+ 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 通常のトラッキング
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 起動ボタン設定ツール
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 ワード プロセッサー 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 メールリーダー 0x009b KEY_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b AL ニュースリーダー 0x01ab KEY_NEWS
0x0c 0x018c AL ボイスメール 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 リモート ネットワーキング / ISP 接続
0x0c 0x0198 AL ネットワーク カンファレンス
0x0c 0x0199 AL ネットワーク チャット 0x00d8 KEY_CHAT
0x0c 0x019a AL テレフォニー / ダイヤラー
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 次のタスク / アプリケーション
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 デスクトップ
0x0c 0x01ab AL スペルチェック 0x01b0 KEY_SPELLCHECK
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 KEY_SOUND 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 KEY_INFO
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 リサーチ / サーチブラウザ
0x0c 0x01c7 AL オーディオ プレーヤー
0x0c 0x0201 AC 新規 0x00b5 KEY_NEW
0x0c 0x0202 AC 開く 0x0086 KEY_OPEN
0x0c 0x0203 AC 閉じる 0x00ce KEY_CLOSE
0x0c 0x0204 AC 終了 0x00ae KEY_EXIT
0x0c 0x0205 AC 最大化
0x0c 0x0206 AC 最小化
0x0c 0x0207 AC 保存 0x00ea KEY_SAVE
0x0c 0x0208 AC プリント 0x00d2 KEY_PRINT
0x0c 0x0209 AC プロパティ 0x0082 KEY_PROPS
0x0c 0x021a AC 元に戻す 0x0083 KEY_UNDO
0x0c 0x021b AC コピー 0x0085 KEY_COPY
0x0c 0x021c AC カット 0x0089 KEY_CUT
0x0c 0x021d AC ペースト 0x0087 KEY_PASTE
0x0c 0x021e AC すべて選択
0x0c 0x021f AC 検索 0x0088 KEY_FIND
0x0c 0x0220 AC 検索と置換
0x0c 0x0221 AC サーチ 0x00d9 KEY_SEARCH 1.6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 AC 移動 0x0162 KEY_GOTO
0x0c 0x0223 AC ホーム 0x00ac KEY_HOMEPAGE 3.0 0x0003 KEYCODE_HOME
0x0c 0x0224 AC 戻る 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x0c 0x0225 AC 進む 0x009f KEY_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x0c 0x0226 AC 停止 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 AC 更新 0x00ad KEY_REFRESH
0x0c 0x0228 AC 前のリンク
0x0c 0x0229 AC 次のリンク
0x0c 0x022a AC ブックマーク 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b AC 履歴
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 AC 標準ビュー
0x0c 0x0232 AC ビュー切り替え
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 AC フォーマット
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 サイズ変更
0x0c 0x0247 AC 左右に反転
0x0c 0x0248 AC 上下に反転
0x0c 0x0249 AC 水平ミラーリング
0x0c 0x024a AC 垂直ミラーリング
0x0c 0x024b AC フォント選択
0x0c 0x024c AC フォント色
0x0c 0x024d AC フォントサイズ
0x0c 0x024e AC 左揃え
0x0c 0x024f AC 中央揃え(左右)
0x0c 0x0250 AC 右揃え
0x0c 0x0251 AC ブロック揃え(左右)
0x0c 0x0252 AC 上端揃え
0x0c 0x0253 AC 中央揃え(上下)
0x0c 0x0254 AC 下端揃え
0x0c 0x0255 AC ブロック揃え(上下)
0x0c 0x0256 AC インデント減
0x0c 0x0257 AC インデント増
0x0c 0x0258 AC 番号付きリスト
0x0c 0x0259 AC 番号ふり直し
0x0c 0x025a AC 箇条書きリスト
0x0c 0x025b AC 昇格
0x0c 0x025c AC 降格
0x0c 0x025d AC はい
0x0c 0x025e AC いいえ
0x0c 0x025f AC キャンセル 0x00df KEY_CANCEL
0x0c 0x0260 AC カタログ
0x0c 0x0261 AC 購入 / 決済
0x0c 0x0262 AC カートに追加
0x0c 0x0263 AC 展開
0x0c 0x0264 AC すべて展開
0x0c 0x0265 AC 折りたたむ
0x0c 0x0266 AC すべて折りたたむ
0x0c 0x0267 AC プリント プレビュー
0x0c 0x0268 AC 特殊な貼り付け
0x0c 0x0269 AC 挿入モード
0x0c 0x026a AC 削除
0x0c 0x026b AC ロック
0x0c 0x026c AC ロック解除
0x0c 0x026d AC 保護
0x0c 0x026e AC 保護解除
0x0c 0x026f AC コメント添付
0x0c 0x0270 AC コメントを削除
0x0c 0x0271 AC コメント表示
0x0c 0x0272 AC 語句を選択
0x0c 0x0273 AC 文を選択
0x0c 0x0274 AC 段落を選択
0x0c 0x0275 AC 列を選択
0x0c 0x0276 AC 行を選択
0x0c 0x0277 AC 表を選択
0x0c 0x0278 AC オブジェクトを選択
0x0c 0x0279 AC やり直し / 繰り返し 0x00b6 KEY_REDO
0x0c 0x027a AC 並べ替え
0x0c 0x027b AC 昇順で並べ替え
0x0c 0x027c AC 降順で並べ替え
0x0c 0x027d AC フィルタ
0x0c 0x027e AC クロックを設定
0x0c 0x027f AC クロックを表示
0x0c 0x0280 AC タイムゾーンを選択
0x0c 0x0281 AC タイムゾーンを編集
0x0c 0x0282 AC アラームを設定
0x0c 0x0283 AC アラームを解除
0x0c 0x0284 AC アラームをスヌーズ
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 AC 送信 0x00e7 KEY_SEND
0x0c 0x028d AC ファイルを添付
0x0c 0x028e AC アップロード
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 名前の変更
0x0c 0x0299 AC マージ
0x0c 0x029a AC 分割
0x0c 0x029b AC 左右に均等配置
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 キーコードは、キーボードのレイアウトや言語によって異なります。旧来からの慣例により、キーボードのキーに関連付けられた物理スキャンコードと 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