Perangkat {i>keyboard

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

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

Klasifikasi keyboard

Perangkat {i>input<i} diklasifikasikan sebagai {i>keyboard<i} jika salah satu dari kondisi yang ditahan:

  • Perangkat input melaporkan keberadaan kode tombol Linux yang digunakan pada keyboard termasuk 0 sampai 0xff atau KEY_OK sampai KEY_MAX.

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

Saat ini joystick diklasifikasikan sebagai keyboard karena tombol joystick dan gamepad dilaporkan oleh peristiwa EV_KEY dengan cara yang sama seperti tombol keyboard dilaporkan. Jadi joystick dan gamepad juga menggunakan file peta utama untuk konfigurasi.

Setelah perangkat input diklasifikasikan sebagai {i>keyboard<i}, sistem akan memuat file konfigurasi perangkat input dan tata letak keyboard untuk keyboard.

Sistem kemudian mencoba menentukan karakteristik tambahan dari perangkat.

  • Jika perangkat input memiliki kunci yang dipetakan ke KEYCODE_Q, maka perangkat dianggap memiliki keypad alfabet (bukan numerik). Kemampuan keypad alfabetis dilaporkan dalam resource Configuration 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 (semua harus ada), maka perangkat dianggap agar memiliki keypad direksional. Kemampuan keypad direksional dilaporkan dalam resource Configuration sebagai NAVIGATION_DPAD.

  • Jika perangkat input memiliki kunci yang dipetakan ke KEYCODE_BUTTON_A atau tombol terkait {i>gamepad<i} lainnya, maka perangkat tersebut dianggap memiliki {i>gamepad<i}.

Persyaratan driver keyboard

  1. {i>Driver<i} {i>keyboard<i} hanya boleh mendaftarkan kode tombol untuk tombol yang telah benar-benar didukung. Mendaftarkan kelebihan kode kunci dapat membingungkan perangkat algoritma klasifikasi atau menyebabkan sistem salah mendeteksi kemampuan {i>keyboard<i} yang didukung dari perangkat.

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

  3. Android melakukan pengulangan keyboard-nya sendiri. Fungsi pengulangan otomatis harus dinonaktifkan di driver.

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

  5. Driver keyboard harus mendukung setelan status LED saat EV_LED ditulis ke perangkat. Driver hid-input menangani hal ini secara otomatis. Pada saat penulisan ini, Android menggunakan LED_CAPSLOCK, LED_SCROLLLOCK, dan LED_NUMLOCK. LED ini hanya perlu didukung ketika {i>keyboard<i} sebenarnya memiliki lampu indikator yang terkait.

  6. Driver keyboard untuk keypad tersemat (misalnya, menggunakan matriks GPIO) harus memastikan untuk mengirim peristiwa EV_KEY dengan nilai 0 untuk setiap kunci masih ditekan saat perangkat akan tidur. Jika tidak, kunci mungkin terhenti dan akan diulangi secara otomatis selamanya.

Operasi keyboard

Berikut adalah ringkasan singkat operasi keyboard di Android.

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

  2. InputReader menggunakan peristiwa mentah dan memperbarui status tombol meta. Misalnya, jika tombol {i>shift<i} kiri ditekan atau dilepaskan, pembaca akan setel atau reset META_SHIFT_LEFT_ON dan META_SHIFT_ON bit yang sesuai.

  3. InputReader memberi tahu InputDispatcher tentang peristiwa utama.

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

  5. Jika InputFilter sedang digunakan, InputDispatcher akan memberikannya yang berbeda untuk memakai atau mengubah kunci tersebut. InputFilter dapat digunakan untuk mengimplementasikan kebijakan aksesibilitas tingkat rendah di seluruh sistem.

  6. InputDispatcher mengantrekan kunci untuk diproses pada thread pengiriman.

  7. Saat InputDispatcher menghapus antrean kunci, metode ini akan memberikan WindowManagerPolicy kesempatan kedua untuk mencegat peristiwa tombol dengan memanggil WindowManagerPolicy.interceptKeyBeforeDispatching. Metode ini menangani sistem pintasan dan fungsi lainnya.

  8. InputDispatcher kemudian mengidentifikasi target peristiwa utama (jendela yang difokuskan) dan menunggu sampai siap. Kemudian, InputDispatcher akan mengirimkan peristiwa utama ke aplikasi.

  9. Di dalam aplikasi, peristiwa tombol akan menyebarkan hierarki tampilan ke bawah tampilan yang difokuskan untuk pengiriman kunci pra-IME.

  10. Jika peristiwa tombol tidak ditangani dalam pengiriman pra-IME dan IME sedang digunakan, peristiwa tombolnya dikirim ke IME.

  11. Jika peristiwa tombol tidak digunakan oleh IME, peristiwa tombol tersebut akan disebarkan menurunkan hierarki tampilan ke tampilan terfokus untuk pengiriman tombol standar.

  12. Aplikasi melaporkan kembali ke InputDispatcher tentang apakah kunci peristiwa dipakai. Jika peristiwa tidak digunakan, InputDispatcher panggil WindowManagerPolicy.dispatchUnhandledKey untuk menerapkan "penggantian" perilaku model. Bergantung pada tindakan penggantian, siklus pengiriman peristiwa utama dapat dimulai ulang menggunakan kode tombol yang berbeda. Misalnya, jika sebuah aplikasi tidak menangani KEYCODE_ESCAPE, sistem dapat mengirim ulang peristiwa tombol sebagai KEYCODE_BACK.

Konfigurasi keyboard

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

Lihat bagian berikut untuk detail selengkapnya tentang file yang berpartisipasi dalam konfigurasi keyboard:

Properti

Properti konfigurasi perangkat input berikut digunakan untuk keyboard.

tata letak keyboard

Definisi: keyboard.layout = <name>

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

Spasi pada nama dikonversi menjadi garis bawah selama pencarian.

Lihat dokumentasi file tata letak utama untuk detail selengkapnya.

keyboard.characterMap

Definisi: keyboard.characterMap = <name>

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

Spasi pada nama dikonversi menjadi garis bawah selama pencarian.

Lihat dokumentasi file peta karakter kunci untuk detail selengkapnya.

keyboard.OrientationAware

Definisi: keyboard.orientationAware = 0 | 1

Menentukan apakah keyboard harus bereaksi terhadap perubahan orientasi tampilan.

  • Jika nilainya 1, tombol keypad arah akan diputar saat perubahan orientasi tampilan terkait.

  • Jika nilainya 0, keyboard tidak dapat menampilkan perubahan orientasi.

Nilai default-nya adalah 0.

Kesadaran orientasi digunakan untuk mendukung rotasi tombol keypad direksional, seperti pada Motorola Droid. Misalnya, saat perangkat diputar searah jarum jam 90 derajat dari orientasi naturalnya, KEYCODE_DPAD_UP adalah dipetakan ulang untuk menghasilkan KEYCODE_DPAD_RIGHT sejak 'atas' tombol akhirnya mengarah 'kanan' saat perangkat dipegang dalam orientasi tersebut.

keyboard bawaan

Definisi: keyboard.builtIn = 0 | 1

Menentukan apakah keyboard merupakan keyboard bawaan (terpasang secara fisik) {i>keyboard<i}.

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

ID perangkat 0 ditetapkan ke keyboard bawaan selalu. Keyboard lainnya yang tidak bawaan akan diberi ID perangkat unik yang bukan nol.

Menggunakan ID 0 untuk keyboard bawaan penting untuk menjaga kompatibilitas dengan kolom KeyCharacterMap.BUILT_IN_KEYBOARD, yang menentukan ID keyboard bawaan dan memiliki nilai 0. Bidang ini telah tidak digunakan lagi di API, tetapi aplikasi lama mungkin masih menggunakannya.

Keyboard fungsi khusus (yang peta karakter kuncinya menentukan jenis SPECIAL_FUNCTION) tidak akan pernah didaftarkan sebagai keyboard bawaan, terlepas dari setelan properti ini. Hal ini karena {i>function <i}khusus keyboard pada dasarnya tidak dimaksudkan untuk digunakan untuk pengetikan keperluan 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, mapper input keyboard tidak menggunakan properti konfigurasi apa pun. Semua keyboard dianggap terpasang secara fisik dan berorientasi pada orientasi. Default tata letak tombol dan peta karakter kunci diberi nama qwerty, bukan Generic. Kuncinya format peta karakter juga sangat berbeda dan kerangka kerja tidak mendukung Keyboard lengkap atau keyboard eksternal bergaya PC.

Saat mengupgrade perangkat ke Honeycomb, pastikan untuk membuat atau mengupdate file konfigurasi dan peta kunci.

Penggunaan HID, kode kunci Linux, dan kode kunci Android

Sistem mengacu ke kunci dengan menggunakan beberapa pengidentifikasi yang berbeda, tergantung pada abstraksi.

Untuk perangkat HID, setiap kunci memiliki penggunaan HID terkait. hid-input Linux {i>driver<i} dan vendor terkait dan driver HID spesifik perangkat yang bertanggung jawab untuk menguraikan laporan HID dan memetakan penggunaan HID ke kode tombol Linux.

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

Saat peristiwa tombol dikirim ke aplikasi, android.view.KeyEvent instance melaporkan kode kunci Linux sebagai nilai getScanCode() Kode tombol Android sebagai nilai getKeyCode(). Untuk tujuan framework, hanya nilai getKeyCode() yang penting.

Perhatikan bahwa informasi penggunaan HID tidak digunakan oleh Android itu sendiri atau yang diteruskan ke aplikasi.

Tabel kode

Tabel berikut menunjukkan cara penggunaan HID, kode kunci Linux, dan Android kode tombol saling berkaitan satu sama lain.

Kolom LKC menetapkan kode kunci Linux dalam heksadesimal.

Kolom AKC menentukan kode tombol Android dalam heksadesimal.

Kolom Catatan mengacu pada catatan yang diposting setelah tabel.

Kolom Version menetapkan versi pertama platform Android menyertakan kunci ini dalam peta kunci defaultnya. Beberapa baris adalah ditampilkan jika peta tombol default telah berubah di antara versi. Versi terlama yang ditunjukkan adalah 1.6.

  • Dalam Gingerbread (2.3) dan rilis sebelumnya, peta utama {i>default<i} adalah qwerty.kl. Peta utama ini hanya dimaksudkan untuk digunakan dengan Android Emulator dan tidak dimaksudkan untuk digunakan mendukung arbitrer {i>keyboard<i} eksternal. Meskipun demikian, beberapa OEM menambahkan Bluetooth dukungan keyboard ke platform dan mengandalkan qwerty.kl untuk menyediakan pemetaan {i>keyboard<i} yang diperlukan. Oleh karena itu, pemetaan yang lebih lama mungkin menarik perhatian OEM yang sedang membangun khusus untuk perangkat khusus tersebut. Perhatikan bahwa pemetaan secara substansial berbeda dari yang ada saat ini, terutama sehubungan dengan perlakuan kunci HOME. Disarankan bahwa semua periferal baru dikembangkan sesuai dengan persyaratan {i>Honeycomb<i} atau lebih peta kunci terbaru (yaitu HID standar).

  • Mulai Honeycomb (3.0), peta kunci default adalah Generic.kl. Peta tombol ini dirancang untuk mendukung keyboard gaya PC lengkap. Sebagian besar fungsi keyboard HID standar seharusnya berhasil dari kotak.

Pemetaan kode tombol dapat bervariasi di berbagai versi kernel Linux dan Android. Ketika perubahan diketahui telah terjadi pada peta utama default Android, nilai tersebut ditunjukkan dalam kolom {i>version<i}.

Driver HID khusus perangkat dan peta utama mungkin menerapkan pemetaan yang berbeda daripada yang ditunjukkan di sini.

Halaman keyboard dan keypad HID (0x07)

Penggunaan HID Nama Penggunaan HID LKC Nama Kode Kunci Linux Versi AKC Nama Kode Kunci Android Catatan
0x07 0x0001 Mengarah ke Error Keyboard
0x07 0x0002 Gagal POST Keyboard
0x07 0x0003 Error Keyboard Tidak Ditentukan
0x07 0x0004 Keyboard a dan A 0x001e KUNCI_A 1,6 0x001 h KEYCODE_A 1
0x07 0x0005 Keyboard b dan B 0x0030 {i>KEY_B<i} 1,6 0x001e KEYCODE_B 1
0x07 0x0006 Keyboard c dan C 0x002e {i>KEY_C<i} 1,6 0x001f {i>KEYCODE_C<i} 1
0x07 0x0007 Keyboard d dan D 0x0020 {i>KEY_D<i} 1,6 0x0020 KEYCODE_D 1
0x07 0x0008 Keyboard e dan E 0x0012 KUNCI_E 1,6 0x0021 KEYCODE_E 1
0x07 0x0009 Keyboard f dan F 0x0021 KUNCI 1,6 0x0022 KEYCODE_F 1
Nomor 0x07 Keyboard g dan G 0x0022 KUNCI_G 1,6 0x0023 KEYCODE_G 1
0x07 0x000b Keyboard h dan H 0x0023 KUNCI_H 1,6 0x0024 KEYCODE_H 1
Kategori 0x07 Keyboard i dan I 0x0017 {i>KEY_I<i} 1,6 0x0025 KEYCODE_I 1
0x07 0x000d Keyboard j dan J 0x0024 {i>KEY_J<i} 1,6 0x0026 KEYCODE_J 1
0x07 0x000e Keyboard k dan K 0x0025 KUNCI_K 1,6 0x0027 KEYCODE_K 1
0x07 0x000f Keyboard l dan L 0x0026 {i>KEY_L<i} 1,6 0x0028 KEYCODE_L 1
0x07 0x0010 Keyboard m dan M 0x0032 KEY_M 1,6 0x0029 KEYCODE_M 1
0x07 0x0011 Keyboard n dan N 0x0031 {i>KEY_N<i} 1,6 0x002a KEYCODE_N 1
0x07 0x0012 Keyboard o dan O 0x0018 KUNCI_O 1,6 0x002b KEYCODE_O 1
0x07 0x0013 Keyboard p dan P 0x0019 {i>KEY_P<i} 1,6 0x002c KEYCODE_P 1
0x07 0x0014 Q dan Q keyboard 0x0010 T_KUNCI 1,6 0x002h KODE_KUNCI 1
0x07 0x0015 Keyboard r dan R 0x0013 {i>KEY_R<i} 1,6 0x002e KEYCODE_R 1
0x07 0x0016 Keyboard s dan S 0x001f KUNCI_S 1,6 0x002f KEYCODE_S 1
0x07 0x0017 Keyboard t dan T 0x0014 {i>KEY_T<i} 1,6 0x0030 KEYCODE_T 1
0x07 0x0018 Keyboard u dan U 0x0016 KUNCI_U 1,6 0x0031 KEYCODE_U 1
0x07 0x0019 Keyboard v dan V 0x002f {i>KEY_V<i} 1,6 0x0032 KEYCODE_V 1
0x07 0x001a Keyboard dengan dan W 0x0011 {i>KEY_W<i} 1,6 0x0033 KEYCODE_W 1
0x07 0x001b Keyboard x dan X 0x002h KUNCI_X 1,6 0x0034 KEYCODE_X 1
0x07 0x001c Keyboard y dan Y 0x0015 KUNCI_Y 1,6 0x0035 KEYCODE_Y 1
0x07 Keyboard z dan Z 0x002c {i>KEY_Z<i} 1,6 0x0036 KEYCODE_Z 1
0x07 0x001e Keyboard 1 dan ! 0x0002 KUNCI_1 1,6 0x0008 KEYCODE_1 1
0x07 0x001f Keyboard 2 dan @ 0x0003 KUNCI_2 1,6 0x0009 KEYCODE_2 1
0x07 0x0020 Keyboard 3 dan # 0x0004 KUNCI_3 1,6 0x000a KODE_KUNCI_3 1
0x07 0x0021 Keyboard 4 dan $ 0x0005 KUNCI_4 1,6 0x000b KEYCODE_4 1
0x07 0x0022 Keyboard 5 dan % 0x0006 KUNCI_5 1,6 0x000c KEYCODE_5 1
0x07 0x0023 Keyboard 6 dan ^ 0x0007 KUNCI_6 1,6 0x000h KEYCODE_6 1
0x07 0x0024 Keyboard 7 dan & 0x0008 KUNCI_7 1,6 0x000e KEYCODE_7 1
0x07 0x0025 Keyboard 8 dan * 0x0009 KUNCI_8 1,6 0x000f KODE UTAMA_8 1
0x07 0x0026 Keyboard 9 dan ( 0x000a KUNCI_9 1,6 0x0010 KODE UTAMA_9 1
0x07 0x0027 Keyboard 0 dan ) 0x000b KUNCI_0 1,6 0x0007 KEYCODE_0 1
0x07 0x0028 Return Keyboard (ENTER) 0x001c ENTER_KUNCI 1,6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 ESCAPE Keyboard 0x0001 {i>KEY_ESC<i} 3.0 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0x0004 KEYCODE_BELAKANG
Nomor 0x07 Keyboard DELETE (Backspace) 0x000e KEY_BACKSPACE 1,6 0x0043 DEL_KODE_KUNCI
0x07 0x002b Tab Keyboard 0x000f TAB_UTAMA 1,6 0x003h TAB_KODE
0x07 0x002c Spasi Keyboard 0x0039 SPASI_KUNCI 1,6 0x003e KEYCODE_SPACE
0x07 0x002d Keyboard - dan _ 0x000c MINUS_KUNCI 1,6 0x0045 KEYCODE_MINUS 1
0x07 0x002e Keyboard = dan + 0x000h KUNCI_EQUAL 1,6 0x0046 KEYCODE_EQUAL 1
0x07 0x002f Keyboard [ dan { 0x001a KEY_LEFTBRACE 1,6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 Keyboard ] dan } 0x001b KEY_RIGHTBRACE 1,6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 Keyboard \ dan | 0x002b KEY_BACKSLASH 1,6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 Keyboard Non-AS # dan ~ 0x002b KEY_BACKSLASH 1,6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 Keyboard ; dan : 0x0027 KEY_SEMICOLON 1,6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 Keyboard ' dan " 0x0028 KEY_APOSTROPH 1,6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 Keyboard ` dan ~ 0x0029 KEY_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 Keyboard , dan < 0x0033 {i>KEY_COMMA<i} 1,6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 Keyboard . dan > 0x0034 DOT_KUNCI 1,6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 Keyboard / dan ? 0x0035 {i>KEY_SLASH<i} 1,6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Caps Lock Keyboard 0x003a KEY_CAPSLOCK 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 Keyboard F1 0x003b KUNCI_F1 3.0 0x0083 KEYCODE_F1
"" "" "" "" 1,6 0x0052 KEYCODE_MENU
0x07 0x003b Keyboard F2 0x003c KUNCI_F2 3.0 0x0084 KEYCODE_F2
"" "" "" "" 1,6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c Keyboard F3 0x003h KUNCI_F3 3.0 0x0085 KEYCODE_F3
"" "" "" "" 1,6 0x0005 PANGGILAN_KUNCI
0x07 0x003d Keyboard F4 0x003e KUNCI_F4 3.0 0x0086 KEYCODE_F4
"" "" "" "" 1,6 0x0006 PANGGILAN KEYCODE_END
0x07 0x003e Keyboard F5 0x003f KUNCI_F5 3.0 0x0087 KEYCODE_F5
0x07 0x003f Keyboard F6 0x0040 KUNCI_F6 3.0 0x0088 KEYCODE_F6
0x07 0x0040 Keyboard F7 0x0041 KUNCI_F7 3.0 0x0089 KEYCODE_F7
0x07 0x0041 Keyboard F8 0x0042 KUNCI_F8 3.0 0x008a KEYCODE_F8
0x07 0x0042 Keyboard F9 0x0043 KUNCI_F9 3.0 0x008b KEYCODE_F9
0x07 0x0043 Keyboard F10 0x0044 KUNCI_F10 3.0 0x008c KEYCODE_F10
"" "" "" "" 2.3 0x0052 KEYCODE_MENU
0x07 0x0044 Keyboard F11 0x0057 KUNCI_F11 3.0 0x008 h KEYCODE_F11
0x07 0x0045 Keyboard F12 0x0058 KUNCI_F12 3.0 0x008e KEYCODE_F12
0x07 0x0046 Layar Cetak Keyboard 0x0063 {i>KEY_SYSRQ<i} 3.0 0x0078 {i>KEYCODE_SYSRQ <i}
0x07 0x0047 Kunci Scroll Keyboard 0x0046 KEY_SCROLLLOCK 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 Jeda Keyboard 0x0077 JEDA_KUNCI 3.0 0x0079 KEYCODE_BREAK
0x07 0x0049 Sisipkan Keyboard 0x006e SISIP_KUNCI 3.0 0x007c SISIP_KODE_KUNCI
Nomor 0x07 Beranda Keyboard 0x0066 BERANDA_KUNCI 3.0 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1,6 0x0003 BERANDA_KUNCI
0x07 0x004b Halaman Atas Keyboard 0x0068 HALAMAN_KUNCI 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c Hapus Keyboard di Depan 0x006f {i>KEY_DELETE<i} 3.0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d Keyboard Berakhir 0x006b KEY_END 3.0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1,6 0x0006 PANGGILAN KEYCODE_END
0x07 0x004e Halaman ke Bawah Keyboard 0x006d KEY_PAGEDOWN 3.0 0x005h KEYCODE_PAGE_DOWN
0x07 0x004f Panah Kanan Keyboard 0x006a KUNCI_KANAN 1,6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 Panah Kiri Keyboard 0x0069 KIRI_KUNCI 1,6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 Panah Bawah Keyboard 0x006c KE BAWAH 1,6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 Panah Atas Keyboard 0x0067 KUNCI 1,6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 Num Lock dan Hapus Keyboard 0x0045 KEY_NUMLOCK 3.0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 Papan tombol / 0x0062 KEY_KPSLASH 3.0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 Papan tombol * 0x0037 KEY_KPASTERISK 3.0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 Papan tombol - 0x004a KUNCI_KMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Papan tombol + 0x004e KEY_KPPLUS 3.0 0x009h KEYCODE_NUMPAD_ADD
0x07 0x0058 Keypad ENTER 0x0060 KEY_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Keypad 1 dan End 0x004f KUNCI_KP1 3.0 0x0091 KEYCODE_NUMPAD_1
Nomor 0x07 Keypad 2 dan Panah Bawah 0x0050 KUNCI_KP2 3.0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b Keypad 3 dan PageDn 0x0051 KUNCI_KP3 3.0 0x0093 KEYCODE_NUMPAD_3
0x07 Keypad 4 dan Panah Kiri 0x004b KUNCI_KP4 3.0 0x0094 KEYCODE_NUMPAD_4
0x07 Papan tombol 5 0x004c KUNCI_KP5 3.0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e Keypad 6 dan Panah Kanan 0x004 h KUNCI_KP6 3.0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f Keypad 7 dan Beranda 0x0047 KUNCI_KP7 3.0 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060 Keypad 8 dan Panah Atas 0x0048 KUNCI_KP8 3.0 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061 Keypad 9 dan Page Up 0x0049 KUNCI_KP9 3.0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 Keypad 0 dan Insert 0x0052 KUNCI_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 Papan tombol . dan Hapus 0x0053 KUNCI_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 Keyboard Non-AS \ dan | 0x0056 KUNCI_102ND 4.0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 Aplikasi Keyboard 0x007f KUNCI_COMPOSE 3.0 0x0052 KEYCODE_MENU
"" "" "" "" 1,6 0x0054 KEYCODE_SEARCH
0x07 0x0066 Daya Keyboard 0x0074 DAYA_KUNCI 1,6 0x001a {i>KEYCODE_POWER<i}
0x07 0x0067 Papan tombol = 0x0075 KUNCI_KPEQUAL 3.0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 Keyboard F13 0x00b7 KUNCI_F13
0x07 0x0069 Keyboard F14 0x00b8 KUNCI_F14
0x07 0x006a Keyboard F15 0x00b9 KUNCI_F15
0x07 0x006b Keyboard F16 0x00ba KUNCI_F16
0x07 0x006c Keyboard F17 0x00bb KUNCI_F17
0x07 Keyboard F18 0x00bc KUNCI_F18
0x07 0x006e Keyboard F19 0x00bd KUNCI_F19
0x07 0x006f Keyboard F20 0x00be KUNCI_F20
0x07 0x0070 Keyboard F21 0x00bf KUNCI_F21
0x07 0x0071 Keyboard F22 0x00c0 KUNCI_F22
0x07 0x0072 Keyboard F23 {i>0x00c1<i} KUNCI_F23
0x07 0x0073 Keyboard F24 0x00c2 KUNCI_F24
0x07 0x0074 Jalankan Keyboard 0x0086 KUNCI_BUKA
0x07 0x0075 Bantuan Keyboard 0x008a BANTUAN_KUNCI
0x07 0x0076 Menu Keyboard 0x0082 PROSES_KUNCI
0x07 0x0077 Pilihan Keyboard 0x0084 KUNCI_DEPAN
0x07 0x0078 Berhenti Keyboard 0x0080 BERHENTI KUNCI 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 Keyboard Lagi 0x0081 KUNCI_LAGI
0x07 0x007a Batalkan Keyboard 0x0083 KEY_URUNG
0x07 0x007b Potongan Keyboard 0x0089 POTONGAN_KUNCI
0x07 0x007c Salinan Keyboard 0x0085 SALINAN_KUNCI
0x07 0x007d Penempelan Keyboard 0x0087 TEMPEL_KUNCI
0x07 0x007e Pencari Keyboard 0x0088 TEMUKAN_KUNCI
0x07 0x007f Bisukan Keyboard 0x0071 KUNCI_BISUKAN 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 Naikkan Volume Keyboard 0x0073 VOLUMEUP_KUNCI 1,6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 Turunkan Volume Keyboard 0x0072 KEY_VOLUMEDOWN 1,6 0x0019 KEYCODE_VOLUME_BAWAH
0x07 0x0082 Caps Lock Penguncian Keyboard
0x07 0x0083 Penguncian Angka untuk Penguncian Keyboard
0x07 0x0084 Kunci Scroll Penguncian Keyboard
0x07 0x0085 Koma Keypad 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 Tanda Sama Dengan Keypad
0x07 0x0087 Keyboard Internasional1 0x0059 KEY_RO
0x07 0x0088 Keyboard Internasional2 0x005h KEY_KATAKANAHIRAGANA
0x07 0x0089 Keyboard Internasional3 0x007c YEN_KUNCI
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 Keyboard LANG1 0x007a HANGEUL_KUNCI
0x07 0x0091 Keyboard LANG2 0x007b HANJA_KUNCI
0x07 0x0092 Keyboard LANG3 0x005a KEY_KATAKANA
0x07 0x0093 Keyboard LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 Keyboard LANG5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Keyboard LANG6
0x07 0x0096 Keyboard LANG7
0x07 0x0097 Keyboard LANG8
0x07 0x0098 Keyboard LANG9
0x07 0x0099 Hapus Alternatif Keyboard
0x07 0x009a SysReq/Attention (Perhatian) Keyboard
0x07 0x009b Batalkan Keyboard
0x07 0x009c Keyboard Hapus
0x07 0x009d Keyboard Sebelumnya
0x07 0x009e Return Keyboard
0x07 0x009f Pemisah Keyboard
0x07 0x00a0 Keyboard Keluar
Info tambahan 0x07 Oper Keyboard
Periksa Keyboard Hapus/Lagi
Periksa CrSel/Perabot Keyboard
Periksa ExSel Keyboard
0x07 0x00b0 Papan tombol 00
0x07 0x00b1 Papan tombol 000
0x07 0x00b2 Pemisah Ribuan
0x07 0x00b3 Pemisah Desimal
Info Unit Mata Uang
Info Subunit Mata Uang
Info Papan tombol ( 0x00b3 KEY_KPLEFTPAREN 3.0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
Info Papan tombol ) 0x00b4 KEY_KPRIGHTPAREN 3.0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
Info Papan tombol {
0x07 0x00b9 Papan tombol }
0x07 0x00ba Tab Keypad
0x07 0x00bb Tombol Backspace
0x07 0x00bc Papan tombol A
0x07 0x00bd Papan tombol B
Ukuran 0x07 Papan tombol C
0x07 0x00bf Papan tombol D
0x07 0x00c0 Papan tombol E
0x07 Papan tombol F
0x07 Keypad XOR
Info tambahan 0x07 Papan tombol ^
Info tambahan 0x07 % keypad
Info tambahan 0x07 Papan tombol <
Info tambahan 0x07 Papan tombol >
Info tambahan 0x07 Papan tombol &
Info tambahan 0x07 Papan tombol &&
Info tambahan 0x07 Papan tombol |
0x07 0x00ca Papan tombol ||
0x07 Papan tombol :
0x07 0x00cc Keypad #
0x07 0x00cd Ruang Keypad
0x07 0x00ce Papan tombol @
0x07 0x00cf Papan tombol !
0x07 0x00d0 Penyimpanan Memori Keypad
0x07 Penarikan Kembali Memori Keypad
0x07 Memori Keypad Dihapus
0x07 Memori Keypad Penambahan
0x07 0x00d4 Pengurangan Memori Keypad
0x07 0x00d5 Perkalian Memori Keypad
0x07 0x00d6 Pembagi Memori Keypad
0x07 Papan tombol +/-
0x07 Keypad Hapus
Nomor 0x07 Entri Hapus Keypad
0x07 0x00da Biner Keypad
0x07 0x00db Keypad Oktal
0x07 0x00dc Desimal Keypad
0x07 0x00dd Keypad Heksadesimal
0x07 Kontrol Kiri Keyboard 0x001 h Ctrl_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
Info tambahan 0x07 Shift Kiri Keyboard 0x002a KEY_LEFTSHIFT 1,6 0x003b KEYCODE_SHIFT_LEFT
0x07 Alt Kiri Keyboard 0x0038 KEY_LEFTALT 1,6 0x0039 KEYCODE_ALT_LEFT
0x07 GUI Kiri Keyboard 0x007 h KEY_LEFTMETA 3.0 0x0075 KEYCODE_META_LEFT
4x07 Kontrol Kanan Keyboard 0x0061 CTRL_KANAN 3.0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 Shift Kanan Keyboard 0x0036 KEY_RIGHTSHIFT 1,6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 Keyboard Alt Kanan 0x0064 KEY_RIGHTALT 1,6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 GUI Keyboard Kanan 0x007e {i>KEY_RIGHTMETA<i} 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
Produk 0x00a5 KEY_PREVIOUSLAA 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_NEXTLAGU 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x07 0x00ed 0x0073 VOLUMEUP_KUNCI 1,6 0x0018 KEYCODE_VOLUME_UP
0x07 0x00ee 0x0072 KEY_VOLUMEDOWN 1,6 0x0019 KEYCODE_VOLUME_BAWAH
0x07 0x00ef 0x0071 KUNCI_BISUKAN 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0096 KUNCI_WWW 1,6 0x0040 PENJELAJAH_KUNCI
0x07 0x00f1 0x009e KUNCI_BELAKANG 1,6 0x0004 KEYCODE_BELAKANG
0x07 0x009f {i>KEY_FORWARD<i} 3.0 0x007 h KEYCODE_FORWARD
0x07 0x00f3 0x0080 BERHENTI KUNCI 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0088 TEMUKAN_KUNCI
0x07 {i>0x00b1<i} SKROLLUP_KUNCI 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x00b2 KUNCI_SCROLLDOWN 3.0 0x005h KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 EDIT_KUNCI
0x07 0x00f8 0x008e TIDUR_KUNCI
Periksa 0x0098 KOPI_KUNCI 4.0 0x001a {i>KEYCODE_POWER<i}
0x07 0x00fa Iklan 0x00 KEY_REFRESH
0x07 0x00fb 0x008c {i>KEY_CALC<i} 4.0.3 0x00h2 {i>KEYCODE_CALCULATOR<i}

Halaman desktop umum HID (0x01)

Penggunaan HID Nama Penggunaan HID LKC Nama Kode Kunci Linux Versi AKC Nama Kode Kunci Android Catatan
0x01 0x0081 Sistem Matikan 0x0074 DAYA_KUNCI 1,6 0x001a {i>KEYCODE_POWER<i}
0x01 0x0082 Tidur Sistem 0x008e TIDUR_KUNCI 4.0 0x001a {i>KEYCODE_POWER<i}
0x01 0x0083 Bangunkan Sistem 0x008f BANGUN_KUNCI 4.0 0x001a KEYCODE_POWER
0x01 0x0084 Menu Konteks Sistem
0x01 0x0085 Menu Utama Sistem
0x01 0x0086 Menu Aplikasi Sistem
0x01 0x0087 Bantuan Menu Sistem
0x01 0x0088 Keluar Menu Sistem
0x01 0x0089 Pemilihan Menu Sistem
0x01 0x008a Menu Sistem Kanan
0x01 0x008b Menu Sistem Kiri
0x01 0x008c Menu Sistem Atas
0x01 0x008d Menu Sistem Bawah
0x01 0x008e Mulai Ulang Cold Sistem
0x01 0x008f Mulai Ulang Penghangat Sistem
0x01 0x00a0 Dok Sistem
0x01 Lepas kaitan Sistem
0x01 Pengaturan Sistem
0x01 0x00a3 Jeda Sistem
0x01 Jeda Debugger Sistem
0x01 Jeda Aplikasi
0x01 0x00a6 Jeda Debugger Aplikasi
0x01 0x00a7 Bisukan Speaker Sistem
0x01 Hibernasi Sistem
0x01 0x00b0 Balik Tampilan Sistem
0x01 0x00b1 Tampilan Sistem Internal
0x01 0x00b2 Tampilan Sistem Eksternal
0x01 Tampilan Sistem Keduanya
0x01 Tampilan Sistem Ganda
0x01 Tombol Layar Sistem Int/Ext
0x01 0x00b6 Utama Pertukaran Tampilan Sistem/Dtk.
{i>0x01 0x00b7<i} Penskalaan Otomatis LCD Layar Sistem

Halaman konsumen HID (0x0c)

Penggunaan HID Nama Penggunaan HID LKC Nama Kode Kunci Linux Versi AKC Nama Kode Kunci Android Catatan
0x0c 0x0030 Daya
0x0c 0x0031 Reset
0x0c 0x0032 Tidur
0x0c 0x0033 Tidur Setelah
0x0c 0x0034 Mode Tidur 0x008e TIDUR_KUNCI 4.0 0x001a {i>KEYCODE_POWER<i}
0x0c 0x0040 Menu 0x008b KEY_MENU 1,6 0x0052 KEYCODE_MENU
0x0c 0x0041 Pilihan Menu
0x0c 0x0042 Menu Atas
0x0c 0x0043 Menu ke Bawah
0x0c 0x0044 Menu Kiri
0x0c 0x0045 Menu Kanan 0x0181 KUNCI_KANAN
0x0c 0x0046 Escape Menu
0x0c 0x0047 Peningkatan Nilai Menu
0x0c 0x0048 Penurunan Nilai Menu
0x0c 0x0067 Tombol Picture-in-Picture 0x00ab JENDELA_KUNCI Ditambahkan dalam AOSP/1365553
0x0c 0x0069 Tombol Menu Merah 0x18e KUNCI_MERAH 0x00b7 KEYCODE_PROG_MERAH Ditambahkan pada AOSP/1388616
0x0c 0x006a Tombol Menu Hijau 0x18f KUNCI_HIJAU 0x00b8 KEYCODE_PROG_GREEN Ditambahkan pada AOSP/1388616
0x0c 0x006b Tombol Menu Biru 0x191 BIRU_KUNCI 0x00ba KEYCODE_PROG_BIRU Ditambahkan pada AOSP/1388616
0x0c 0x006c Tombol Menu Kuning 0x190 KUNING_KUNCI 0x00b9 KEYCODE_PROG_KUNING Ditambahkan pada AOSP/1388616
0x0c 0x0081 Tetapkan Pilihan
0x0c 0x0082 Langkah Mode
0x0c 0x0083 Penarikan Terakhir 0x0195 KUNCI_AKHIR 0xe5 KEYCODE_last_CHANNEL Ditambahkan dalam AOSP/1365551
0x0c 0x0084 Masuk ke Saluran
0x0c 0x0085 Pesan Film
0x0c 0x0088 Komputer Pemilihan Media 0x0178 PC_KUNCI
0x0c 0x0089 TV Pilihan Media 0x0179 TV_KUNCI 3.0 0x00aa KODE_TV
0x0c 0x008a WWW Pemilihan Media 0x0096 KUNCI_WWW 1,6 0x0040 PENJELAJAH_KUNCI
0x0c 0x008b DVD Media Select 0x0185 DVD_KUNCI
0x0c 0x008c Telepon Media Pilihan 0x00a9 PONSEL_KUNCI 3.0 0x0005 PANGGILAN_KUNCI
0x0c 0x008d Panduan Program Pemilihan Media 0x016a PROGRAM_KUNCI 3.0 0x00ac PANDUAN_KUNCI
0x0c 0x008e Telepon Video Pilihan Media 0x01a0 PONSEL_VIDEO
0x0c 0x008f Game Pilihan Media 0x01a1 GAME_KUNCI
0x0c 0x0090 Pesan Pilihan Media 0x018c KEY_MEMO
0x0c 0x0091 CD Pilihan Media 0x017f CD_KU
0x0c 0x0092 VCR Pemilihan Media 0x017b {i>KEY_VCR<i}
0x0c 0x0093 Penyetel Pilihan Media 0x0182 KUNCI_TUNER
0x0c 0x0094 Keluar 0x00ae KELUAR
0x0c 0x0095 Bantuan 0x008a BANTUAN_KUNCI
0x0c 0x0096 Tape Pilihan Media 0x0180 TAPE_KUNCI
0x0c 0x0097 Kabel Media Select 0x017a TV_KUNCI
0x0c 0x0098 Satelit Pilihan Media 0x017 h SAT_KUNCI
0x0c 0x0099 Keamanan Pemilihan Media
0x0c 0x009a Layar Utama Pemilihan Media 0x016e PVR_KU 3.0 Iklan 0x00 KEYCODE_DVR
0x0c 0x0061 Subtitel 0x0172 SUBTITEL_KUNCI 0x00af KEYCODE_CAPTIONS Ditambahkan dalam AOSP/1365552
0x0c 0x009c Penambahan Saluran 0x0192 CHANNEL_KUNCI 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Pengurangan Channel 0x0193 KEY_CHANNEL BAWAH 3.0 0x00a7 KEYCODE_CHANNEL_BAWAH
0x0c 0x009e SAP Media Select
0x0c 0x00a0 VCR Plus 0x017c {i>KEY_VCR2<i}
0x0c 0x00a1 Sekali
0x0c 0x00a2 Harian
0x0c 0x00a3 Mingguan
0x0c 0x00a4 Bulanan
0x0c 0x00b0 Putar 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Jeda 0x0077 JEDA_KUNCI 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 Rekam 0x00a7 KEY_RECORD 3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Maju Cepat 0x00h KEY_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Mundur 0x00a8 KEY_REWIND 3.0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Pindai Trek Berikutnya 0x00a3 KEY_NEXTLAGU 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 Pindai Trek Sebelumnya 0x00a5 KEY_PREVIOUSLAA 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Berhenti 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 Keluarkan 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 Acak
0x0c 0x00ba Pilih Disk
0x0c 0x00bb Masukkan Disk
0x0c 0x00bc Ulangi {i>0x01b7<i} KEY_MEDIA_REPEAT
0x0c 0x00be Lacak Normal
0x0c 0x00c0 Frame ke Depan
0x0c 0x00c1 Frame Belakang
0x0c 0x00c2 Tandai
0x0c 0x00c3 Hapus Tanda
0x0c 0x00c4 Ulangi Dari Tanda
0x0c 0x00c5 Kembali ke Tanda
0x0c 0x00c6 Tanda Penelusuran di Depan
0x0c 0x00c7 Tanda Penelusuran Mundur
0x0c 0x00c8 Penghitung Ulang
0x0c 0x00c9 Tampilkan Penghitung
0x0c 0x00ca Penambahan Pelacakan
0x0c 0x00cb Pengurangan 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 Bisukan 0x0071 KUNCI_BISUKAN 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 Penguat Bass 0x00h1 PENINGKATAN_BASS KUNCI
0x0c 0x00e6 Mode Surround
0x0c 0x00e7 Kenyaringan
0x0c 0x00e8 MPX
0x0c 0x00e9 Penambahan Volume 0x0073 VOLUMEUP_KUNCI 1,6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea Mengurangi Volume 0x0072 KEY_VOLUMEDOWN 1,6 0x0019 KEYCODE_VOLUME_BAWAH
0x0c 0x0173 Penambahan Audio Alternatif 0x00de KEYCODE_MEDIA_AUDIO_LAC Ditambahkan dalam AOSP/1365554
0x0c 0x0181 Konfigurasi Tombol Peluncuran AL. Alat
0x0c 0x0182 Konfigurasi Tombol yang Dapat Diprogram AL 0x009c KEY_BOOKMARK 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 Konfigurasi Kontrol Konsumen AL 0x00ab {i>KEY_CONFIG<i} 4.0.3 0x00h1 KEYCODE_MUSIC
0x0c 0x0184 Pengolah Kata AL 0x01a5 KEY_WORD {PROSESOR
0x0c 0x0185 Editor Teks AL 0x01a6 EDITOR_KUNCI
0x0c 0x0186 Spreadsheet AL 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 Editor Grafis AL 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 Aplikasi Presentasi AL 0x01a9 PRESENTASI_KUNCI
0x0c 0x0189 Aplikasi Database AL 0x01aa BASIS_DATA
0x0c 0x018a Pembaca Email AL 0x009b EMAIL_KUNCI 1,6 0x0041 KEYCODE_SHORTS
0x0c 0x018b Pembaca Berita AL 0x01ab BERITA_KUNCI
0x0c 0x018c Pesan Suara AL 0x01ac EMAIL_KUNCI
0x0c 0x018d Kontak / Buku Alamat AL 0x01iklan BUKU ALAMAT_KUNCI 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e Kalender / Jadwal AL 0x018 h KEY_CALENDAR 4.0.3 0x00h KEYCODE_CALENDAR
0x0c 0x018f Tugas AL / Manajer Proyek
0x0c 0x0190 AL Log / Jurnal / Kartu Waktu
0x0c 0x0191 Buku Cek / Keuangan AL 0x00db KEUANGAN_KUNCI
0x0c 0x0192 Kalkulator AL 0x008c {i>KEY_CALC<i} 4.0.3 0x00h2 {i>KEYCODE_CALCULATOR<i}
0x0c 0x0193 Pengambilan/Pemutaran A / V AL
0x0c 0x0194 Browser Mesin Lokal AL 0x0090 FILE_KUNCI
0x0c 0x0195 Browser AL LAN/WAN
0x0c 0x0196 Browser Internet AL 0x0096 KUNCI_WWW 1,6 0x0040 PENJELAJAH_KUNCI
0x0c 0x0197 AL Remote Networking/ISP Connect
0x0c 0x0198 Konferensi Jaringan AL
0x0c 0x0199 Chat Jaringan AL 0x00h8 KEY_CHAT
0x0c 0x019a Telepon / Telepon AL
0x0c 0x019b Logon AL
0x0c 0x019c Keluar dari AL {i>0x01b1<i} {i>KEY_LOGOFF<i}
0x0c 0x019d AL Logon / Logoff
0x0c 0x019e Kunci Terminal AL / Screensaver AL 0x0098 KOPI_KUNCI 4.0 0x001a {i>KEYCODE_POWER<i}
0x0c 0x019f Panel Kontrol AL
0x0c 0x01a0 Prosesor / Jalankan Proses Command Line AL
0x0c 0x01a1 Proses AL / Pengelola Tugas
0x0c 0x01a2 Tugas / Aplikasi AL Select
0x0c 0x01a3 Tugas / Aplikasi Berikutnya AL
0x0c 0x01a4 Tugas / Aplikasi Sebelumnya AL
0x0c 0x01a5 AL Preemptive Menghentikan Tugas / Aplikasi.
0x0c 0x01a6 Pusat Bantuan Terintegrasi AL 0x008a BANTUAN_KUNCI
0x0c 0x01a7 Dokumen AL 0x00eb DOKUMEN_KUNCI
0x0c 0x01a8 Tesaurus AL
0x0c 0x01a9 Kamus AL
0x0c 0x01a Desktop AL
0x0c 0x01ab Periksa Ejaan AL {i>0x01b0<i} KEY_SPELLCHECK
0x0c 0x01ac Pemeriksaan Tata Bahasa AL
0x0c 0x01iklan Status AL Wireless
0x0c 0x01ae Tata Letak Keyboard AL
0x0c 0x01af Perlindungan Virus AL
0x0c 0x01b0 Enkripsi AL
0x0c 0x01b1 Penghemat Layar AL
0x0c 0x01b2 Alarm AL
0x0c 0x01b3 Jam AL
0x0c 0x01b4 Browser File AL
0x0c 0x01b5 Status Daya AL
0x0c 0x01b6 Browser Gambar AL 0x00e2 MEDIA_KUNCI 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 Browser Audio AL 0x00h5 SUARA_KUNCI 4.0.3 0x00h1 KEYCODE_MUSIC
0x0c 0x01b8 Browser AL Movie
0x0c 0x01b9 Pengelola Hak Digital AL
0x0c 0x01ba Dompet Digital AL
0x0c 0x01bc Fitur Pesan Instan AL 0x01ae KEY_MESSENGER
0x0c 0x01bd Browser Tips / Fitur OEM AL 0x0166 Info_KUNCI
0x0c 0x01be Bantuan OEM AL
0x0c 0x01bf Komunitas Online AL
0x0c 0x01c0 Browser Konten Hiburan AL
0x0c 0x01c1 Browser Shopping Online AL
0x0c 0x01c2 Informasi / Bantuan SmartCard AL
0x0c 0x01c3 Browser AL Market / Keuangan
0x0c 0x01c4 Browser Berita Perusahaan yang Disesuaikan AL
0x0c 0x01c5 Browser Aktivitas Online AL
0x0c 0x01c6 Riset AL / Browser Penelusuran
0x0c 0x01c7 Pemutar Audio AL
0x0c 0x0201 AC Baru 0x00b5 KUNCI_BARU
0x0c 0x0202 AC Terbuka 0x0086 KUNCI_BUKA
0x0c 0x0203 AC Tutup 0x00ce KUNCI_TUTUP
0x0c 0x0204 Keluar AC 0x00ae KELUAR
0x0c 0x0205 Maksimum AC
0x0c 0x0206 Minimalkan AC
0x0c 0x0207 Hemat AC 0x00ea {i>KEY_SAVE<i}
0x0c 0x0208 Cetak AC 0x00h2 CETAK_KUNCI
0x0c 0x0209 Properti AC 0x0082 PROSES_KUNCI
0x0c 0x021a Pengurungan AC 0x0083 KEY_URUNG
0x0c 0x021b Salinan AC 0x0085 SALINAN_KUNCI
0x0c 0x021c Potongan AC 0x0089 POTONGAN_KUNCI
0x0c 0x021d Pasta AC 0x0087 TEMPEL_KUNCI
0x0c 0x021e Pilih Semua AC
0x0c 0x021f Temukan AC 0x0088 TEMUKAN_KUNCI
0x0c 0x0220 Cari dan Ganti AC
0x0c 0x0221 Penelusuran AC 0x00h9 PENELUSURAN KUNCI 1,6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 Menuju AC 0x0162 KEY_GOTO
0x0c 0x0223 Rumah ber-AC 0x00ac HALAMAN_ANDA UTAMA 3.0 0x0003 BERANDA_KUNCI
0x0c 0x0224 Belakang AC 0x009e KUNCI_BELAKANG 1,6 0x0004 KEYCODE_BELAKANG
0x0c 0x0225 AC Maju 0x009f {i>KEY_FORWARD<i} 3.0 0x007 h KEYCODE_FORWARD
0x0c 0x0226 Pemberhentian AC 0x0080 BERHENTI KUNCI 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 Pembaruan AC Iklan 0x00 KEY_REFRESH
0x0c 0x0228 Link Sebelumnya AC
0x0c 0x0229 Link AC Next
0x0c 0x022a Bookmark AC 0x009c KEY_BOOKMARK 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b Histori AC
0x0c 0x022c Langganan AC
0x0c 0x022d Perbesar AC 0x01a2 KEBIJAKAN_KUNCI
0x0c 0x022e Perkecil AC 0x01a3 {i>KEY_ZOOMOUT<i}
0x0c 0x022f Zoom AC 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 Tampilan Layar Penuh AC
0x0c 0x0231 Tampilan Normal AC
0x0c 0x0232 Tombol Tampilan AC
0x0c 0x0233 Scroll ke Atas AC {i>0x00b1<i} SKROLLUP_KUNCI 3.0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 Scroll ke Bawah AC 0x00b2 KUNCI_SCROLLDOWN 3.0 0x005h KEYCODE_PAGE_DOWN
0x0c 0x0236 Geser AC ke Kiri
0x0c 0x0237 Geser AC ke Kanan
0x0c 0x0239 Jendela Baru AC
0x0c 0x023a Ubin AC Horizontal
0x0c 0x023b Ubin AC Vertikal
0x0c 0x023c Format AC
0x0c 0x023d Pengeditan AC
0x0c 0x023e AC Tebal
0x0c 0x023f Miring AC
0x0c 0x0240 Garis bawah AC
0x0c 0x0241 Coret AC
0x0c 0x0242 Subskrip AC
0x0c 0x0243 Superskrip AC
0x0c 0x0244 Semua Batas AC
0x0c 0x0245 Putar AC
0x0c 0x0246 Ubah Ukuran AC
0x0c 0x0247 Balik AC horizontal
0x0c 0x0248 AC Balik Vertikal
0x0c 0x0249 Cermin AC Horizontal
0x0c 0x024a Cermin AC Vertikal
0x0c 0x024b Pemilihan Font AC
0x0c 0x024c Warna Font AC
0x0c 0x024d Ukuran Font AC
0x0c 0x024e AC Rata Kiri
0x0c 0x024f Pusat Justify AC H
0x0c 0x0250 AC Rata Kanan
0x0c 0x0251 Blok Rata Kanan AC AC
0x0c 0x0252 Rata Kanan AC AC
0x0c 0x0253 Pusat Pembenaran AC V
0x0c 0x0254 Rata Bawah AC
0x0c 0x0255 Blok Rata Kanan AC AC
0x0c 0x0256 Penurunan Inden AC
0x0c 0x0257 Peningkatan Inden AC
0x0c 0x0258 Daftar Bernomor AC
0x0c 0x0259 Penomoran Mulai Ulang AC
0x0c 0x025a Daftar Berbutir AC
0x0c 0x025b Promosi AC
0x0c 0x025c Demosikan AC
0x0c 0x025d AC Ya
0x0c 0x025e Tidak Ada AC
0x0c 0x025f Pembatalan AC 0x00df KEY_CANCEL
0x0c 0x0260 Katalog AC
0x0c 0x0261 Beli / Checkout AC
0x0c 0x0262 Tambahkan ke Keranjang AC
0x0c 0x0263 Perluasan AC
0x0c 0x0264 Luaskan Semua AC
0x0c 0x0265 AC Diciutkan
0x0c 0x0266 AC Ciutkan Semua
0x0c 0x0267 Pratinjau Cetak AC
0x0c 0x0268 Khusus Pasta AC
0x0c 0x0269 Mode Penyisipan AC
0x0c 0x026a Penghapusan AC
0x0c 0x026b Kunci AC
0x0c 0x026c Buka Kunci AC
0x0c 0x026d Pelindung AC
0x0c 0x026e Tanpa Perlindungan AC
0x0c 0x026f Lampirkan Komentar AC
0x0c 0x0270 Hapus Komentar AC
0x0c 0x0271 Lihat Komentar AC
0x0c 0x0272 Pilih Kata AC
0x0c 0x0273 Kalimat AC Select
0x0c 0x0274 Paragraf Pilihan AC
0x0c 0x0275 Kolom Pilihan AC
0x0c 0x0276 Baris Pilihan AC
0x0c 0x0277 Tabel Select AC
0x0c 0x0278 Objek Pilihan AC
0x0c 0x0279 Ulangi / Pengulangan AC 0x00b6 ULANG_KUNCI
0x0c 0x027a Pengurutan AC
0x0c 0x027b Urutkan AC Menaik
0x0c 0x027c Urutkan AC Menurun
0x0c 0x027d Filter AC
0x0c 0x027e Jam Pengaturan AC
0x0c 0x027f Jam Tampilan AC
0x0c 0x0280 Zona Waktu Pilih AC
0x0c 0x0281 Zona Waktu Edit AC
0x0c 0x0282 Alarm yang Disetel AC
0x0c 0x0283 Alarm Bening AC
0x0c 0x0284 Alarm Tunda AC
0x0c 0x0285 Alarm Reset AC
0x0c 0x0286 Sinkronisasi AC
0x0c 0x0287 Kirim/Terima AC
0x0c 0x0288 Kirim Ke AC
0x0c 0x0289 Balasan AC 0x00e8 KEY_BALAS
0x0c 0x028a Balas Semua AC
0x0c 0x028b Pesan Penerusan AC 0x00e9 KEY_UNTUK EMAIL
0x0c 0x028c Kirim AC 0x00e7 KUNCI_KIRIM
0x0c 0x028d File Lampiran AC
0x0c 0x028e Upload AC
0x0c 0x028f Download AC (Simpan Target Sebagai)
0x0c 0x0290 Set Batas AC
0x0c 0x0291 Baris Sisipkan AC
0x0c 0x0292 Kolom Sisipkan AC
0x0c 0x0293 File Sisipkan AC
0x0c 0x0294 Gambar Sisipkan AC
0x0c 0x0295 Objek Sisipkan AC
0x0c 0x0296 Simbol Sisipkan AC
0x0c 0x0297 Simpan dan Tutup AC
0x0c 0x0298 Penggantian Nama AC
0x0c 0x0299 Penggabungan AC
0x0c 0x029a Split AC
0x0c 0x029b AC Distribusikan Secara Horizontal
0x0c 0x029c AC Distribusikan Vertikal

Pemetaan non-HID tambahan

Pemetaan ini menjelaskan fungsi yang tidak muncul di HID, tetapi untuk Linux ada kode tombol tertentu.

LKC Nama Kode Kunci Linux Versi AKC Nama Kode Kunci Android Catatan
0x01h0 {i>KEY_FN<i} 3.0 0x0077 KEYCODE_FUNCTION
0x01h1 KEY_FN_ESC 3.0 0x006f KEYCODE_ESCAPE 3
0x01h2 {i>KEY_FN_F1<i} 3.0 0x0083 KEYCODE_F1 3
0x01h3 {i>KEY_FN_F2<i} 3.0 0x0084 KEYCODE_F2 3
0x01h4 {i>KEY_FN_F3<i} 3.0 0x0085 KEYCODE_F3 3
0x01h5 {i>KEY_FN_F4<i} 3.0 0x0086 KEYCODE_F4 3
0x01h6 {i>KEY_FN_F5<i} 3.0 0x0087 KEYCODE_F5 3
0x01h7 KUNCI_FN_F6 3.0 0x0088 KEYCODE_F6 3
0x01h8 {i>KEY_FN_F7<i} 3.0 0x0089 KEYCODE_F7 3
0x01h9 {i>KEY_FN_F8<i} 3.0 0x008a KEYCODE_F8 3
0x01da {i>KEY_FN_F9<i} 3.0 0x008b KEYCODE_F9 3
0x01db FN_F10 KUNCI 3.0 0x008c KEYCODE_F10 3
0x01dc FN_F11 KUNCI 3.0 0x008 h KEYCODE_F11 3
0x01dd FN_F12 KUNCI 3.0 0x008e KEYCODE_F12 3
0x01de {i>KEY_FN_1<i} 3.0 0x0008 KEYCODE_1 3
0x01df KUNCI_FN_2 3.0 0x0009 KEYCODE_2 3
0x01e0 {i>KEY_FN_D<i} 3.0 0x0020 KEYCODE_D 3
0x01e1 {i>KEY_FN_E<i} 3.0 0x0021 KEYCODE_E 3
0x01e2 {i>KEY_FN_F<i} 3.0 0x0022 KEYCODE_F 3
0x01e3 {i>KEY_FN_S<i} 3.0 0x002f KEYCODE_S 3
0x01e4 {i>KEY_FN_B<i} 3.0 0x001e KEYCODE_B 3

Kunci lama yang tidak didukung

Pemetaan ini muncul di versi Android sebelumnya tetapi tidak konsisten dengan HID atau menggunakan kode kunci Linux non-standar. Fitur tersebut tidak lagi didukung.

LKC Nama Kode Kunci Linux Versi AKC Nama Kode Kunci Android Catatan
0x00db EMAIL_KUNCI 1,6 0x004 h KODE_KUNCI 4
"" "" 4.0 4
0x00e3 BINTANG_KUNCI 1,6 0x0011 KEYCODE_STAR 4
"" "" 4.0 4
0x00e4 {i>KEY_SHARP<i} 1,6 0x0012 {i>KEYCODE_POUND<i} 4
"" "" 4.0 4
0x00e5 {i>KEY_SOFT1<i} 1,6 0x0052 KEYCODE_MENU 4
"" "" 4.0 4
0x00e6 {i>KEY_SOFT2<i} 1,6 0x0002 KEYCODE_SOFT_RIGHT 4
"" "" 4.0 4
0x00e7 KUNCI_KIRIM 1,6 0x0005 PANGGILAN_KUNCI 4
"" "" 4.0 4
0x00e8 PUSAT_KUNCI 1,6 0x0017 KEYCODE_DPAD_CENTER 4
"" "" 4.0 4
0x00e9 KEY_HEADSETHOOK 1,6 0x004f KEYCODE_HEADSETHOOK 4
"" "" 4.0 4
0x00ea KUNCI_0_5 1,6 4
0x00eb KUNCI_2_5 1,6 4

Catatan

  1. Kode kunci Android yang terkait dengan alfanumerik dan simbol umum dapat bervariasi berdasarkan tata letak keyboard dan bahasa. Karena alasan historis, kode pemindaian fisik dan penggunaan HID yang terkait dengan tombol pada {i>keyboard<i} sering ditentukan secara posisi walaupun label yang dicetak pada kunci itu mungkin berbeda bahasa ke bahasa lain.

    Pada keyboard Inggris AS (QWERTY), tombol alfabet kiri atas adalah berlabel Q. Pada {i>keyboard<i} Prancis (AZERTY), tombol di posisi tersebut diberi label A. Terlepas dari labelnya, pada kedua {i>keyboard<i} tombol alfabet kiri atas dirujuk untuk menggunakan fungsi HID 0x07 0x0014 yang dipetakan ke kode kunci Linux KEY_Q.

    Jika Android dikonfigurasi dengan tata letak keyboard bahasa Inggris AS, maka kode tombol Linux KEY_Q akan dipetakan ke kode tombol Android KEYCODE_Q dan akan menghasilkan karakter 'Q' dan 'q'. Namun, ketika Android dikonfigurasi dengan tata letak {i>keyboard<i} Prancis, kode tombol Linux KEY_Q akan dipetakan ke kode tombol Android KEYCODE_A dan akan menghasilkan karakter 'A' dan 'a'.

    Kode tombol Android biasanya mencerminkan bahasa kunci tersebut, sehingga kode tombol Android yang berbeda mungkin digunakan untuk bahasa yang berbeda.

  2. 0x0c 0x022f AC Zoom ditentukan dalam HID sebagai kontrol linier, tetapi {i>kernel<i} memetakannya sebagai sebuah kunci, yang mungkin salah.

  3. Kunci fungsi Linux KEY_FN_* dipetakan agar lebih sederhana kode tombol tertentu tetapi dikirim dengan status meta META_FUNCTION ditetapkan ke true.

  4. Sebelum Android Ice Cream Sandwich 4.0, tata letak utama default berisi pemetaan untuk beberapa kode kunci tambahan yang tidak ditentukan di header kernel Linux mainline. Pemetaan ini telah dilakukan sejak dihapus karena kode tombol yang sebelumnya tidak ditentukan ini memiliki telah diberi arti yang berbeda dalam versi yang lebih baru dari {i>kernel<i} Linux.

Sumber

  1. Tabel Penggunaan HID USB v1.12
  2. Kernel Linux 2.6.39: include/linux/input.h, driver/hid/hid-input.c
  3. Android ICS: qwerty.kl, Generic.kl, KeyEvent.java