本文提供西門子 (Siemens) 系列 Java 手機的按鍵名稱與鍵碼 (Key Code) 映射表,供 J2ME 遊戲/應用開發者在處理 Canvas.keyPressed(int keyCode) 事件時快速查閱,避免逐個測試。
| 按鍵名稱 | 鍵碼 (int) | 備註 |
|---|---|---|
| LSK (左軟鍵) | -1 | 通常映射為「選項/菜單」 |
| RSK (右軟鍵) | -4 | 通常映射為「返回/取消」 |
| 側● (側邊確認鍵) | -6 | |
| 側+ (音量+ / 側邊上) | -13 | |
| 側- (音量- / 側邊下) | -14 | |
| 側▲ (側邊上鍵) | -63 | |
| DIAL (接聽/撥號鍵) | -11 | |
| HANG (掛機/電源鍵) | -12 | 通常由系統攔截,難以捕獲 |
| UP (方向上) | -59 | |
| DOWN (方向下) | -60 | |
| LEFT (方向左) | -61 | |
| RIGHT (方向右) | -62 | |
| * (星號鍵) | 42 | ASCII '*': 42 |
| # (井號鍵) | 35 | ASCII '#': 35 |
| 0 | 48 | ASCII '0': 48 |
| 1 | 49 | ASCII '1': 49 |
| 2 | 50 | ASCII '2': 50 |
| 3 | 51 | ASCII '3': 51 |
| 4 | 52 | ASCII '4': 52 |
| 5 | 53 | ASCII '5': 53 |
| 6 | 54 | ASCII '6': 54 |
| 7 | 55 | ASCII '7': 55 |
| 8 | 56 | ASCII '8': 56 |
| 9 | 57 | ASCII '9': 57 |
| 電話本 (Phonebook 專用鍵) | -5 | 部分機型 (如 S65/CX65) 支持 |
Canvas.KEY_NUM0 等常量 (MIDP 2.0+)。public static final int KEY_LSK = -1;,提高可讀性與可移植性。keyPressed 中打印 keyCode 驗證表格準確性。HANG 鍵 (掛機/電源) 多被系統層攔截,極少傳遞給 MIDlet,不建議依賴該鍵實現業務邏輯。測試機型包括但不限於:Siemens S65, C65, CX65, M65, S68, SL65, SK65 等基於同一 Java 平台的機型。不同固件版本可能存在細微差異,以實測為準。