Perangkat papan ketik

Android mendukung berbagai perangkat keyboard termasuk keypad fungsi khusus (kontrol volume dan daya), keyboard QWERTY ringkas yang tertanam, dan keyboard eksternal bergaya PC berfitur lengkap.

Dokumen ini hanya menjelaskan keyboard fisik. Lihat SDK Android untuk informasi tentang keyboard lunak (Editor Metode Input).

Klasifikasi papan ketik

Perangkat input diklasifikasikan sebagai keyboard jika salah satu dari kondisi berikut terpenuhi:

  • Perangkat input melaporkan keberadaan kode kunci Linux apa pun yang digunakan pada keyboard termasuk 0 hingga 0xff atau KEY_OK hingga KEY_MAX .

  • Perangkat input melaporkan keberadaan kode kunci Linux apa pun yang digunakan pada joystick dan gamepad termasuk BTN_0 hingga BTN_9 , BTN_TRIGGER hingga BTN_DEAD , atau BTN_A hingga BTN_THUMBR .

Joystick saat ini diklasifikasikan sebagai keyboard karena tombol joystick dan gamepad dilaporkan oleh peristiwa EV_KEY dengan cara yang sama seperti tombol keyboard dilaporkan. Oleh karena itu, joystick dan gamepad juga menggunakan file peta utama untuk konfigurasi.

Setelah perangkat input diklasifikasikan sebagai keyboard, sistem memuat file konfigurasi perangkat input dan tata letak keyboard untuk keyboard tersebut.

Sistem kemudian mencoba menentukan karakteristik tambahan perangkat.

  • Jika perangkat masukan memiliki kunci yang dipetakan ke KEYCODE_Q , maka perangkat tersebut dianggap memiliki papan tombol alfabet (bukan numerik). Kemampuan keypad alfabet dilaporkan dalam objek Configuration sumber daya sebagai KEYBOARD_QWERTY .

  • Jika perangkat input memiliki kunci yang dipetakan ke KEYCODE_DPAD_UP , KEYCODE_DPAD_DOWN , KEYCODE_DPAD_LEFT , KEYCODE_DPAD_RIGHT , dan KEYCODE_DPAD_CENTER (semuanya harus ada), maka perangkat tersebut dianggap memiliki keypad arah. Kemampuan papan tombol arah dilaporkan dalam objek Configuration sumber daya sebagai NAVIGATION_DPAD .

  • Jika perangkat input memiliki tombol apa pun yang dipetakan ke KEYCODE_BUTTON_A atau tombol terkait gamepad lainnya, maka perangkat tersebut dianggap memiliki gamepad.

Persyaratan driver keyboard

  1. Driver keyboard hanya boleh mendaftarkan kode kunci untuk kunci yang benar-benar didukungnya. Mendaftarkan kode kunci berlebih dapat membingungkan algoritma klasifikasi perangkat atau menyebabkan sistem salah mendeteksi kemampuan keyboard yang didukung pada perangkat.

  2. Driver keyboard harus menggunakan EV_KEY untuk melaporkan penekanan tombol, menggunakan nilai 0 untuk menunjukkan bahwa tombol dilepaskan, nilai 1 untuk menunjukkan bahwa tombol ditekan, dan nilai lebih besar dari atau sama dengan 2 untuk menunjukkan bahwa tombol tersebut ditekan. diulang secara otomatis.

  3. Android melakukan pengulangan keyboardnya sendiri. Fungsionalitas pengulangan otomatis harus dinonaktifkan di driver.

  4. Driver keyboard secara opsional dapat menunjukkan penggunaan HID atau kode pemindaian tingkat rendah dengan mengirimkan EV_MSC dengan MSC_SCANCODE dan nilai yang menunjukkan penggunaan atau kode pemindaian ketika tombol ditekan. Informasi ini saat ini tidak digunakan oleh Android.

  5. Driver keyboard harus mendukung pengaturan status LED saat EV_LED ditulis ke perangkat. Driver hid-input menangani ini secara otomatis. Pada saat penulisan ini, Android menggunakan LED_CAPSLOCK , LED_SCROLLLOCK , dan LED_NUMLOCK . LED ini hanya perlu didukung bila keyboard benar-benar dilengkapi lampu indikator terkait.

  6. Driver keyboard untuk keypad tertanam (misalnya, menggunakan matriks GPIO) harus memastikan untuk mengirimkan peristiwa EV_KEY dengan nilai 0 untuk setiap tombol yang masih ditekan saat perangkat akan tidur. Jika tidak, kunci mungkin akan macet dan akan berulang secara otomatis selamanya.

Pengoperasian papan ketik

Berikut rangkuman singkat pengoperasian keyboard di Android.

  1. EventHub membaca peristiwa mentah dari driver evdev dan memetakan kode kunci Linux (terkadang disebut sebagai kode pindaian) ke dalam kode kunci Android menggunakan peta tata letak tombol keyboard.

  2. InputReader menggunakan peristiwa mentah dan memperbarui status kunci meta. Misalnya, jika tombol shift kiri ditekan atau dilepaskan, pembaca akan mengatur atau mereset bit META_SHIFT_LEFT_ON dan META_SHIFT_ON .

  3. InputReader memberi tahu InputDispatcher tentang peristiwa penting.

  4. InputDispatcher menanyakan WindowManagerPolicy apa yang harus dilakukan dengan peristiwa penting dengan memanggil WindowManagerPolicy.interceptKeyBeforeQueueing . Metode ini merupakan bagian dari jalur kritis yang bertanggung jawab untuk membangunkan perangkat ketika tombol tertentu ditekan. EventHub secara efektif menahan penguncian layar saat aktif di sepanjang jalur kritis ini untuk memastikan bahwa jalur tersebut akan berjalan hingga selesai.

  5. Jika InputFilter sedang digunakan, InputDispatcher memberinya kesempatan untuk menggunakan atau mengubah kunci. InputFilter dapat digunakan untuk menerapkan kebijakan aksesibilitas tingkat rendah di seluruh sistem.

  6. InputDispatcher mengantrekan kunci untuk diproses pada thread pengiriman.

  7. Ketika InputDispatcher mengeluarkan kunci, hal ini memberikan WindowManagerPolicy kesempatan kedua untuk mencegat peristiwa kunci dengan memanggil WindowManagerPolicy.interceptKeyBeforeDispatching . Metode ini menangani pintasan sistem dan fungsi lainnya.

  8. InputDispatcher kemudian mengidentifikasi target peristiwa utama (jendela fokus) dan menunggu hingga target tersebut siap. Kemudian, InputDispatcher mengirimkan peristiwa penting ke aplikasi.

  9. Di dalam aplikasi, peristiwa kunci menyebar ke bawah hierarki tampilan ke tampilan terfokus untuk pengiriman kunci pra-IME.

  10. Jika peristiwa utama tidak ditangani dalam pengiriman pra-IME dan IME sedang digunakan, peristiwa utama dikirimkan ke IME.

  11. Jika peristiwa utama tidak digunakan oleh IME, maka peristiwa utama tersebut akan menyebar ke bawah hierarki tampilan ke tampilan terfokus untuk pengiriman kunci standar.

  12. Aplikasi melaporkan kembali ke InputDispatcher apakah peristiwa penting telah digunakan. Jika peristiwa tidak digunakan, InputDispatcher memanggil WindowManagerPolicy.dispatchUnhandledKey untuk menerapkan perilaku "fallback". Bergantung pada tindakan fallback, siklus pengiriman kejadian penting dapat dimulai ulang menggunakan kode kunci yang berbeda. Misalnya, jika aplikasi tidak menangani KEYCODE_ESCAPE , sistem mungkin mengirim ulang peristiwa kunci sebagai KEYCODE_BACK .

Konfigurasi papan ketik

Perilaku keyboard ditentukan oleh tata letak tombol keyboard, peta karakter tombol, dan konfigurasi perangkat input.

Lihat bagian berikut untuk rincian lebih lanjut tentang file yang berpartisipasi dalam konfigurasi keyboard:

Properti

Properti konfigurasi perangkat input berikut digunakan untuk keyboard.

keyboard.tata letak

Definisi: keyboard.layout = <nama>

Menentukan nama file tata letak kunci yang terkait dengan perangkat input, tidak termasuk ekstensi .kl . Jika file ini tidak ditemukan, sistem input akan menggunakan tata letak kunci default.

Spasi pada nama diubah menjadi garis bawah selama pencarian.

Lihat dokumentasi file tata letak kunci untuk detail selengkapnya.

