// *encoding Windows-31J // ============================================================= // keymap ファイルについて // ============================================================= // ■ フォーマット // -------------------- // ・先頭行にこのファイルの 文字セット名(またはコンバータ名) // を記入してください // 指定なし/無効 の場合は、SJIS として処理します // コメントアウトできませんのでご注意ください // // ・コメント // //〜 一行コメント // ##\t〜 画面に出すコメント (コメント中に\tは使えません) // // ・データ記述部分 (パラメータの区切り文字は "\t") // 1.キーコード (-1, 0〜1023 ※詳細を参照) // 2.PC-8001のポート (-1, 0〜15) // 3.BIT位置 (0〜7) ※「キーストローク生成キー」は 0〜14 // 4.ローマ字入力用 (-1, 0〜25, 26〜31) // 5.〜 コメント // // ■ パラメータ詳細 // -------------------- // ・キーコード // ・登録可能なキーコードは -1, 0〜1023 です // ・Java版の注意: // API が 0x0000~0x01FF を返すキーは APIのコードをそのまま使っています // API が 0x0F00~0xFFFF を返すキーは 0x0300~0x03FF に再マッピングします // さらに 0x03FE,0x03FF は NumPad[Enter], Right[Shift] 用に再定義します // キーコードは DEBUG:0 コマンドでコンソールに表示されます // ※NumPad[Enter], Right[Shift] は J2SE1.3系では使えません // ・ -1 は「連射」に使うキーです (無指定の場合 [SPACE]) // ・同じキーコードが指定された場合 最後のもののみが有効になります // 但し下記キーの定義は無視されます // ・8801(8MHz)機以外ではポート 12~14 のキー // ・存在しない「キーストローク生成キー」 // ※機種により排他利用するキーは重複登録可能です // 9 10 0 -1 [88系-TAB] → 先に仮登録する // 9 -1 0 -1 [80系-TAB] → 80mkII/SR では上書き, それ以外では無視 // // ・PC-8001のポート // ・-1 は「キーストローク生成キー」用の仮想ポートです // ・10~14 は 8001系のN BASIC および N80 BASICでは参照しません // j80では「88のN-BASICを8001に載せる」ことも想定しているため、 // 8001(mkII)でも ポート10,11が使えるようにしています // ・12~14 は 8801(8MHz機)以外は参照しません // // ・ローマ字入力用 // -1: 使用しない (ダイレクトモードと同じ) // 0〜25: A〜Z // 26: 。 // 27: 「 // 28: 」 // 29: 、 // 30: ・ // 31: ー // // ■ 注意 // -------------------- // ・コマンドキー(j80.cmd)とのバッティングに注意してください // コマンドキーの方が優先順位が高いため 通常キーとして使えなくなります // // ・[カナ(ALT)](PORT:0x08 BIT:5)はここでは定義しないでください // コマンド定義ファイル(j80.cmd)で定義します // // ・[CAPS](PORT:0x0A BIT:7)はここでは定義しないでください // コマンド定義ファイル(j80.cmd)で定義します // (80SR外部キーボード/88系で使用) // // ・[SHIFT LOCK]はここで定義する[SHIFT]とは別に // コマンド定義ファイル(j80.cmd)で定義します // (PC-8001の海外モデル) // // ■ 制限事項 // -------------------- // ・[Shift]とテンキーが同時に押された場合カーソル等のキーコードが返される // 環境があります // その環境では、キーを放すときに[Shift]の状態が変わっていると、 // 元のキーの「放した」情報が来ないためキーが押されたままになります // 同じ条件でキーを押す->放すで正常に戻りますが、どうしようも無くなったら // [Keyboard]->[Reset] でキーマトリクスをクリアしてください // [SHIFT]に無害なキー([無変換]など)をマッピングして使えば回避できます // (Windows+[Win]キーとのからみでも誤動作する模様) // ・R6b20から、[Shift]+[NumPad]にパッチを当てました // ※J2SE1.3系では従来どおり // 例:[Shift]+[Num4] → [Shift(off)]+[Num←] に化ける //   → [Num←]を無視し[Num4]を入力するとともに[Shift]を再入力する //  キースキャンの仕方によっては一瞬[Shift]が外れるのが目立つ (仕様) // ・[Tab]キーは、J2SE1.3系では(おそらく)使えません // (Swingのフォーカス遷移を禁止しているのに先取りされてしまう模様) // J2SE1.4〜 では使えるはずです // // ・[変換]キーは、J2SE1.3系(Win98)では使えませんでした // IMEを使用禁止にしてありますがどうもうまくいかないようです // J2SE1.4〜 では使えるはずです // // ・キーの同時押しで不具合がでる環境があるようです (Linux/i386 1.3.0_02 のバグ?) // // ============================================================= // テンプレ & ポート資料 // ============================================================= // ------------------------------------------------ -1 9 6 AutoBlaster化するキー -1 ポート BIT位置 // ------------------------------------------------ // 0 0 -1 [0](テンキー) // 0 1 -1 [1](テンキー) // 0 2 -1 [2](テンキー) // 0 3 -1 [3](テンキー) // 0 4 -1 [4](テンキー) // 0 5 -1 [5](テンキー) // 0 6 -1 [6](テンキー) // 0 7 -1 [7](テンキー) // ------------------------------------------------ // 1 0 -1 [8](テンキー) // 1 1 -1 [9](テンキー) // 1 2 -1 [*](テンキー) // 1 3 -1 [+](テンキー) // 1 4 -1 [=](テンキー) // 1 5 -1 [,](テンキー) // 1 6 -1 [.](テンキー) // 1 7 -1 [RETURN] // ------------------------------------------------ // 2 0 -1 [@] // 2 1 0 [A] // 2 2 1 [B] // 2 3 2 [C] // 2 4 3 [D] // 2 5 4 [E] // 2 6 5 [F] // 2 7 6 [G] // ------------------------------------------------ // 3 0 7 [H] // 3 1 8 [I] // 3 2 9 [J] // 3 3 10 [K] // 3 4 11 [L] // 3 5 12 [M] // 3 6 13 [N] // 3 7 14 [O] // ------------------------------------------------ // 4 0 15 [P] // 4 1 16 [Q] // 4 2 17 [R] // 4 3 18 [S] // 4 4 19 [T] // 4 5 20 [U] // 4 6 21 [V] // 4 7 22 [W] // ------------------------------------------------ // 5 0 23 [X] // 5 1 24 [Y] // 5 2 25 [Z] // 5 3 27 [[] r2k:「 // 5 4 31 [\] r2k:ー // 5 5 28 []] r2k:」 // 5 6 -1 [^] // 5 7 31 [-] r2k:ー // ------------------------------------------------ // 6 0 -1 [0] // 6 1 -1 [1] // 6 2 -1 [2] // 6 3 -1 [3] // 6 4 -1 [4] // 6 5 -1 [5] // 6 6 -1 [6] // 6 7 -1 [7] // ------------------------------------------------ // 7 0 -1 [8] // 7 1 -1 [9] // 7 2 -1 [:] // 7 3 -1 [;] // 7 4 29 [,] r2k:、 // 7 5 26 [.] r2k:。 // 7 6 30 [/] r2k:・ // 7 7 -1 [ロ] // ------------------------------------------------ // 8 0 -1 [HOME] // 8 1 -1 [↑] // 8 2 -1 [→] // 8 3 -1 [INS/DEL] // 8 4 -1 [GRPH] //// 8 5 -1 [カナ] ※「cmdファイル」に登録する // 8 6 -1 [SHIFT] // 8 7 -1 [CTRL] // ------------------------------------------------ // 9 0 -1 [STOP] // 9 1 -1 [F1] // 9 2 -1 [F2] // 9 3 -1 [F3] // 9 4 -1 [F4] // 9 5 -1 [F5] // 9 6 -1 [space] // 9 7 -1 [ESC] // ------------------------------------------------ // PC-8801 // ------------------------------------------------ // 10 0 -1 [TAB] // 10 1 -1 [↓] // 10 2 -1 [←] // 10 3 -1 [HELP] // 10 4 -1 [COPY] // 10 5 -1 [-] // 10 6 -1 [/] //// 10 7 -1 [CAPS] ※「cmdファイル」に登録する // ------------------------------------------------ // 11 0 -1 [ROLL UP] // 11 1 -1 [ROLL DOWN] // ------------------------------------------------ // PC-8801(8MHz機 シリアルキーボード) // ------------------------------------------------ //// 12 0 -1 [F6] ※「キーストローク生成キー」に登録する //// 12 1 -1 [F7] ※「キーストローク生成キー」に登録する //// 12 2 -1 [F8] ※「キーストローク生成キー」に登録する //// 12 3 -1 [F9] ※「キーストローク生成キー」に登録する //// 12 4 -1 [F10] ※「キーストローク生成キー」に登録する //// 12 5 -1 [BS] ※「キーストローク生成キー」に登録する //// 12 6 -1 [INS] ※「キーストローク生成キー」に登録する //// 12 7 -1 [DEL] ※「キーストローク生成キー」に登録する // ------------------------------------------------ //// 13 0 -1 [変換] ※「キーストローク生成キー」に登録する //// 13 1 -1 [決定] ※「キーストローク生成キー」に登録する // 13 2 -1 [PC] // 13 3 -1 [全角] // ------------------------------------------------ //// 14 0 -1 [RETURN] ※「キーストローク生成キー」に登録する //// 14 1 -1 [RETURN](テンキー) ※「キーストローク生成キー」に登録する //// 14 2 -1 [SHIFT](左) ※「キーストローク生成キー」に登録する //// 14 3 -1 [SHIFT](右) ※「キーストローク生成キー」に登録する // ------------------------------------------------ // ■■■ キーストローク生成キー 80mkII/SR ■■■ // ------------------------------------------------ // -1 0 -1 [TAB] [Ctrl]+[I] // ------------------------------------------------ // ■■■ キーストローク生成キー 88(8MHz機) ■■■ // ------------------------------------------------ // -1 1 -1 [F6] [SHIFT]+[F1] // -1 2 -1 [F7] [SHIFT]+[F2] // -1 3 -1 [F8] [SHIFT]+[F3] // -1 4 -1 [F9] [SHIFT]+[F4] // -1 5 -1 [F10] [SHIFT]+[F5] // -1 6 -1 [BS] [INS/DEL] // -1 7 -1 [INS] [SHIFT]+[INS/DEL] // -1 8 -1 [DEL] [INS/DEL] // -1 9 -1 [変換] [SPACE] // -1 10 -1 [決定] [SPACE] // -1 11 -1 [RETURN] [RETURN] 1022 -1 12 -1 [RETURN](テンキー) [RETURN] // -1 13 -1 [SHIFT](左) [SHIFT] 1023 -1 14 -1 [SHIFT](右) [SHIFT] // ============================================================= // 参考資料:J2SE5.0 (1.5.0) キー定数 -> j80 キー定数 // ============================================================= // ---------------------------------------- // ■0x0000~0x00FF // ---------------------------------------- // VK_0 48 // VK_1 49 // VK_2 50 // VK_3 51 // VK_4 52 // VK_5 53 // VK_6 54 // VK_7 55 // VK_8 56 // VK_9 57 // VK_A 65 // VK_ACCEPT 30 // VK_ADD 107 // VK_ALPHANUMERIC 240 // VK_ALT 18 // VK_AMPERSAND 150 // VK_ASTERISK 151 // VK_B 66 // VK_BACK_QUOTE 192 // VK_BACK_SLASH 92 // VK_BACK_SPACE 8 // VK_BRACELEFT 161 // VK_BRACERIGHT 162 // VK_C 67 // VK_CANCEL 3 // VK_CAPS_LOCK 20 // VK_CLEAR 12 // VK_CLOSE_BRACKET 93 // VK_COMMA 44 // VK_CONTROL 17 // VK_CONVERT 28 // VK_D 68 // VK_DEAD_ABOVEDOT 134 // VK_DEAD_ABOVERING 136 // VK_DEAD_ACUTE 129 // VK_DEAD_BREVE 133 // VK_DEAD_CARON 138 // VK_DEAD_CEDILLA 139 // VK_DEAD_CIRCUMFLEX 130 // VK_DEAD_DIAERESIS 135 // VK_DEAD_DOUBLEACUTE 137 // VK_DEAD_GRAVE 128 // VK_DEAD_IOTA 141 // VK_DEAD_MACRON 132 // VK_DEAD_OGONEK 140 // VK_DEAD_SEMIVOICED_SOUND 143 // VK_DEAD_TILDE 131 // VK_DEAD_VOICED_SOUND 142 // VK_DECIMAL 110 // VK_DELETE 127 // VK_DIVIDE 111 // VK_DOWN 40 // VK_E 69 // VK_END 35 // VK_ENTER 10 // VK_EQUALS 61 // VK_ESCAPE 27 // VK_F 70 // VK_F1 112 // VK_F10 121 // VK_F11 122 // VK_F12 123 // VK_F2 113 // VK_F3 114 // VK_F4 115 // VK_F5 116 // VK_F6 117 // VK_F7 118 // VK_F8 119 // VK_F9 120 // VK_FINAL 24 // VK_FULL_WIDTH 243 // VK_G 71 // VK_GREATER 160 // VK_H 72 // VK_HALF_WIDTH 244 // VK_HELP 156 // VK_HIRAGANA 242 // VK_HOME 36 // VK_I 73 // VK_INSERT 155 // VK_J 74 // VK_K 75 // VK_KANA 21 // VK_KANJI 25 // VK_KATAKANA 241 // VK_KP_DOWN 225 // VK_KP_LEFT 226 // VK_KP_RIGHT 227 // VK_KP_UP 224 // VK_L 76 // VK_LEFT 37 // VK_LESS 153 // VK_M 77 // VK_META 157 // VK_MINUS 45 // VK_MODECHANGE 31 // VK_MULTIPLY 106 // VK_N 78 // VK_NONCONVERT 29 // VK_NUM_LOCK 144 // VK_NUMPAD0 96 // VK_NUMPAD1 97 // VK_NUMPAD2 98 // VK_NUMPAD3 99 // VK_NUMPAD4 100 // VK_NUMPAD5 101 // VK_NUMPAD6 102 // VK_NUMPAD7 103 // VK_NUMPAD8 104 // VK_NUMPAD9 105 // VK_O 79 // VK_OPEN_BRACKET 91 // VK_P 80 // VK_PAGE_DOWN 34 // VK_PAGE_UP 33 // VK_PAUSE 19 // VK_PERIOD 46 // VK_PRINTSCREEN 154 // VK_Q 81 // VK_QUOTE 222 // VK_QUOTEDBL 152 // VK_R 82 // VK_RIGHT 39 // VK_ROMAN_CHARACTERS 245 // VK_S 83 // VK_SCROLL_LOCK 145 // VK_SEMICOLON 59 // VK_SEPARATER 108 // VK_SHIFT 16 // VK_SLASH 47 // VK_SPACE 32 // VK_SUBTRACT 109 // VK_T 84 // VK_TAB 9 // VK_U 85 // VK_UNDEFINED 0 // VK_UP 38 // VK_V 86 // VK_W 87 // VK_X 88 // VK_Y 89 // VK_Z 90 // ---------------------------------------- // ■0x0100~0x01FF // ---------------------------------------- // VK_ALL_CANDIDATES 256 0x0100 // VK_CODE_INPUT 258 0x0102 // VK_INPUT_METHOD_ON_OFF 263 0x0107 // VK_JAPANESE_HIRAGANA 260 0x0104 // VK_JAPANESE_KATAKANA 259 0x0103 // VK_JAPANESE_ROMAN 261 0x0105 // VK_KANA_LOCK 262 0x0106 // VK_PREVIOUS_CANDIDATE 257 0x0101 // ---------------------------------------- // ■0x0200~0x02FF // ---------------------------------------- // VK_AT 512 0x0200 // VK_CIRCUMFLEX 514 0x0202 // VK_COLON 513 0x0201 // VK_CONTEXT_MENU 525 0x020D // VK_DOLLAR 515 0x0203 // VK_EURO_SIGN 516 0x0204 // VK_EXCLAMATION_MARK 517 0x0205 // VK_INVERTED_EXCLAMATION_MARK 518 0x0206 // VK_LEFT_PARENTHESIS 519 0x0207 // VK_NUMBER_SIGN 520 0x0208 // VK_PLUS 521 0x0209 // VK_RIGHT_PARENTHESIS 522 0x020A // VK_UNDERSCORE 523 0x020B // VK_WINDOWS 524 0x020C // ---------------------------------------- // ■0xF000~0xF0FF (0xF000~0xF00B) // ---------------------------------------- // VK_F13 61440 0xF000 -> 768 0x0300 // VK_F14 61441 0xF001 -> 769 0x0301 // VK_F15 61442 0xF002 -> 770 0x0302 // VK_F16 61443 0xF003 -> 771 0x0303 // VK_F17 61444 0xF004 -> 772 0x0304 // VK_F18 61445 0xF005 -> 773 0x0305 // VK_F19 61446 0xF006 -> 774 0x0306 // VK_F20 61447 0xF007 -> 775 0x0307 // VK_F21 61448 0xF008 -> 776 0x0308 // VK_F22 61449 0xF009 -> 777 0x0309 // VK_F23 61450 0xF00A -> 778 0x030A // VK_F24 61451 0xF00B -> 779 0x030B // ---------------------------------------- // ■0xFF00~0xFFFF (0xDD20~0xFFD1) // ---------------------------------------- // VK_AGAIN 65481 0xFFC9 -> 969 0x03C9 // VK_ALT_GRAPH 65406 0xFF7E -> 894 0x037E // VK_BEGIN 65368 0xFF58 -> 856 0x0358 // VK_COMPOSE 65312 0xFF20 -> 800 0x0320 // VK_COPY 65485 0xFFCD -> 973 0x03CD // VK_CUT 65489 0xFFD1 -> 977 0x03D1 // VK_FIND 65488 0xFFD0 -> 976 0x03D0 // VK_PASTE 65487 0xFFCF -> 975 0x03CF // VK_PROPS 65482 0xFFCA -> 970 0x03CA // VK_STOP 65480 0xFFC8 -> 968 0x03C8 // VK_UNDO 65483 0xFFCB -> 971 0x03CB // ---------------------------------------- // ■j80特殊コード // ---------------------------------------- // j80GUI.VK_NUMPAD_ENTER -> 1022 0x03FE (0x0400 - 2) // j80GUI.VK_RIGHT_SHIFT -> 1023 0x03FF (0x0400 - 1) // ============================================================= // 参考資料:Android版のキー定数 // http://developer.android.com/intl/ja/reference/android/view/KeyEvent.html#KEYCODE_0 // ============================================================= // KEYCODE_0 7 API Level 1 // KEYCODE_1 8 API Level 1 // KEYCODE_2 9 API Level 1 // KEYCODE_3 10 API Level 1 // KEYCODE_3D_MODE 206 API Level 14 // KEYCODE_4 11 API Level 1 // KEYCODE_5 12 API Level 1 // KEYCODE_6 13 API Level 1 // KEYCODE_7 14 API Level 1 // KEYCODE_8 15 API Level 1 // KEYCODE_9 16 API Level 1 // ---------------------------------------- // KEYCODE_A 29 API Level 1 // KEYCODE_ALT_LEFT 57 API Level 1 // KEYCODE_ALT_RIGHT 58 API Level 1 // KEYCODE_APOSTROPHE 75 API Level 1 // KEYCODE_APP_SWITCH 187 API Level 11 // KEYCODE_AT 77 API Level 1 // KEYCODE_AVR_INPUT 182 API Level 11 // KEYCODE_AVR_POWER 181 API Level 11 // ---------------------------------------- // KEYCODE_B 30 API Level 1 // KEYCODE_BACK 4 API Level 1 「戻る」ボタン ※使わないほうが良い // KEYCODE_BACKSLASH 73 API Level 1 // KEYCODE_BOOKMARK 174 API Level 11 // KEYCODE_BREAK 121 API Level 11 // KEYCODE_BUTTON_1 188 API Level 12 // KEYCODE_BUTTON_10 197 API Level 12 // KEYCODE_BUTTON_11 198 API Level 12 // KEYCODE_BUTTON_12 199 API Level 12 // KEYCODE_BUTTON_13 200 API Level 12 // KEYCODE_BUTTON_14 201 API Level 12 // KEYCODE_BUTTON_15 202 API Level 12 // KEYCODE_BUTTON_16 203 API Level 12 // KEYCODE_BUTTON_2 189 API Level 12 // KEYCODE_BUTTON_3 190 API Level 12 // KEYCODE_BUTTON_4 191 API Level 12 // KEYCODE_BUTTON_5 192 API Level 12 // KEYCODE_BUTTON_6 193 API Level 12 // KEYCODE_BUTTON_7 194 API Level 12 // KEYCODE_BUTTON_8 195 API Level 12 // KEYCODE_BUTTON_9 196 API Level 12 // KEYCODE_BUTTON_A 96 API Level 9 // KEYCODE_BUTTON_B 97 API Level 9 // KEYCODE_BUTTON_C 98 API Level 9 // KEYCODE_BUTTON_L1 102 API Level 9 // KEYCODE_BUTTON_L2 104 API Level 9 // KEYCODE_BUTTON_MODE 110 API Level 9 // KEYCODE_BUTTON_R1 103 API Level 9 // KEYCODE_BUTTON_R2 105 API Level 9 // KEYCODE_BUTTON_SELECT 109 API Level 9 // KEYCODE_BUTTON_START 108 API Level 9 // KEYCODE_BUTTON_THUMBL 106 API Level 9 // KEYCODE_BUTTON_THUMBR 107 API Level 9 // KEYCODE_BUTTON_X 99 API Level 9 // KEYCODE_BUTTON_Y 100 API Level 9 // KEYCODE_BUTTON_Z 101 API Level 9 // ---------------------------------------- // KEYCODE_C 31 API Level 1 // KEYCODE_CALL 5 API Level 1 // KEYCODE_CAMERA 27 API Level 1 // KEYCODE_CAPS_LOCK 115 API Level 11 // KEYCODE_CAPTIONS 175 API Level 11 // KEYCODE_CHANNEL_DOWN 167 API Level 11 // KEYCODE_CHANNEL_UP 166 API Level 11 // KEYCODE_CLEAR 28 API Level 1 // KEYCODE_COMMA 55 API Level 1 // KEYCODE_CTRL_LEFT 113 API Level 11 // KEYCODE_CTRL_RIGHT 114 API Level 11 // ---------------------------------------- // KEYCODE_D 32 API Level 1 // KEYCODE_DEL 67 API Level 1 // KEYCODE_DPAD_CENTER 23 API Level 1 // KEYCODE_DPAD_DOWN 20 API Level 1 // KEYCODE_DPAD_LEFT 21 API Level 1 // KEYCODE_DPAD_RIGHT 22 API Level 1 // KEYCODE_DPAD_UP 19 API Level 1 // KEYCODE_DVR 173 API Level 11 // ---------------------------------------- // KEYCODE_E 33 API Level 1 // KEYCODE_ENDCALL 6 API Level 1 // KEYCODE_ENVELOPE 65 API Level 1 // KEYCODE_EQUALS 70 API Level 1 // KEYCODE_ESCAPE 111 API Level 11 // KEYCODE_EXPLORER 64 API Level 1 // ---------------------------------------- // KEYCODE_F 34 API Level 1 // KEYCODE_F1 131 API Level 11 // KEYCODE_F10 140 API Level 11 // KEYCODE_F11 141 API Level 11 // KEYCODE_F12 142 API Level 11 // KEYCODE_F2 132 API Level 11 // KEYCODE_F3 133 API Level 11 // KEYCODE_F4 134 API Level 11 // KEYCODE_F5 135 API Level 11 // KEYCODE_F6 136 API Level 11 // KEYCODE_F7 137 API Level 11 // KEYCODE_F8 138 API Level 11 // KEYCODE_F9 139 API Level 11 // KEYCODE_FOCUS 80 API Level 1 // KEYCODE_FORWARD 125 API Level 11 // KEYCODE_FORWARD_DEL 112 API Level 11 // KEYCODE_FUNCTION 119 API Level 11 // ---------------------------------------- // KEYCODE_G 35 API Level 1 // KEYCODE_GRAVE 68 API Level 1 // KEYCODE_GUIDE 172 API Level 11 // ---------------------------------------- // KEYCODE_H 36 API Level 1 // KEYCODE_HEADSETHOOK 79 API Level 1 // KEYCODE_HOME 3 API Level 1 // ---------------------------------------- // KEYCODE_I 37 API Level 1 // KEYCODE_INFO 165 API Level 11 // KEYCODE_INSERT 124 API Level 11 // ---------------------------------------- // KEYCODE_J 38 API Level 1 // ---------------------------------------- // KEYCODE_K 39 API Level 1 // ---------------------------------------- // KEYCODE_L 40 API Level 1 // KEYCODE_LANGUAGE_SWITCH 204 API Level 14 // KEYCODE_LEFT_BRACKET 71 API Level 1 [ // ---------------------------------------- // KEYCODE_M 41 API Level 1 // KEYCODE_MANNER_MODE 205 API Level 14 // KEYCODE_MEDIA_CLOSE 128 API Level 11 // KEYCODE_MEDIA_EJECT 129 API Level 11 // KEYCODE_MEDIA_FAST_FORWARD 90 API Level 3 // KEYCODE_MEDIA_NEXT 87 API Level 3 // KEYCODE_MEDIA_PAUSE 127 API Level 11 // KEYCODE_MEDIA_PLAY 126 API Level 11 // KEYCODE_MEDIA_PLAY_PAUSE 85 API Level 3 // KEYCODE_MEDIA_PREVIOUS 88 API Level 3 // KEYCODE_MEDIA_RECORD 130 API Level 11 // KEYCODE_MEDIA_REWIND 89 API Level 3 // KEYCODE_MEDIA_STOP 86 API Level 3 // KEYCODE_MENU 82 API Level 1 // KEYCODE_META_LEFT 117 API Level 11 // KEYCODE_META_RIGHT 118 API Level 11 // KEYCODE_MINUS 69 API Level 1 // KEYCODE_MOVE_END 123 API Level 11 // KEYCODE_MOVE_HOME 122 API Level 11 // KEYCODE_MUTE 91 API Level 3 // ---------------------------------------- // KEYCODE_N 42 API Level 1 // KEYCODE_NOTIFICATION 83 API Level 1 // KEYCODE_NUM 78 API Level 1 // KEYCODE_NUMPAD_0 144 API Level 11 // KEYCODE_NUMPAD_1 145 API Level 11 // KEYCODE_NUMPAD_2 146 API Level 11 // KEYCODE_NUMPAD_3 147 API Level 11 // KEYCODE_NUMPAD_4 148 API Level 11 // KEYCODE_NUMPAD_5 149 API Level 11 // KEYCODE_NUMPAD_6 150 API Level 11 // KEYCODE_NUMPAD_7 151 API Level 11 // KEYCODE_NUMPAD_8 152 API Level 11 // KEYCODE_NUMPAD_9 153 API Level 11 // KEYCODE_NUMPAD_ADD 157 API Level 11 // KEYCODE_NUMPAD_COMMA 159 API Level 11 // KEYCODE_NUMPAD_DIVIDE 160 API Level 11 // KEYCODE_NUMPAD_DOT 158 API Level 11 // KEYCODE_NUMPAD_ENTER 160 API Level 11 // ---------------------------------------- // KEYCODE_NUMPAD_EQUALS 161 API Level 11 // KEYCODE_NUMPAD_LEFT_PAREN 162 API Level 11 ( // KEYCODE_NUMPAD_MULTIPLY 155 API Level 11 // KEYCODE_NUMPAD_RIGHT_PAREN 163 API Level 11 ) // KEYCODE_NUMPAD_SUBTRACT 156 API Level 11 // KEYCODE_NUM_LOCK 143 API Level 11 // ---------------------------------------- // KEYCODE_O 43 API Level 1 // ---------------------------------------- // KEYCODE_P 44 API Level 1 // KEYCODE_PAGE_DOWN 93 API Level 9 // KEYCODE_PAGE_UP 92 API Level 9 // KEYCODE_PERIOD 56 API Level 1 // KEYCODE_PICTSYMBOLS 94 API Level 9 // KEYCODE_PLUS 81 API Level 1 // KEYCODE_POUND 18 API Level 1 # // KEYCODE_POWER 26 API Level 1 // KEYCODE_PROG_BLUE 186 API Level 11 // KEYCODE_PROG_GREEN 184 API Level 11 // KEYCODE_PROG_RED 183 API Level 11 // KEYCODE_PROG_YELLOW 185 API Level 11 // ---------------------------------------- // KEYCODE_Q 45 API Level 1 // ---------------------------------------- // KEYCODE_R 46 API Level 1 // KEYCODE_RIGHT_BRACKET 72 API Level 1 ] // ---------------------------------------- // KEYCODE_S 47 API Level 1 // KEYCODE_SCROLL_LOCK 116 API Level 11 // KEYCODE_SEARCH 84 API Level 1 // KEYCODE_SEMICOLON 74 API Level 1 // KEYCODE_SETTINGS 176 API Level 11 // KEYCODE_SHIFT_LEFT 59 API Level 1 // KEYCODE_SHIFT_RIGHT 60 API Level 1 // KEYCODE_SLASH 76 API Level 1 // KEYCODE_SOFT_LEFT 1 API Level 1 // KEYCODE_SOFT_RIGHT 2 API Level 1 // KEYCODE_SPACE 62 API Level 1 // KEYCODE_STAR 17 API Level 1 // KEYCODE_STB_INPUT 180 API Level 11 // KEYCODE_STB_POWER 179 API Level 11 // KEYCODE_SWITCH_CHARSET 95 API Level 9 // KEYCODE_SYM 63 API Level 1 // KEYCODE_SYSRQ 120 API Level 11 // ---------------------------------------- // KEYCODE_T 48 API Level 1 // KEYCODE_TAB 61 API Level 1 // KEYCODE_TV 170 API Level 11 // KEYCODE_TV_INPUT 178 API Level 11 // KEYCODE_TV_POWER 177 API Level 11 // ---------------------------------------- // KEYCODE_U 49 API Level 1 // KEYCODE_UNKNOWN 0 API Level 1 // ---------------------------------------- // KEYCODE_V 50 API Level 1 // KEYCODE_VOLUME_DOWN 25 API Level 1 // KEYCODE_VOLUME_MUTE 164 API Level 11 // KEYCODE_VOLUME_UP 24 API Level 1 // ---------------------------------------- // KEYCODE_W 51 API Level 1 // KEYCODE_WINDOW 171 API Level 11 // ---------------------------------------- // KEYCODE_X 52 API Level 1 // ---------------------------------------- // KEYCODE_Y 53 API Level 1 // ---------------------------------------- // KEYCODE_Z 54 API Level 1 // KEYCODE_ZOOM_IN 168 API Level 11 // KEYCODE_ZOOM_OUT 169 API Level 11 // =============================================================