keyboard.characterMap

Definisi: keyboard.characterMap = <nama>

Menentukan nama file peta karakter kunci yang terkait dengan perangkat input, tidak termasuk ekstensi .kcm . Jika file ini tidak ditemukan, sistem input akan menggunakan peta karakter kunci default.

Spasi pada nama diubah menjadi garis bawah selama pencarian.

Lihat dokumentasi file peta karakter kunci untuk lebih jelasnya.

keyboard.orientationAware

Definisi: keyboard.orientationAware = 0 | 1

Menentukan apakah keyboard harus bereaksi terhadap perubahan orientasi tampilan.

  • Jika nilainya 1 , tombol arah akan diputar ketika orientasi tampilan terkait berubah.

  • Jika nilainya 0 , keyboard kebal terhadap perubahan orientasi tampilan.

Nilai defaultnya adalah 0 .

Kesadaran orientasi digunakan untuk mendukung perputaran tombol arah, seperti pada Motorola Droid. Misalnya, saat perangkat diputar searah jarum jam 90 derajat dari orientasi aslinya, KEYCODE_DPAD_UP dipetakan ulang untuk menghasilkan KEYCODE_DPAD_RIGHT karena tombol 'atas' akhirnya mengarah ke 'kanan' saat perangkat dipegang dalam orientasi tersebut.

keyboard.bawaan

Definisi: keyboard.builtIn = 0 | 1

Menentukan apakah keyboard merupakan keyboard internal (terpasang secara fisik).

Nilai defaultnya adalah 1 jika nama perangkat diakhiri dengan -keypad , 0 jika tidak.

Keyboard internal selalu diberi id perangkat 0 . Papan ketik lain yang bukan bawaan diberi id perangkat unik yang bukan nol.

Menggunakan id 0 untuk keyboard internal penting untuk menjaga kompatibilitas dengan bidang KeyCharacterMap.BUILT_IN_KEYBOARD , yang menentukan id keyboard internal dan memiliki nilai 0 . Bidang ini sudah tidak digunakan lagi di API tetapi aplikasi lama mungkin masih menggunakannya.

Keyboard dengan fungsi khusus (yang peta karakter kuncinya menentukan jenis SPECIAL_FUNCTION ) tidak akan pernah didaftarkan sebagai keyboard internal, apa pun pengaturan properti ini. Hal ini karena keyboard dengan fungsi khusus menurut definisinya tidak dimaksudkan untuk digunakan untuk pengetikan umum.

Contoh konfigurasi

# 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

Catatan kompatibilitas

Sebelum Honeycomb, pemeta masukan keyboard tidak menggunakan properti konfigurasi apa pun. Semua keyboard diasumsikan terpasang secara fisik dan sadar orientasi. Tata letak kunci default dan peta karakter kunci diberi nama qwerty , bukan Generic . Format peta karakter kunci juga sangat berbeda dan kerangka kerjanya tidak mendukung keyboard lengkap bergaya PC atau keyboard eksternal.

Saat memutakhirkan perangkat ke Honeycomb, pastikan untuk membuat atau memperbarui konfigurasi dan file peta utama yang diperlukan.

Penggunaan HID, kode kunci Linux, dan kode kunci Android

Sistem merujuk ke kunci menggunakan beberapa pengidentifikasi berbeda, bergantung pada lapisan abstraksi.

Untuk perangkat HID, setiap kunci memiliki penggunaan HID terkait. Driver hid-input Linux dan vendor terkait serta driver HID khusus perangkat bertanggung jawab untuk mengurai laporan HID dan memetakan penggunaan HID ke kode kunci Linux.

Saat Android membaca peristiwa EV_KEY dari kernel Linux, Android menerjemahkan setiap kode kunci Linux ke dalam kode kunci Android yang sesuai sesuai dengan file tata letak kunci perangkat.

Saat peristiwa kunci dikirim ke aplikasi, instance android.view.KeyEvent melaporkan kode kunci Linux sebagai nilai getScanCode() dan kode kunci Android sebagai nilai getKeyCode() . Untuk keperluan kerangka kerja, hanya nilai getKeyCode() yang penting.

Perlu diperhatikan bahwa informasi penggunaan HID tidak digunakan oleh Android itu sendiri atau diteruskan ke aplikasi.

Tabel kode

Tabel berikut menunjukkan keterkaitan penggunaan HID, kode kunci Linux, dan kode kunci Android.

Kolom LKC menentukan kode kunci Linux dalam heksadesimal.

Kolom AKC menentukan kode kunci Android dalam heksadesimal.

Kolom Catatan mengacu pada catatan yang diposting setelah tabel.

Kolom Versi menentukan versi pertama platform Android yang menyertakan kunci ini dalam peta kunci defaultnya. Beberapa baris ditampilkan jika peta kunci default telah berubah antar versi. Versi tertua yang ditunjukkan adalah 1.6.

  • Di Gingerbread (2.3) dan rilis sebelumnya, peta kunci default adalah qwerty.kl . Peta kunci ini hanya ditujukan untuk digunakan dengan Android Emulator dan tidak dimaksudkan untuk digunakan untuk mendukung keyboard eksternal sembarangan. Namun demikian, beberapa OEM menambahkan dukungan keyboard Bluetooth ke platform dan mengandalkan qwerty.kl untuk menyediakan pemetaan keyboard yang diperlukan. Oleh karena itu, pemetaan lama ini mungkin menarik bagi OEM yang sedang membangun periferal untuk perangkat khusus ini. Perhatikan bahwa pemetaannya sangat berbeda dari pemetaan saat ini, khususnya yang berkaitan dengan perlakuan terhadap kunci HOME . Direkomendasikan agar semua periferal baru dikembangkan sesuai dengan Honeycomb atau peta kunci yang lebih baru (misalnya HID standar).

  • Pada Honeycomb (3.0), peta kunci default adalah Generic.kl . Peta kunci ini dirancang untuk mendukung keyboard gaya PC lengkap. Sebagian besar fungsionalitas keyboard HID standar seharusnya langsung berfungsi.

Pemetaan kode kunci mungkin berbeda antar versi kernel Linux dan Android. Jika perubahan diketahui telah terjadi pada peta kunci default Android, perubahan tersebut akan ditunjukkan di kolom versi.

Driver HID dan peta kunci khusus perangkat mungkin menerapkan pemetaan berbeda dari yang ditunjukkan di sini.

Halaman keyboard dan keypad HID (0x07)

Penggunaan HID Nama Penggunaan HID LKC Nama Kode Kunci Linux Versi: kapan AKC Nama Kode Kunci Android Catatan
0x07 0x0001 Kesalahan Keyboard Berguling
0x07 0x0002 POST keyboard gagal
0x07 0x0003 Kesalahan Keyboard Tidak Terdefinisi
0x07 0x0004 Papan ketik a dan a 0x001e KUNCI_A 1.6 0x001d KODE KUNCI_A 1
0x07 0x0005 Papan ketik b dan b 0x0030 KUNCI_B 1.6 0x001e KODE KUNCI_B 1
0x07 0x0006 Papan ketik c dan c 0x002e KUNCI_C 1.6 0x001f KODE KUNCI_C 1
0x07 0x0007 Papan ketik d dan d 0x0020 KUNCI_D 1.6 0x0020 KODE KUNCI_D 1
0x07 0x0008 Papan ketik e dan E 0x0012 KUNCI_E 1.6 0x0021 KODE KUNCI_E 1
0x07 0x0009 Papan ketik f dan f 0x0021 KUNCI_F 1.6 0x0022 KODE KUNCI_F 1
0x07 0x000a Papan ketik g dan G 0x0022 KUNCI_G 1.6 0x0023 KODE KUNCI_G 1
0x07 0x000b Papan ketik h dan H 0x0023 KUNCI_H 1.6 0x0024 KODE KUNCI_H 1
0x07 0x000c Papan ketik saya dan saya 0x0017 KUNCI_I 1.6 0x0025 KODE KUNCI_I 1
0x07 0x000d Papan ketik j dan J 0x0024 KUNCI_J 1.6 0x0026 KODE KUNCI_J 1
0x07 0x000e Papan ketik k dan K 0x0025 KUNCI_K 1.6 0x0027 KODE KUNCI_K 1
0x07 0x000f Papan ketik l dan l 0x0026 KUNCI_L 1.6 0x0028 KODE KUNCI_L 1
0x07 0x0010 Papan ketik m dan M 0x0032 KUNCI_M 1.6 0x0029 KODE KUNCI_M 1
0x07 0x0011 Papan ketik n dan N 0x0031 KUNCI_N 1.6 0x002a KODE KUNCI_N 1
0x07 0x0012 Papan ketik o dan o 0x0018 KUNCI_O 1.6 0x002b KODE KUNCI_O 1
0x07 0x0013 Papan ketik p dan P 0x0019 KUNCI_P 1.6 0x002c KODE KUNCI_P 1
0x07 0x0014 Papan ketik q dan Q 0x0010 KUNCI_Q 1.6 0x002d KODE KUNCI_Q 1
0x07 0x0015 Papan ketik r dan R 0x0013 KUNCI_R 1.6 0x002e KODE KUNCI_R 1
0x07 0x0016 Papan ketik s dan S 0x001f KUNCI_S 1.6 0x002f KODE KUNCI_S 1
0x07 0x0017 Papan ketik t dan T 0x0014 KUNCI_T 1.6 0x0030 KODE KUNCI_T 1
0x07 0x0018 Papan ketik kamu dan kamu 0x0016 KUNCI_U 1.6 0x0031 KODE KUNCI_U 1
0x07 0x0019 Papan ketik v dan V 0x002f KUNCI_V 1.6 0x0032 KODE KUNCI_V 1
0x07 0x001a Papan ketik w dan W 0x0011 KUNCI_W 1.6 0x0033 KODE KUNCI_W 1
0x07 0x001b Papan ketik x dan x 0x002d KUNCI_X 1.6 0x0034 KODE KUNCI_X 1
0x07 0x001c Papan ketik y dan y 0x0015 KUNCI_Y 1.6 0x0035 KODE KUNCI_Y 1
0x07 0x001d Papan ketik z dan Z 0x002c KUNCI_Z 1.6 0x0036 KODE KUNCI_Z 1
0x07 0x001e Papan ketik 1 dan ! 0x0002 KUNCI_1 1.6 0x0008 KODE KUNCI_1 1
0x07 0x001f Papan ketik 2 dan @ 0x0003 KUNCI_2 1.6 0x0009 KODE KUNCI_2 1
0x07 0x0020 Papan ketik 3 dan # 0x0004 KUNCI_3 1.6 0x000a KODE KUNCI_3 1
0x07 0x0021 Papan ketik 4 dan $ 0x0005 KUNCI_4 1.6 0x000b KODE KUNCI_4 1
0x07 0x0022 Papan ketik 5 dan % 0x0006 KUNCI_5 1.6 0x000c KODE KUNCI_5 1
0x07 0x0023 Papan Ketik 6 dan ^ 0x0007 KUNCI_6 1.6 0x000d KODE KUNCI_6 1
0x07 0x0024 Papan Ketik 7 dan & 0x0008 KUNCI_7 1.6 0x000e KODE KUNCI_7 1
0x07 0x0025 Papan ketik 8 dan * 0x0009 KUNCI_8 1.6 0x000f KODE KUNCI_8 1
0x07 0x0026 Papan ketik 9 dan ( 0x000a KUNCI_9 1.6 0x0010 KODE KUNCI_9 1
0x07 0x0027 Papan ketik 0 dan ) 0x000b KUNCI_0 1.6 0x0007 KODE KUNCI_0 1
0x07 0x0028 Pengembalian Keyboard (ENTER) 0x001c KEY_ENTER 1.6 0x0042 KODE KUNCI_ENTER 1
0x07 0x0029 Pelarian Papan Ketik 0x0001 KEY_ESC 3.0 0x006f KODE KUNCI_ESCAPE
"" "" "" "" 2.3 0x0004 KODE KUNCI_BACK
0x07 0x002a HAPUS Keyboard (Backspace) 0x000e KEY_BACKSPACE 1.6 0x0043 KODE KUNCI_DEL
0x07 0x002b Tab Papan Ketik 0x000f KEY_TAB 1.6 0x003d KODE KUNCI_TAB
0x07 0x002c Spasi Keyboard 0x0039 KEY_SPACE 1.6 0x003e KODE KUNCI_SPACE
0x07 0x002d Papan ketik - dan _ 0x000c KUNCI_MINUS 1.6 0x0045 KODE KUNCI_MINUS 1
0x07 0x002e Papan ketik = dan + 0x000d KUNCI_SAMA 1.6 0x0046 KODE KUNCI_SAMA 1
0x07 0x002f Papan ketik [ dan { 0x001a KEY_LEFTBRACE 1.6 0x0047 KODE KUNCI_LEFT_BRACKET 1
0x07 0x0030 Papan ketik ] dan } 0x001b KEY_RIGHTBRACE 1.6 0x0048 KODE KUNCI_RIGHT_BRACKET 1
0x07 0x0031 Papan ketik \ dan | 0x002b KEY_BACKSLASH 1.6 0x0049 KODE KUNCI_BACKSLASH 1
0x07 0x0032 Keyboard Non-AS # dan ~ 0x002b KEY_BACKSLASH 1.6 0x0049 KODE KUNCI_BACKSLASH 1
0x07 0x0033 Papan ketik ; Dan : 0x0027 KUNCI_SEMICOLON 1.6 0x004a KODE KUNCI_SEMICOLON 1
0x07 0x0034 Papan ketik ' dan " 0x0028 KEY_APOSTROPHE 1.6 0x004b KODE KUNCI_APOSTROPHE 1
0x07 0x0035 Papan ketik ` dan ~ 0x0029 KEY_GRAVE 3.0 0x0044 KODE KUNCI_GRAVE 1
0x07 0x0036 Papan ketik , dan < 0x0033 KEY_COMMA 1.6 0x0037 KODE KUNCI_COMMA 1
0x07 0x0037 Papan ketik . dan > 0x0034 KUNCI_DOT 1.6 0x0038 KODE KUNCI_PERIOD 1
0x07 0x0038 Papan ketik / dan ? 0x0035 KEY_SLASH 1.6 0x004c KODE KUNCI_SLASH 1
0x07 0x0039 Kunci Caps Papan Ketik 0x003a KEY_CAPSLOCK 3.0 0x0073 KODE KUNCI_CAPS_LOCK
0x07 0x003a Papan Ketik F1 0x003b KUNCI_F1 3.0 0x0083 KODE KUNCI_F1
"" "" "" "" 1.6 0x0052 KODE KUNCI_MENU
0x07 0x003b Papan Ketik F2 0x003c KUNCI_F2 3.0 0x0084 KODE KUNCI_F2
"" "" "" "" 1.6 0x0002 KODE KUNCI_SOFT_RIGHT
0x07 0x003c Papan Ketik F3 0x003d KUNCI_F3 3.0 0x0085 KODE KUNCI_F3
"" "" "" "" 1.6 0x0005 KODE KUNCI_PANGGILAN
0x07 0x003d Papan Ketik F4 0x003e KUNCI_F4 3.0 0x0086 KODE KUNCI_F4
"" "" "" "" 1.6 0x0006 KODE KUNCI_ENDCALL
0x07 0x003e Papan Ketik F5 0x003f KUNCI_F5 3.0 0x0087 KODE KUNCI_F5
0x07 0x003f Papan Ketik F6 0x0040 KUNCI_F6 3.0 0x0088 KODE KUNCI_F6
0x07 0x0040 Papan Ketik F7 0x0041 KUNCI_F7 3.0 0x0089 KODE KUNCI_F7
0x07 0x0041 Papan Ketik F8 0x0042 KUNCI_F8 3.0 0x008a KODE KUNCI_F8
0x07 0x0042 Papan Ketik F9 0x0043 KUNCI_F9 3.0 0x008b KODE KUNCI_F9
0x07 0x0043 Papan ketik F10 0x0044 KUNCI_F10 3.0 0x008c KODE KUNCI_F10
"" "" "" "" 2.3 0x0052 KODE KUNCI_MENU
0x07 0x0044 Papan Ketik F11 0x0057 KUNCI_F11 3.0 0x008d KODE KUNCI_F11
0x07 0x0045 Papan Ketik F12 0x0058 KUNCI_F12 3.0 0x008e KODE KUNCI_F12
0x07 0x0046 Layar Cetak Papan Ketik 0x0063 KEY_SYSRQ 3.0 0x0078 KODE KUNCI_SYSRQ
0x07 0x0047 Kunci Gulir Keyboard 0x0046 KEY_SCROLLLOCK 3.0 0x0074 KODE KUNCI_SCROLL_LOCK
0x07 0x0048 Jeda Papan Ketik 0x0077 KEY_PAUSE 3.0 0x0079 KODE KUNCI_BREAK
0x07 0x0049 Sisipan Papan Ketik 0x006e KEY_INSERT 3.0 0x007c KODE KUNCI_INSERT
0x07 0x004a Beranda Papan Ketik 0x0066 KUNCI_HOME 3.0 0x007a KODE KUNCI_MOVE_HOME
"" "" "" "" 1.6 0x0003 KODE KUNCI_HOME
0x07 0x004b Halaman Papan Ketik Naik 0x0068 KEY_PAGEUP 3.0 0x005c KODE KUNCI_PAGE_UP
0x07 0x004c Hapus Keyboard Teruskan 0x006f KEY_DELETE 3.0 0x0070 KODE KUNCI_FORWARD_DEL
0x07 0x004d Akhir Papan Ketik 0x006b KEY_END 3.0 0x007b KODE KUNCI_MOVE_END
"" "" "" "" 1.6 0x0006 KODE KUNCI_ENDCALL
0x07 0x004e Halaman Keyboard Turun 0x006d KEY_PAGEDOWN 3.0 0x005d KODE KUNCI_PAGE_BAWAH
0x07 0x004f Panah Kanan Papan Ketik 0x006a KUNCI_KANAN 1.6 0x0016 KODE KUNCI_DPAD_KANAN
0x07 0x0050 Panah Kiri Papan Ketik 0x0069 KEY_LEFT 1.6 0x0015 KODE KUNCI_DPAD_KIRI
0x07 0x0051 Panah Bawah Papan Ketik 0x006c KUNCI_BAWAH 1.6 0x0014 KODE KUNCI_DPAD_BAWAH
0x07 0x0052 Panah Atas Papan Ketik 0x0067 KUNCI_UP 1.6 0x0013 KODE KUNCI_DPAD_UP
0x07 0x0053 Keyboard Num Lock dan Hapus 0x0045 KEY_NUMLOCK 3.0 0x008f KODE KUNCI_NUM_LOCK
0x07 0x0054 Papan tombol / 0x0062 KEY_KPSLASH 3.0 0x009a KODE KUNCI_NUMPAD_DIVIDE
0x07 0x0055 Papan tombol * 0x0037 KEY_KPASTERISK 3.0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 Papan tombol - 0x004a KEY_KPMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRAK
0x07 0x0057 Papan tombol + 0x004e KEY_KPPLUS 3.0 0x009d KODE KUNCI_NUMPAD_ADD
0x07 0x0058 Papan tombol ENTER 0x0060 KEY_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Papan tombol 1 dan Akhir 0x004f KUNCI_KP1 3.0 0x0091 KODE KUNCI_NUMPAD_1
0x07 0x005a Papan tombol 2 dan Panah Bawah 0x0050 KUNCI_KP2 3.0 0x0092 KODE KUNCI_NUMPAD_2
0x07 0x005b Papan tombol 3 dan HalamanDn 0x0051 KUNCI_KP3 3.0 0x0093 KODE KUNCI_NUMPAD_3
0x07 0x005c Papan tombol 4 dan Panah Kiri 0x004b KUNCI_KP4 3.0 0x0094 KODE KUNCI_NUMPAD_4
0x07 0x005d Papan tombol 5 0x004c KUNCI_KP5 3.0 0x0095 KODE KUNCI_NUMPAD_5
0x07 0x005e Papan tombol 6 dan Panah Kanan 0x004d KUNCI_KP6 3.0 0x0096 KODE KUNCI_NUMPAD_6
0x07 0x005f Papan tombol 7 dan Beranda 0x0047 KUNCI_KP7 3.0 0x0097 KODE KUNCI_NUMPAD_7
0x07 0x0060 Papan tombol 8 dan Panah Atas 0x0048 KUNCI_KP8 3.0 0x0098 KODE KUNCI_NUMPAD_8
0x07 0x0061 Papan tombol 9 dan Halaman Atas 0x0049 KUNCI_KP9 3.0 0x0099 KODE KUNCI_NUMPAD_9
0x07 0x0062 Papan tombol 0 dan Sisipkan 0x0052 KUNCI_KP0 3.0 0x0090 KODE KUNCI_NUMPAD_0
0x07 0x0063 Papan tombol. dan Hapus 0x0053 KEY_KPDOT 3.0 0x009e KODE KUNCI_NUMPAD_DOT
0x07 0x0064 Keyboard Non-AS \ dan | 0x0056 KUNCI_102ND 4.0 0x0049 KODE KUNCI_BACKSLASH 1
0x07 0x0065 Aplikasi Papan Ketik 0x007f KEY_COMPOSE 3.0 0x0052 KODE KUNCI_MENU
"" "" "" "" 1.6 0x0054 KODE KUNCI_PENCARIAN
0x07 0x0066 Kekuatan Papan Ketik 0x0074 KUNCI_POWER 1.6 0x001a KODE KUNCI_POWER
0x07 0x0067 Papan tombol = 0x0075 KEY_KPEQUAL 3.0 0x00a1 KODE KUNCI_NUMPAD_SAMA
0x07 0x0068 Papan Ketik F13 0x00b7 KUNCI_F13
0x07 0x0069 Papan Ketik F14 0x00b8 KUNCI_F14
0x07 0x006a Papan Ketik F15 0x00b9 KUNCI_F15
0x07 0x006b Papan Ketik F16 0x00ba KUNCI_F16
0x07 0x006c Papan Ketik F17 0x00bb KUNCI_F17
0x07 0x006d Papan Ketik F18 0x00bc KUNCI_F18
0x07 0x006e Papan Ketik F19 0x00bd KUNCI_F19
0x07 0x006f Papan Ketik F20 0x00be KUNCI_F20
0x07 0x0070 Papan Ketik F21 0x00bf KUNCI_F21
0x07 0x0071 Papan Ketik F22 0x00c0 KUNCI_F22
0x07 0x0072 Papan Ketik F23 0x00c1 KUNCI_F23
0x07 0x0073 Papan Ketik F24 0x00c2 KUNCI_F24
0x07 0x0074 Jalankan Keyboard 0x0086 KUNCI_BUKA
0x07 0x0075 Bantuan Papan Ketik 0x008a KEY_HELP
0x07 0x0076 Menu Papan Ketik 0x0082 KUNCI_PROPS
0x07 0x0077 Pilih Papan Ketik 0x0084 KUNCI_FRONT
0x07 0x0078 Papan Ketik Berhenti 0x0080 KUNCI_BERHENTI 3.0 0x0056 KODE KUNCI_MEDIA_STOP
0x07 0x0079 Papan Ketik Lagi 0x0081 KEY_AGAIN
0x07 0x007a Pembatalan Papan Ketik 0x0083 KEY_UNDO
0x07 0x007b Pemotongan Papan Ketik 0x0089 KUNCI_CUT
0x07 0x007c Salinan Papan Ketik 0x0085 KUNCI_SALINAN
0x07 0x007d Tempel Papan Ketik 0x0087 KUNCI_PASTE
0x07 0x007e Temukan Papan Ketik 0x0088 KEY_FIND
0x07 0x007f Papan Ketik Bisu 0x0071 KEY_MUTE 3.0 0x00a4 KODE KUNCI_VOLUME_MUTE
0x07 0x0080 Volume Papan Ketik Naik 0x0073 KEY_VOLUMEUP 1.6 0x0018 KODE KUNCI_VOLUME_UP
0x07 0x0081 Volume Papan Ketik Turun 0x0072 KEY_VOLUMETURUN 1.6 0x0019 KODE KUNCI_VOLUME_BAWAH
0x07 0x0082 Pengunci Keyboard Caps Lock
0x07 0x0083 Penguncian Keyboard Num Lock
0x07 0x0084 Kunci Gulir Penguncian Keyboard
0x07 0x0085 Koma Papan Tombol 0x0079 KEY_KPCOMMA 3.0 0x009f KODE KUNCI_NUMPAD_COMMA
0x07 0x0086 Tanda Sama dengan Keypad
0x07 0x0087 Keyboard Internasional1 0x0059 KEY_RO
0x07 0x0088 Keyboard Internasional2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Keyboard Internasional3 0x007c KEY_YEN
0x07 0x008a Keyboard Internasional4 0x005c KEY_HENKAN
0x07 0x008b Keyboard Internasional5 0x005e KEY_MUHENKAN
0x07 0x008c Keyboard Internasional6 0x005f KEY_KPJPCOMMA
0x07 0x008d Keyboard Internasional7
0x07 0x008e Keyboard Internasional8
0x07 0x008f Keyboard Internasional9
0x07 0x0090 Papan ketik LANG1 0x007a KEY_HANGEUL
0x07 0x0091 Papan ketik LANG2 0x007b KEY_HANJA
0x07 0x0092 Papan ketik LANG3 0x005a KEY_KATAKANA
0x07 0x0093 Papan ketik LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 Papan ketik LANG5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Papan ketik LANG6
0x07 0x0096 Papan ketik LANG7
0x07 0x0097 Papan ketik LANG8
0x07 0x0098 Papan ketik LANG9
0x07 0x0099 Penghapusan Alternatif Keyboard
0x07 0x009a SysReq/Perhatian Keyboard
0x07 0x009b Pembatalan Papan Ketik
0x07 0x009c Papan Ketik Bersih
0x07 0x009d Keyboard Sebelumnya
0x07 0x009e Kembalinya Papan Ketik
0x07 0x009f Pemisah Papan Ketik
0x07 0x00a0 Papan Ketik Keluar
0x07 0x00a1 Pengoperasian Papan Ketik
0x07 0x00a2 Keyboard Hapus/Lagi
0x07 0x00a3 Kunci/Alat Peraga Keyboard
0x07 0x00a4 Keyboard ExSel
0x07 0x00b0 Papan tombol 00
0x07 0x00b1 Papan tombol 000
0x07 0x00b2 Pemisah Ribuan
0x07 0x00b3 Pemisah desimal
0x07 0x00b4 Satuan mata uang
0x07 0x00b5 Sub Unit Mata Uang
0x07 0x00b6 Papan tombol ( 0x00b3 KEY_KPLEFTPAREN 3.0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 Papan tombol) 0x00b4 KEY_KPRIGHTPAREN 3.0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 Papan tombol {
0x07 0x00b9 Papan tombol }
0x07 0x00ba Tab Papan Tombol
0x07 0x00bb Spasi Belakang Papan Tombol
0x07 0x00bc Papan tombol A
0x07 0x00bd Papan tombol B
0x07 0x00be Papan tombol C
0x07 0x00bf Papan tombol D
0x07 0x00c0 Papan tombol E
0x07 0x00c1 Papan tombol F
0x07 0x00c2 XOR papan tombol
0x07 0x00c3 Papan tombol ^
0x07 0x00c4 Papan tombol %
0x07 0x00c5 Papan tombol <
0x07 0x00c6 Papan tombol >
0x07 0x00c7 Papan tombol &
0x07 0x00c8 Papan tombol &&
0x07 0x00c9 Papan tombol |
0x07 0x00ca Papan tombol ||
0x07 0x00cb Papan tombol :
0x07 0x00cc Papan tombol #
0x07 0x00cd Ruang Papan Tombol
0x07 0x00ce Papan tombol @
0x07 0x00cf Papan tombol!
0x07 0x00d0 Penyimpanan Memori Keypad
0x07 0x00d1 Penarikan Memori Keypad
0x07 0x00d2 Memori Keypad Hapus
0x07 0x00d3 Penambahan Memori Keypad
0x07 0x00d4 Pengurangan Memori Keypad
0x07 0x00d5 Memori Keypad Berkembang biak
0x07 0x00d6 Pembagian Memori Keypad
0x07 0x00d7 Papan tombol +/-
0x07 0x00d8 Papan tombol Jelas
0x07 0x00d9 Entri Hapus Keypad
0x07 0x00da Biner Papan Tombol
0x07 0x00db Papan tombol Oktal
0x07 0x00dc Desimal Papan Tombol
0x07 0x00dd Papan tombol Heksadesimal
0x07 0x00e0 Kontrol Kiri Keyboard 0x001d KEY_LEFTCTRL 3.0 0x0071 KODE KUNCI_CTRL_LEFT
0x07 0x00e1 Pergeseran Kiri Keyboard 0x002a KEY_LEFTSHIFT 1.6 0x003b KODE KUNCI_SHIFT_KIRI
0x07 0x00e2 Alt Kiri Keyboard 0x0038 KEY_LEFTALT 1.6 0x0039 KODE KUNCI_ALT_LEFT
0x07 0x00e3 GUI Kiri Keyboard 0x007d KEY_LEFTMETA 3.0 0x0075 KODE KUNCI_META_LEFT
0x07 0x00e4 Kontrol Kanan Keyboard 0x0061 KEY_RIGHTCTRL 3.0 0x0072 KODE KUNCI_CTRL_KANAN
0x07 0x00e5 Pergeseran Kanan Keyboard 0x0036 KEY_RIGHTSHIFT 1.6 0x003c KODE KUNCI_SHIFT_KANAN
0x07 0x00e6 Alt Kanan Keyboard 0x0064 KEY_RIGHTALT 1.6 0x003a KODE KUNCI_ALT_KANAN
0x07 0x00e7 GUI Kanan Keyboard 0x007e KEY_RIGHTMETA 3.0 0x0076 KODE KUNCI_META_KANAN
0x07 0x00e8 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x07 0x00e9 0x00a6 KEY_STOPCD 3.0 0x0056 KODE KUNCI_MEDIA_STOP
0x07 0x00ea 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_NEXTSONG 3.0 0x0057 KODE KUNCI_MEDIA_BERIKUTNYA
0x07 0x00ec 0x00a1 KEY_EJECTCD 3.0 0x0081 KODE KUNCI_MEDIA_EJECT
0x07 0x00ed 0x0073 KEY_VOLUMEUP 1.6 0x0018 KODE KUNCI_VOLUME_UP
0x07 0x00ee 0x0072 KEY_VOLUMETURUN 1.6 0x0019 KODE KUNCI_VOLUME_BAWAH
0x07 0x00ef 0x0071 KEY_MUTE 3.0 0x00a4 KODE KUNCI_VOLUME_MUTE
0x07 0x00f0 0x0096 KUNCI_WWW 1.6 0x0040 KODE KUNCI_EXPLORER
0x07 0x00f1 0x009e KUNCI_BACK 1.6 0x0004 KODE KUNCI_BACK
0x07 0x00f2 0x009f KUNCI_FORWARD 3.0 0x007d KODE KUNCI_FORWARD
0x07 0x00f3 0x0080 KUNCI_BERHENTI 3.0 0x0056 KODE KUNCI_MEDIA_STOP
0x07 0x00f4 0x0088 KEY_FIND
0x07 0x00f5 0x00b1 KEY_SCROLLUP 3.0 0x005c KODE KUNCI_PAGE_UP
0x07 0x00f6 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KODE KUNCI_PAGE_BAWAH
0x07 0x00f7 0x00b0 KUNCI_EDIT
0x07 0x00f8 0x008e KUNCI_TIDUR
0x07 0x00f9 0x0098 KUNCI_KOPI 4.0 0x001a KODE KUNCI_POWER
0x07 0x00fa 0x00iklan KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KODE KUNCI_CALCULATOR

Halaman desktop generik HID (0x01)

Penggunaan HID Nama Penggunaan HID LKC Nama Kode Kunci Linux Versi: kapan AKC Nama Kode Kunci Android Catatan
0x01 0x0081 Sistem Mati 0x0074 KUNCI_POWER 1.6 0x001a KODE KUNCI_POWER
0x01 0x0082 Sistem Tidur 0x008e KUNCI_TIDUR 4.0 0x001a KODE KUNCI_POWER
0x01 0x0083 Sistem Bangun 0x008f KEY_BANGUN 4.0 0x001a KODE KUNCI_POWER
0x01 0x0084 Menu Konteks Sistem
0x01 0x0085 Menu Utama Sistem
0x01 0x0086 Menu Aplikasi Sistem
0x01 0x0087 Bantuan Menu Sistem
0x01 0x0088 Keluar dari Menu Sistem
0x01 0x0089 Pilih Menu Sistem
0x01 0x008a Menu Sistem Kanan
0x01 0x008b Menu Sistem Kiri
0x01 0x008c Menu Sistem Naik
0x01 0x008d Menu Sistem Turun
0x01 0x008e Restart Dingin Sistem
0x01 0x008f Pengulangan Hangat Sistem
0x01 0x00a0 Dok Sistem
0x01 0x00a1 Lepas Sistem
0x01 0x00a2 Pengaturan sistem
0x01 0x00a3 Istirahat Sistem
0x01 0x00a4 Istirahat Debugger Sistem
0x01 0x00a5 Istirahat Aplikasi
0x01 0x00a6 Istirahat Debugger Aplikasi
0x01 0x00a7 Speaker Sistem Bisu
0x01 0x00a8 Sistem Hibernasi
0x01 0x00b0 Pembalikan Tampilan Sistem
0x01 0x00b1 Tampilan Sistem Internal
0x01 0x00b2 Tampilan Sistem Eksternal
0x01 0x00b3 Sistem Menampilkan Keduanya
0x01 0x00b4 Tampilan Sistem Ganda
0x01 0x00b5 Tampilan Sistem Beralih Int/Ext
0x01 0x00b6 Tampilan Sistem Swap Prim./Detik.
0x01 0x00b7 Tampilan Sistem LCD Skala Otomatis

Halaman konsumen HID (0x0c)

Penggunaan HID Nama Penggunaan HID LKC Nama Kode Kunci Linux Versi: kapan AKC Nama Kode Kunci Android Catatan
0x0c 0x0030 Kekuatan
0x0c 0x0031 Mengatur ulang
0x0c 0x0032 Tidur
0x0c 0x0033 Tidur Setelahnya
0x0c 0x0034 Mode tidur 0x008e KUNCI_TIDUR 4.0 0x001a KODE KUNCI_POWER
0x0c 0x0040 Menu 0x008b KUNCI_MENU 1.6 0x0052 KODE KUNCI_MENU
0x0c 0x0041 Pilihan Menu
0x0c 0x0042 Menu Atas
0x0c 0x0043 Menu Bawah
0x0c 0x0044 Menu Kiri
0x0c 0x0045 Tidak bisa Kanan 0x0181 KUNCI_KANAN
0x0c 0x0046 Menu melarikan diri
0x0c 0x0047 Nilai Menu Meningkat
0x0c 0x0048 Penurunan Nilai Menu
0x0c 0x0067 Pengalih Gambar-dalam-Gambar 0x00ab KODE KUNCI_JENDELA Ditambahkan di aosp/1365553
0x0c 0x0069 Tombol Menu Merah 0x18e KUNCI_RED 0x00b7 KODE KUNCI_PROG_RED Ditambahkan di aosp/1388616
0x0c 0x006a Tombol Menu Hijau 0x18f KUNCI_HIJAU 0x00b8 KODE KUNCI_PROG_HIJAU Ditambahkan di aosp/1388616
0x0c 0x006b Tombol Menu Biru 0x191 KEY_BLUE 0x00ba KODE KUNCI_PROG_BIRU Ditambahkan di aosp/1388616
0x0c 0x006c Tombol Menu Kuning 0x190 KUNCI_KUNING 0x00b9 KODE KUNCI_PROG_YELLOW Ditambahkan di aosp/1388616
0x0c 0x0081 Tetapkan Seleksi
0x0c 0x0082 Langkah Modus
0x0c 0x0083 Ingat Terakhir 0x0195 KUNCI_TERAKHIR 0xe5 KODE KUNCI_TERAKHIR_SALURAN Ditambahkan di aosp/1365551
0x0c 0x0084 Masuk ke Saluran
0x0c 0x0085 Pesan Film
0x0c 0x0088 Media Pilih Komputer 0x0178 KUNCI_PC
0x0c 0x0089 Pilih Media TV 0x0179 KEY_TV 3.0 0x00aa KODE KUNCI_TV
0x0c 0x008a Pilih Media WWW 0x0096 KUNCI_WWW 1.6 0x0040 KODE KUNCI_EXPLORER
0x0c 0x008b DVD Pilihan Media 0x0185 KUNCI_DVD
0x0c 0x008c Media Pilih Telepon 0x00a9 KUNCI_PHONE 3.0 0x0005 KODE KUNCI_PANGGILAN
0x0c 0x008d Panduan Program Pemilihan Media 0x016a KUNCI_PROGRAM 3.0 0x00ac KODE KUNCI_GUIDE
0x0c 0x008e Media Pilih Telepon Video 0x01a0 KUNCI_VIDEOPON
0x0c 0x008f Permainan Pilihan Media 0x01a1 KUNCI_GAME
0x0c 0x0090 Pesan Pilihan Media 0x018c KUNCI_MEMO
0x0c 0x0091 CD Pilihan Media 0x017f KEY_CD
0x0c 0x0092 Pilih Media VCR 0x017b KUNCI_VCR
0x0c 0x0093 Penyetel Pemilihan Media 0x0182 KUNCI_TUNER
0x0c 0x0094 Berhenti 0x00ae KUNCI_KELUAR
0x0c 0x0095 Membantu 0x008a KEY_HELP
0x0c 0x0096 Pita Pilih Media 0x0180 KEY_TAPE
0x0c 0x0097 Kabel Pemilihan Media 0x017a KEY_TV2
0x0c 0x0098 Media Pilih Satelit 0x017d KEY_SAT
0x0c 0x0099 Keamanan Pilihan Media
0x0c 0x009a Media Pilih Beranda 0x016e KEY_PVR 3.0 0x00iklan KODE KUNCI_DVR
0x0c 0x0061 Teks tertutup 0x0172 KUNCI_SUBTITLE 0x00af KODE KUNCI_CAPTIONS Ditambahkan di aosp/1365552
0x0c 0x009c Peningkatan Saluran 0x0192 KEY_CHANNELUP 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Penurunan Saluran 0x0193 KEY_CHANNELDOWN 3.0 0x00a7 KODE KUNCI_SALURAN_BAWAH
0x0c 0x009e Pilih Media SAP
0x0c 0x00a0 VCR Ditambah 0x017c KUNCI_VCR2
0x0c 0x00a1 Sekali
0x0c 0x00a2 Sehari-hari
0x0c 0x00a3 Mingguan
0x0c 0x00a4 Bulanan
0x0c 0x00b0 Bermain 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Berhenti sebentar 0x0077 KEY_PAUSE 3.0 0x0079 KODE KUNCI_BREAK
0x0c 0x00b2 Catatan 0x00a7 KEY_RECORD 3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Maju Cepat 0x00d0 KEY_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Memutar ulang 0x00a8 KEY_REWIND 3.0 0x0059 KODE KUNCI_MEDIA_REWIND
0x0c 0x00b5 Pindai Lagu Berikutnya 0x00a3 KEY_NEXTSONG 3.0 0x0057 KODE KUNCI_MEDIA_BERIKUTNYA
0x0c 0x00b6 Pindai Lagu Sebelumnya 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Berhenti 0x00a6 KEY_STOPCD 3.0 0x0056 KODE KUNCI_MEDIA_STOP
0x0c 0x00b8 Mengeluarkan 0x00a1 KEY_EJECTCD 3.0 0x0081 KODE KUNCI_MEDIA_EJECT
0x0c 0x00b9 Permainan acak
0x0c 0x00ba Pilih Disk
0x0c 0x00bb Masukkan Disk
0x0c 0x00bc Mengulang 0x01b7 KEY_MEDIA_ULANG
0x0c 0x00be Lacak Biasa
0x0c 0x00c0 Bingkai Maju
0x0c 0x00c1 Bingkai Kembali
0x0c 0x00c2 Tanda
0x0c 0x00c3 Hapus Tandai
0x0c 0x00c4 Ulangi Dari Markus
0x0c 0x00c5 Kembali ke Tandai
0x0c 0x00c6 Pencarian Tandai Maju
0x0c 0x00c7 Tandai Pencarian Mundur
0x0c 0x00c8 Penghitung Reset
0x0c 0x00c9 Tampilkan Penghitung
0x0c 0x00ca Peningkatan Pelacakan
0x0c 0x00cb Penurunan Pelacakan
0x0c 0x00cc Hentikan / Keluarkan
0x0c 0x00cd Putar / Jeda 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce Putar / Lewati
0x0c 0x00e2 Bisu 0x0071 KEY_MUTE 3.0 0x00a4 KODE KUNCI_VOLUME_MUTE
0x0c 0x00e5 Peningkatan Bass 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 Modus Sekitar
0x0c 0x00e7 Kekerasan
0x0c 0x00e8 MPX
0x0c 0x00e9 Peningkatan Volume 0x0073 KEY_VOLUMEUP 1.6 0x0018 KODE KUNCI_VOLUME_UP
0x0c 0x00ea Penurunan Volume 0x0072 KEY_VOLUMETURUN 1.6 0x0019 KODE KUNCI_VOLUME_BAWAH
0x0c 0x0173 Peningkatan Audio Alternatif 0x00de KEYCODE_MEDIA_AUDIO_TRACK Ditambahkan di aosp/1365554
0x0c 0x0181 Konfigurasi Tombol Peluncuran AL. Alat
0x0c 0x0182 Konfigurasi Tombol AL yang Dapat Diprogram. 0x009c KEY_BOOKMARKS 3.0 0x00ae KODE KUNCI_BOOKMARK
0x0c 0x0183 Konfigurasi Kontrol Konsumen AL. 0x00ab KEY_CONFIG 4.0.3 0x00d1 KODE KUNCI_MUSIK
0x0c 0x0184 Pengolah Kata AL 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 Editor Teks AL 0x01a6 KUNCI_EDITOR
0x0c 0x0186 AL Lembar Bentang 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 Editor Grafik AL 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 Aplikasi Presentasi AL 0x01a9 KEY_PRESENTASI
0x0c 0x0189 Aplikasi Basis Data AL 0x01aa KEY_DATABASE
0x0c 0x018a Pembaca Email AL 0x009b KUNCI_MAIL 1.6 0x0041 KODE KUNCI_ENVELOPE
0x0c 0x018b AL Pembaca Berita 0x01ab KEY_NEWS
0x0c 0x018c AL Pesan Suara 0x01ac KEY_VOICEMAIL
0x0c 0x018d Kontak AL / Buku Alamat 0x01ad BUKU KEY_ADDRESS 4.0.3 0x00cf KODE KUNCI_CONTACTS
0x0c 0x018e Kalender / Jadwal AL 0x018d KEY_CALENDAR 4.0.3 0x00d0 KODE KUNCI_CALENDAR
0x0c 0x018f AL Tugas / Manajer Proyek
0x0c 0x0190 AL Log / Jurnal / Kartu Waktu
0x0c 0x0191 Buku Cek AL / Keuangan 0x00db KEY_FINANCE
0x0c 0x0192 Kalkulator AL 0x008c KEY_CALC 4.0.3 0x00d2 KODE KUNCI_CALCULATOR
0x0c 0x0193 Pengambilan / Pemutaran AL A/V
0x0c 0x0194 AL Browser Mesin Lokal 0x0090 KUNCI_FILE
0x0c 0x0195 Peramban AL LAN/WAN
0x0c 0x0196 AL Peramban Internet 0x0096 KUNCI_WWW 1.6 0x0040 KODE KUNCI_EXPLORER
0x0c 0x0197 AL Jaringan Jarak Jauh/Koneksi ISP
0x0c 0x0198 Konferensi Jaringan AL
0x0c 0x0199 Obrolan Jaringan AL 0x00d8 KEY_CHAT
0x0c 0x019a AL Telepon / Pemanggil
0x0c 0x019b AL Masuk
0x0c 0x019c AL Keluar 0x01b1 KUNCI_LOGOFF
0x0c 0x019d AL Masuk / Keluar
0x0c 0x019e Kunci Terminal AL / Penghemat Layar 0x0098 KUNCI_KOPI 4.0 0x001a KODE KUNCI_POWER
0x0c 0x019f Panel Kontrol AL
0x0c 0x01a0 Prosesor Baris Perintah AL / Jalankan
0x0c 0x01a1 Proses AL / Manajer Tugas
0x0c 0x01a2 AL Pilih Tugas / Aplikasi
0x0c 0x01a3 AL Tugas/Aplikasi Berikutnya
0x0c 0x01a4 AL Tugas/Aplikasi Sebelumnya
0x0c 0x01a5 AL Tugas / Aplikasi Penghentian Preemptive.
0x0c 0x01a6 Pusat Bantuan Terintegrasi AL 0x008a KEY_HELP
0x0c 0x01a7 Dokumen AL 0x00eb KEY_DOCUMENTS
0x0c 0x01a8 Tesaurus AL
0x0c 0x01a9 Kamus AL
0x0c 0x01aa AL Desktop
0x0c 0x01ab AL Periksa Ejaan 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac Pemeriksaan Tata Bahasa AL
0x0c 0x01iklan Status Nirkabel AL
0x0c 0x01ae Tata Letak Papan Ketik AL
0x0c 0x01af Perlindungan Virus AL
0x0c 0x01b0 Enkripsi AL
0x0c 0x01b1 Penghemat Layar AL
0x0c 0x01b2 AL Alarm
0x0c 0x01b3 Jam AL
0x0c 0x01b4 Peramban Berkas AL
0x0c 0x01b5 Status Daya AL
0x0c 0x01b6 Peramban Gambar AL 0x00e2 KUNCI_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 Peramban Audio AL 0x00d5 KUNCI_SUARA 4.0.3 0x00d1 KODE KUNCI_MUSIK
0x0c 0x01b8 Peramban Film AL
0x0c 0x01b9 Manajer Hak Digital AL
0x0c 0x01ba Dompet Digital AL
0x0c 0x01bc AL Pesan Instan 0x01ae KEY_MESSENGER
0x0c 0x01bd Fitur AL OEM / Peramban Tip 0x0166 KUNCI_INFO
0x0c 0x01be Bantuan AL OEM
0x0c 0x01bf Komunitas Daring AL
0x0c 0x01c0 Peramban Konten Hiburan AL
0x0c 0x01c1 Peramban Belanja Online AL
0x0c 0x01c2 Informasi / Bantuan AL SmartCard
0x0c 0x01c3 Peramban Pasar / Keuangan AL
0x0c 0x01c4 AL Browser Berita Corp yang Disesuaikan
0x0c 0x01c5 Peramban Aktivitas Daring AL
0x0c 0x01c6 AL Penelitian / Peramban Pencarian
0x0c 0x01c7 Pemutar Audio AL
0x0c 0x0201 AC Baru 0x00b5 KEY_NEW
0x0c 0x0202 AC Terbuka 0x0086 KUNCI_BUKA
0x0c 0x0203 AC Tutup 0x00ce KEY_CLOSE
0x0c 0x0204 Pintu Keluar AC 0x00ae KUNCI_KELUAR
0x0c 0x0205 Maksimalkan AC
0x0c 0x0206 Minimalkan AC
0x0c 0x0207 Hemat AC 0x00ea KEY_SAVE
0x0c 0x0208 Cetak AC 0x00d2 KUNCI_PRINT
0x0c 0x0209 Properti AC 0x0082 KUNCI_PROPS
0x0c 0x021a Pembatalan AC 0x0083 KEY_UNDO
0x0c 0x021b Salinan AC 0x0085 KUNCI_SALINAN
0x0c 0x021c Pemotongan AC 0x0089 KUNCI_CUT
0x0c 0x021d Tempel AC 0x0087 KUNCI_PASTE
0x0c 0x021e AC Pilih Semua
0x0c 0x021f AC Temukan 0x0088 KEY_FIND
0x0c 0x0220 Temukan dan Ganti AC
0x0c 0x0221 Pencarian AC 0x00d9 KEY_SEARCH 1.6 0x0054 KODE KUNCI_PENCARIAN
0x0c 0x0222 AC Pergi Ke 0x0162 KEY_GOTO
0x0c 0x0223 AC Rumah 0x00ac KEY_HOMEPAGE 3.0 0x0003 KODE KUNCI_HOME
0x0c 0x0224 AC Kembali 0x009e KUNCI_BACK 1.6 0x0004 KODE KUNCI_BACK
0x0c 0x0225 AC Maju 0x009f KUNCI_FORWARD 3.0 0x007d KODE KUNCI_FORWARD
0x0c 0x0226 AC Berhenti 0x0080 KUNCI_BERHENTI 3.0 0x0056 KODE KUNCI_MEDIA_STOP
0x0c 0x0227 Penyegaran AC 0x00iklan KEY_REFRESH
0x0c 0x0228 AC Tautan Sebelumnya
0x0c 0x0229 AC Tautan Berikutnya
0x0c 0x022a Penanda AC 0x009c KEY_BOOKMARKS 3.0 0x00ae KODE KUNCI_BOOKMARK
0x0c 0x022b Sejarah AC
0x0c 0x022c Langganan AC
0x0c 0x022d Perbesar AC 0x01a2 KUNCI_ZOOMIN
0x0c 0x022e Perkecil AC 0x01a3 KUNCI_ZOOMOUT
0x0c 0x022f Pembesaran AC 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 Tampilan Layar Penuh AC
0x0c 0x0231 Tampilan AC Normal
0x0c 0x0232 Pengalih Tampilan AC
0x0c 0x0233 AC Gulir ke Atas 0x00b1 KEY_SCROLLUP 3.0 0x005c KODE KUNCI_PAGE_UP
0x0c 0x0234 AC Gulir ke Bawah 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KODE KUNCI_PAGE_BAWAH
0x0c 0x0236 AC Geser ke Kiri
0x0c 0x0237 AC Geser ke Kanan
0x0c 0x0239 AC Jendela Baru
0x0c 0x023a Ubin AC Secara Horizontal
0x0c 0x023b Ubin AC Secara Vertikal
0x0c 0x023c Format AC
0x0c 0x023d Suntingan AC
0x0c 0x023e AC Tebal
0x0c 0x023f AC Miring
0x0c 0x0240 Garis Bawah AC
0x0c 0x0241 AC Dicoret
0x0c 0x0242 Langganan AC
0x0c 0x0243 Superskrip AC
0x0c 0x0244 AC Semua Kapital
0x0c 0x0245 Putar AC
0x0c 0x0246 Ubah Ukuran AC
0x0c 0x0247 AC Balik horizontal
0x0c 0x0248 AC Balik Vertikal
0x0c 0x0249 Cermin AC Horisontal
0x0c 0x024a Cermin AC Vertikal
0x0c 0x024b Pemilihan Font AC
0x0c 0x024c Warna Font AC
0x0c 0x024d Ukuran Font AC
0x0c 0x024e AC Ratakan Kiri
0x0c 0x024f AC Justify Center H
0x0c 0x0250 AC Justifikasi Kanan
0x0c 0x0251 AC Justifikasi Blok H
0x0c 0x0252 AC Justifikasi Atas
0x0c 0x0253 AC Justify Center V
0x0c 0x0254 AC Ratakan Bawah
0x0c 0x0255 AC Justifikasi Blok V
0x0c 0x0256 Penurunan Indentasi AC
0x0c 0x0257 Peningkatan Indentasi AC
0x0c 0x0258 Daftar Bernomor AC
0x0c 0x0259 Penomoran Restart AC
0x0c 0x025a Daftar Berpoin AC
0x0c 0x025b AC Promosi
0x0c 0x025c Penurunan AC
0x0c 0x025d AC Ya
0x0c 0x025e AC no
0x0c 0x025f AC Batal 0x00DF KEY_CANCEL
0x0c 0x0260 Katalog AC
0x0c 0x0261 AC Beli / Checkout
0x0c 0x0262 AC Tambahkan ke Keranjang
0x0c 0x0263 AC memperluas
0x0c 0x0264 AC memperluas semua
0x0c 0x0265 AC runtuh
0x0c 0x0266 AC runtuh semua
0x0c 0x0267 Pratinjau Cetak AC
0x0c 0x0268 AC pasta khusus
0x0c 0x0269 Mode Sisipan AC
0x0c 0x026a AC DELETE
0x0c 0x026b Sebuah jam
0x0c 0x026c AC Buka Kunci
0x0c 0x026d AC Protect
0x0c 0x026e AC tidak memprotek
0x0c 0x026f AC Lampirkan komentar
0x0c 0x0270 AC menghapus komentar
0x0c 0x0271 AC View Comment
0x0c 0x0272 AC Pilih Word
0x0c 0x0273 AC Pilih Kalimat
0x0c 0x0274 AC Pilih paragraf
0x0c 0x0275 Kolom Pilih AC
0x0c 0x0276 AC SELECT ROW
0x0c 0x0277 Tabel Pilih AC
0x0c 0x0278 AC Pilih Objek
0x0c 0x0279 Ac mengulang / ulang 0x00B6 Key_redo
0x0c 0x027a AC Sort
0x0c 0x027b AC Sort Ascending
0x0c 0x027c AC sortir menurun
0x0c 0x027d penyaring AC
0x0c 0x027e AC Set Jam
0x0c 0x027f Jam tampilan AC
0x0c 0x0280 AC Select Time Zone
0x0c 0x0281 AC Edit Time Zone
0x0c 0x0282 AC Set Alarm
0x0c 0x0283 AC Clear Alarm
0x0c 0x0284 AC Snooze Alarm
0x0c 0x0285 AC Reset Alarm
0x0c 0x0286 Sinkronisasi AC
0x0c 0x0287 AC Kirim/Terima
0x0c 0x0288 AC Kirim ke
0x0c 0x0289 AC Reply 0x00e8 Key_reply
0x0c 0x028a AC Balas Semua
0x0c 0x028b AC MSG Maju 0x00e9 Key_forwardmail
0x0c 0x028c AC Kirim 0x00e7 KEY_SEND
0x0c 0x028d AC Lampirkan file
0x0c 0x028e Unggahan ac
0x0c 0x028f Unduh AC (Simpan Target As)
0x0c 0x0290 AC Set Borders
0x0c 0x0291 Baris Sisipan AC
0x0c 0x0292 Kolom insert AC
0x0c 0x0293 File insert AC
0x0c 0x0294 Gambar insert AC
0x0c 0x0295 AC Sisipkan Objek
0x0c 0x0296 Simbol insert AC
0x0c 0x0297 AC Simpan dan Tutup
0x0c 0x0298 Ganti nama AC
0x0c 0x0299 AC gabungan
0x0c 0x029a AC split
0x0c 0x029b AC mendistribusikan secara horizontal
0x0c 0x029c AC mendistribusikan secara vertikal

Pemetaan non-hidangan tambahan

Pemetaan ini menggambarkan fungsi yang tidak muncul dalam HID tetapi untuk mana kode kunci Linux ada.

LKC Nama Kode Kunci Linux Versi: kapan AKC Nama Kode Kunci Android Catatan
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

Kunci warisan yang tidak didukung

Pemetaan ini muncul di versi Android sebelumnya tetapi tidak konsisten dengan HID atau kode kunci Linux non-standar yang digunakan. Mereka tidak lagi didukung.

LKC Nama Kode Kunci Linux Versi: kapan AKC Nama Kode Kunci Android Catatan
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 KODE KUNCI_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

Catatan

  1. Kode kunci Android yang terkait dengan tombol alfanumerik dan simbolis umum dapat bervariasi berdasarkan tata letak dan bahasa keyboard. Untuk alasan historis, kode pemindaian fisik dan penggunaan HID yang terkait dengan kunci pada keyboard sering didefinisikan secara posisi meskipun label yang dicetak pada kunci tersebut dapat bervariasi dari satu bahasa ke bahasa lain.

    Pada keyboard US English (QWERTY), kunci alfabet kiri atas diberi label Q. Pada keyboard Prancis (Azerty), kunci dalam posisi yang sama diberi label A. Meskipun label, pada kedua keyboard kunci alfabet kiri atas-kiri dirujuk menggunakan penggunaan HID 0x07 0x0014 yang dipetakan ke kode kunci Linux key_q.

    Saat Android dikonfigurasi dengan tata letak keyboard bahasa Inggris AS, maka kode kunci Linux key_q akan dipetakan ke Kunci Kunci Android KeyCode_Q dan akan menghasilkan karakter 'Q' dan 'Q'. Namun, ketika Android dikonfigurasi dengan tata letak keyboard Prancis, maka kode kunci Linux key_q akan dipetakan ke Keycode Kode Kunci Android dan akan menghasilkan karakter 'A' dan 'A'.

    Kode kunci Android biasanya mencerminkan interpretasi kunci spesifik bahasa, sehingga kode kunci Android yang berbeda dapat digunakan untuk berbagai bahasa.

  2. 0x0c 0x022f AC Zoom didefinisikan dalam HID sebagai kontrol linier tetapi kernel memetakannya sebagai kunci, yang mungkin salah.

  3. Kunci fungsi linux KEY_FN_* dipetakan ke kode kunci yang lebih sederhana tetapi dikirim dengan META_FUNCTION state state bit diatur ke true.

  4. Sebelum ke Android Ice Cream Sandwich 4.0, tata letak kunci default berisi pemetaan untuk beberapa kode kunci tambahan yang tidak didefinisikan dalam header kernel Linux utama. Pemetaan ini telah dihapus karena kode -kode kunci yang sebelumnya tidak ditentukan ini telah diberi makna yang berbeda dalam versi yang lebih baru dari kernel Linux.

Sumber

  1. Tabel Penggunaan USB HID v1.12
  2. Linux 2.6.39 Kernel: Sertakan/linux/input.h, driver/HID/HID-INPUT.C
  3. Android ICS: qwerty.kl, generic.kl, keyevent.java