Thiết bị bàn phím

Android hỗ trợ nhiều loại thiết bị bàn phím, bao gồm cả bàn phím chức năng đặc biệt (điều khiển âm lượng và nguồn), bàn phím QWERTY tích hợp nhỏ gọn và bàn phím ngoài kiểu máy tính đầy đủ tính năng.

Tài liệu này chỉ mô tả bàn phím thực. Tham khảo SDK Android để biết thông tin về bàn phím mềm (Trình chỉnh sửa phương thức nhập).

Phân loại bàn phím

Một thiết bị đầu vào được phân loại là bàn phím nếu đáp ứng một trong các điều kiện sau:

  • Thiết bị đầu vào báo cáo sự hiện diện của bất kỳ mã phím Linux nào được sử dụng trên bàn phím, bao gồm cả 0 thông qua 0xff hoặc KEY_OK thông qua KEY_MAX.

  • Thiết bị đầu vào báo cáo sự hiện diện của bất kỳ mã phím Linux nào được sử dụng trên cần điều khiển và tay điều khiển trò chơi, bao gồm BTN_0 đến BTN_9, BTN_TRIGGER đến BTN_DEAD hoặc BTN_A đến BTN_THUMBR.

Cần điều khiển hiện được phân loại là bàn phím vì các nút cần điều khiển và tay điều khiển trò chơi được báo cáo bằng các sự kiện EV_KEY giống như cách báo cáo các phím trên bàn phím. Do đó, tay điều khiển và tay điều khiển trò chơi cũng sử dụng các tệp ánh xạ phím để định cấu hình.

Sau khi một thiết bị đầu vào được phân loại là bàn phím, hệ thống sẽ tải tệp cấu hình thiết bị đầu vào và bố cục bàn phím cho bàn phím đó.

Sau đó, hệ thống sẽ cố gắng xác định các đặc điểm khác của thiết bị.

  • Nếu thiết bị đầu vào có bất kỳ phím nào được liên kết với KEYCODE_Q, thì thiết bị đó được coi là có bàn phím chữ cái (thay vì bàn phím số). Khả năng bàn phím chữ cái được báo cáo trong đối tượng tài nguyên Configuration dưới dạng KEYBOARD_QWERTY.

  • Nếu thiết bị đầu vào có bất kỳ phím nào được liên kết với KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHTKEYCODE_DPAD_CENTER (tất cả đều phải có), thì thiết bị đó được coi là có bàn phím định hướng. Khả năng bàn phím định hướng được báo cáo trong đối tượng tài nguyên ConfigurationNAVIGATION_DPAD.

  • Nếu thiết bị đầu vào có bất kỳ phím nào được liên kết với KEYCODE_BUTTON_A hoặc các phím khác liên quan đến tay điều khiển trò chơi, thì thiết bị đó được coi là có tay điều khiển trò chơi.

Yêu cầu về trình điều khiển bàn phím

  1. Trình điều khiển bàn phím chỉ được đăng ký mã phím cho các phím mà chúng thực sự hỗ trợ. Việc đăng ký mã phím thừa có thể gây nhầm lẫn cho thuật toán phân loại thiết bị hoặc khiến hệ thống phát hiện không chính xác các chức năng bàn phím được hỗ trợ của thiết bị.

  2. Trình điều khiển bàn phím phải sử dụng EV_KEY để báo cáo các thao tác nhấn phím, sử dụng giá trị 0 để cho biết một phím đã được nhả, giá trị 1 để cho biết một phím đã được nhấn và giá trị lớn hơn hoặc bằng 2 để cho biết phím đang được lặp lại tự động.

  3. Android thực hiện tính năng lặp lại trên bàn phím của riêng mình. Bạn nên tắt chức năng tự động lặp lại trong trình điều khiển.

  4. Trình điều khiển bàn phím có thể tuỳ ý cho biết mức sử dụng HID hoặc mã quét cấp thấp bằng cách gửi EV_MSC với MSC_SCANCODE và một giá trị cho biết mức sử dụng hoặc mã quét khi nhấn phím. Android hiện không sử dụng thông tin này.

  5. Trình điều khiển bàn phím phải hỗ trợ việc đặt trạng thái đèn LED khi EV_LED được ghi vào thiết bị. Trình điều khiển hid-input sẽ tự động xử lý việc này. Tại thời điểm viết bài này, Android sử dụng LED_CAPSLOCK, LED_SCROLLLOCKLED_NUMLOCK. Bạn chỉ cần hỗ trợ các đèn LED này khi bàn phím thực sự có đèn chỉ báo được liên kết.

  6. Trình điều khiển bàn phím cho bàn phím tích hợp (ví dụ: sử dụng ma trận GPIO) phải đảm bảo gửi các sự kiện EV_KEY có giá trị là 0 cho mọi phím vẫn được nhấn khi thiết bị chuyển sang trạng thái ngủ. Nếu không, các phím có thể bị kẹt và sẽ tự động lặp lại mãi mãi.

Thao tác trên bàn phím

Sau đây là thông tin tóm tắt ngắn gọn về thao tác trên bàn phím trên Android.

  1. EventHub đọc các sự kiện thô từ trình điều khiển evdev và liên kết mã phím Linux (đôi khi được gọi là mã quét) vào mã phím Android bằng cách sử dụng bản đồ bố cục phím của bàn phím.

  2. InputReader sử dụng các sự kiện thô và cập nhật trạng thái phím meta. Ví dụ: nếu bạn nhấn hoặc nhả phím shift trái, thì trình đọc sẽ đặt hoặc đặt lại các bit META_SHIFT_LEFT_ONMETA_SHIFT_ON cho phù hợp.

  3. InputReader thông báo cho InputDispatcher về sự kiện chính.

  4. InputDispatcher hỏi WindowManagerPolicy cần làm gì với sự kiện phím bằng cách gọi WindowManagerPolicy.interceptKeyBeforeQueueing. Phương thức này là một phần của đường dẫn quan trọng chịu trách nhiệm đánh thức thiết bị khi nhấn một số phím nhất định. EventHub giữ khoá chế độ thức một cách hiệu quả dọc theo đường dẫn quan trọng này để đảm bảo rằng khoá sẽ chạy đến khi hoàn tất.

  5. Nếu InputFilter đang được sử dụng, InputDispatcher sẽ cho phép sử dụng hoặc biến đổi khoá. Bạn có thể dùng InputFilter để triển khai các chính sách hỗ trợ tiếp cận cấp thấp trên toàn hệ thống.

  6. InputDispatcher đưa khoá vào hàng đợi để xử lý trên luồng điều phối.

  7. Khi InputDispatcher xoá phím khỏi hàng đợi, WindowManagerPolicy sẽ có cơ hội thứ hai để chặn sự kiện phím bằng cách gọi WindowManagerPolicy.interceptKeyBeforeDispatching. Phương thức này xử lý các lối tắt hệ thống và các chức năng khác.

  8. Sau đó, InputDispatcher xác định mục tiêu sự kiện chính (cửa sổ được lấy tiêu điểm) và chờ các mục tiêu đó sẵn sàng. Sau đó, InputDispatcher sẽ phân phối sự kiện phím đến ứng dụng.

  9. Bên trong ứng dụng, sự kiện phím sẽ truyền xuống hệ phân cấp khung hiển thị đến khung hiển thị được lấy tiêu điểm để gửi phím trước IME.

  10. Nếu sự kiện nhấn phím không được xử lý trong quá trình gửi trước IME và IME đang được sử dụng, thì sự kiện nhấn phím sẽ được gửi đến IME.

  11. Nếu IME không sử dụng sự kiện phím, thì sự kiện phím sẽ truyền xuống hệ phân cấp khung hiển thị đến khung hiển thị được lấy tiêu điểm để gửi phím tiêu chuẩn.

  12. Ứng dụng sẽ báo cáo lại cho InputDispatcher về việc liệu sự kiện chính có được sử dụng hay không. Nếu sự kiện không được sử dụng, InputDispatcher sẽ gọi WindowManagerPolicy.dispatchUnhandledKey để áp dụng hành vi "phòng ngừa". Tuỳ thuộc vào thao tác dự phòng, chu kỳ điều phối sự kiện chính có thể được khởi động lại bằng một mã phím khác. Ví dụ: nếu một ứng dụng không xử lý KEYCODE_ESCAPE, thì hệ thống có thể điều phối lại sự kiện phím dưới dạng KEYCODE_BACK.

Cấu hình bàn phím

Hành vi của bàn phím được xác định bởi bố cục phím, bản đồ ký tự phím và cấu hình thiết bị đầu vào.

Hãy tham khảo các phần sau để biết thêm thông tin chi tiết về các tệp tham gia vào cấu hình bàn phím:

Thuộc tính

Các thuộc tính cấu hình thiết bị đầu vào sau đây được dùng cho bàn phím.

keyboard.layout

Định nghĩa: keyboard.layout = <tên>

Chỉ định tên của tệp bố cục phím liên kết với thiết bị đầu vào, ngoại trừ đuôi .kl. Nếu không tìm thấy tệp này, hệ thống đầu vào sẽ sử dụng bố cục phím mặc định.

Dấu cách trong tên sẽ được chuyển đổi thành dấu gạch dưới trong quá trình tra cứu.

Hãy tham khảo tài liệu về tệp bố cục khoá để biết thêm thông tin chi tiết.

keyboard.characterMap

Định nghĩa: keyboard.characterMap = <tên>

Chỉ định tên của tệp bản đồ ký tự phím liên kết với thiết bị đầu vào, ngoại trừ đuôi .kcm. Nếu không tìm thấy tệp này, hệ thống nhập sẽ sử dụng bản đồ ký tự phím mặc định.

Dấu cách trong tên sẽ được chuyển đổi thành dấu gạch dưới trong quá trình tra cứu.

Hãy tham khảo tài liệu về tệp bản đồ ký tự chính để biết thêm thông tin chi tiết.

keyboard.orientationAware

Định nghĩa: keyboard.orientationAware = 0 | 1

Chỉ định xem bàn phím có phản ứng với các thay đổi về hướng hiển thị hay không.

  • Nếu giá trị là 1, các phím trên bàn phím định hướng sẽ xoay khi hướng màn hình liên kết thay đổi.

  • Nếu giá trị là 0, bàn phím sẽ không bị ảnh hưởng khi hướng hiển thị thay đổi.

Giá trị mặc định là 0.

Tính năng nhận biết hướng được dùng để hỗ trợ xoay các phím trên bàn phím định hướng, chẳng hạn như trên Motorola Droid. Ví dụ: khi thiết bị được xoay theo chiều kim đồng hồ 90 độ so với hướng tự nhiên, KEYCODE_DPAD_UP sẽ được ánh xạ lại để tạo ra KEYCODE_DPAD_RIGHT vì phím "lên" sẽ chỉ về "phải" khi thiết bị được giữ theo hướng đó.

keyboard.builtIn

Định nghĩa: keyboard.builtIn = 0 | 1

Chỉ định xem bàn phím có phải là bàn phím tích hợp (được gắn vào thiết bị) hay không.

Giá trị mặc định là 1 nếu tên thiết bị kết thúc bằng -keypad, nếu không thì là 0.

Bàn phím tích hợp luôn được gán mã thiết bị là 0. Các bàn phím khác không tích hợp sẽ được chỉ định mã thiết bị duy nhất khác 0.

Việc sử dụng mã nhận dạng 0 cho bàn phím tích hợp là rất quan trọng để duy trì khả năng tương thích với trường KeyCharacterMap.BUILT_IN_KEYBOARD. Trường này chỉ định mã nhận dạng của bàn phím tích hợp và có giá trị là 0. Trường này không còn được dùng trong API nhưng các ứng dụng cũ có thể vẫn đang sử dụng trường này.

Bàn phím có chức năng đặc biệt (bàn phím có bản đồ ký tự phím chỉ định loại SPECIAL_FUNCTION) sẽ không bao giờ được đăng ký làm bàn phím tích hợp, bất kể chế độ cài đặt của thuộc tính này. Lý do là theo định nghĩa, bàn phím chức năng đặc biệt không được dùng để nhập văn bản cho mục đích chung.

Cấu hình mẫu

# 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

Ghi chú về khả năng tương thích

Trước Honeycomb, trình ánh xạ đầu vào bàn phím không sử dụng bất kỳ thuộc tính cấu hình nào. Tất cả bàn phím đều được giả định là được gắn vào thiết bị và nhận biết được hướng. Bố cục phím và bản đồ ký tự phím mặc định được đặt tên là qwerty thay vì Generic. Định dạng bản đồ ký tự phím cũng rất khác và khung này không hỗ trợ bàn phím đầy đủ kiểu máy tính hoặc bàn phím bên ngoài.

Khi nâng cấp thiết bị lên Honeycomb, hãy nhớ tạo hoặc cập nhật cấu hình và tệp ánh xạ khoá cần thiết.

Cách sử dụng HID, mã phím Linux và mã phím Android

Hệ thống tham chiếu đến các khoá bằng một số giá trị nhận dạng khác nhau, tuỳ thuộc vào lớp trừu tượng.

Đối với thiết bị HID, mỗi khoá đều có một cách sử dụng HID được liên kết. Trình điều khiển hid-input của Linux và các trình điều khiển HID liên quan của nhà cung cấp và thiết bị chịu trách nhiệm phân tích cú pháp báo cáo HID và liên kết cách sử dụng HID với mã phím Linux.

Khi đọc các sự kiện EV_KEY từ hạt nhân Linux, Android sẽ dịch từng mã phím Linux thành mã phím Android tương ứng theo tệp bố cục phím của thiết bị.

Khi sự kiện nhấn phím được gửi đến một ứng dụng, thực thể android.view.KeyEvent sẽ báo cáo mã phím Linux dưới dạng giá trị của getScanCode() và mã phím Android dưới dạng giá trị của getKeyCode(). Đối với mục đích của khung, chỉ giá trị của getKeyCode() mới quan trọng.

Xin lưu ý rằng Android không sử dụng thông tin sử dụng HID hoặc chuyển thông tin này đến các ứng dụng.

Bảng mã

Các bảng sau đây cho thấy mối liên hệ giữa cách sử dụng HID, mã phím Linux và mã phím Android.

Cột LKC chỉ định mã phím Linux theo hệ thập lục phân.

Cột AKC chỉ định mã khoá Android theo hệ thập lục phân.

Cột Ghi chú đề cập đến các ghi chú được đăng sau bảng.

Cột Phiên bản chỉ định phiên bản đầu tiên của nền tảng Android đã đưa khoá này vào bản đồ khoá mặc định. Nhiều hàng sẽ xuất hiện trong trường hợp sơ đồ bàn phím mặc định đã thay đổi giữa các phiên bản. Phiên bản cũ nhất được chỉ định là 1.6.

  • Trong Gingerbread (2.3) và các bản phát hành trước đó, bản đồ phím mặc định là qwerty.kl. Bản đồ phím này chỉ dùng cho Trình mô phỏng Android và không dùng để hỗ trợ bàn phím bên ngoài tuỳ ý. Tuy nhiên, một số OEM đã thêm tính năng hỗ trợ bàn phím Bluetooth vào nền tảng và dựa vào qwerty.kl để cung cấp các ánh xạ bàn phím cần thiết. Do đó, các ánh xạ cũ này có thể được các nhà sản xuất thiết bị gốc (OEM) quan tâm khi họ xây dựng các thiết bị ngoại vi cho những thiết bị cụ thể này. Xin lưu ý rằng các mối liên kết này khác đáng kể so với các mối liên kết hiện tại, đặc biệt là liên quan đến việc xử lý khoá HOME. Bạn nên phát triển tất cả thiết bị ngoại vi mới theo Honeycomb hoặc các bản đồ phím gần đây hơn (tức là HID tiêu chuẩn).

  • Kể từ Honeycomb (3.0), bản đồ phím mặc định là Generic.kl. Bản đồ phím này được thiết kế để hỗ trợ bàn phím kiểu máy tính đầy đủ. Hầu hết chức năng của bàn phím HID tiêu chuẩn đều hoạt động ngay từ đầu.

Việc ánh xạ mã phím có thể khác nhau giữa các phiên bản hạt nhân Linux và Android. Khi có thay đổi xảy ra trong bản đồ phím mặc định của Android, các thay đổi đó sẽ được chỉ báo trong cột phiên bản.

Trình điều khiển HID dành riêng cho thiết bị và bản đồ phím có thể áp dụng các ánh xạ khác với những ánh xạ được chỉ định tại đây.

Trang bàn phím và bàn phím HID (0x07)

Mức sử dụng HID Tên sử dụng HID LKC Tên mã khoá Linux Phiên bản AKC Tên mã khoá Android Ghi chú
0x07 0x0001 Chuyển lỗi bàn phím
0x07 0x0002 Không POST được bàn phím
0x07 0x0003 Lỗi bàn phím không xác định
0x07 0x0004 Bàn phím a và A 0x001e KEY_A 1.6 0x001d KEYCODE_A 1
0x07 0x0005 Bàn phím b và B 0x0030 KEY_B 1.6 0x001e KEYCODE_B 1
0x07 0x0006 Bàn phím c và C 0x002e KEY_C 1.6 0x001f KEYCODE_C 1
0x07 0x0007 Phím d và D 0x0020 KEY_D 1.6 0x0020 KEYCODE_D 1
0x07 0x0008 Bàn phím e và E 0x0012 KEY_E 1.6 0x0021 KEYCODE_E 1
0x07 0x0009 Phím f và F 0x0021 KEY_F 1.6 0x0022 KEYCODE_F 1
0x07 0x000a Phím g và G 0x0022 KEY_G 1.6 0x0023 KEYCODE_G 1
0x07 0x000b Bàn phím h và H 0x0023 KEY_H 1.6 0x0024 KEYCODE_H 1
0x07 0x000c Chữ i và I trên bàn phím 0x0017 KEY_I 1.6 0x0025 KEYCODE_I 1
0x07 0x000d Bàn phím j và J 0x0024 KEY_J 1.6 0x0026 KEYCODE_J 1
0x07 0x000e Phím k và K 0x0025 KEY_K 1.6 0x0027 KEYCODE_K 1
0x07 0x000f Bàn phím l và L 0x0026 KEY_L 1.6 0x0028 KEYCODE_L 1
0x07 0x0010 Bàn phím m và M 0x0032 KEY_M 1.6 0x0029 KEYCODE_M 1
0x07 0x0011 Bàn phím n và N 0x0031 KEY_N 1.6 0x002a KEYCODE_N 1
0x07 0x0012 Bàn phím o và O 0x0018 KEY_O 1.6 0x002b KEYCODE_O 1
0x07 0x0013 Phím p và P 0x0019 KEY_P 1.6 0x002c KEYCODE_P 1
0x07 0x0014 Phím q và Q 0x0010 KEY_Q 1.6 0x002d KEYCODE_Q 1
0x07 0x0015 Phím r và R 0x0013 KEY_R 1.6 0x002e KEYCODE_R 1
0x07 0x0016 Phím s và S 0x001f KEY_S 1.6 0x002f KEYCODE_S 1
0x07 0x0017 Phím t và T 0x0014 KEY_T 1.6 0x0030 KEYCODE_T 1
0x07 0x0018 Bàn phím u và U 0x0016 KEY_U 1.6 0x0031 KEYCODE_U 1
0x07 0x0019 Bàn phím v và V 0x002f KEY_V 1.6 0x0032 KEYCODE_V 1
0x07 0x001a Bàn phím w và W 0x0011 KEY_W 1.6 0x0033 KEYCODE_W 1
0x07 0x001b X và X trên bàn phím 0x002d KEY_X 1.6 0x0034 KEYCODE_X 1
0x07 0x001c Phím y và Y 0x0015 KEY_Y 1.6 0x0035 KEYCODE_Y 1
0x07 0x001d Phím z và Z 0x002c KEY_Z 1.6 0x0036 KEYCODE_Z 1
0x07 0x001e Bàn phím 1 và ! 0x0002 KEY_1 1.6 0x0008 KEYCODE_1 1
0x07 0x001f Bàn phím 2 và @ 0x0003 KEY_2 1.6 0x0009 KEYCODE_2 1
0x07 0x0020 Bàn phím 3 và # 0x0004 KEY_3 1.6 0x000a KEYCODE_3 1
0x07 0x0021 Bàn phím 4 và $ 0x0005 KEY_4 1.6 0x000b KEYCODE_4 1
0x07 0x0022 Bàn phím 5 và % 0x0006 KEY_5 1.6 0x000c KEYCODE_5 1
0x07 0x0023 Bàn phím 6 và ^ 0x0007 KEY_6 1.6 0x000d KEYCODE_6 1
0x07 0x0024 Bàn phím 7 và & 0x0008 KEY_7 1.6 0x000e KEYCODE_7 1
0x07 0x0025 Bàn phím 8 và * 0x0009 KEY_8 1.6 0x000f KEYCODE_8 1
0x07 0x0026 Bàn phím 9 và ( 0x000a KEY_9 1.6 0x0010 KEYCODE_9 1
0x07 0x0027 Bàn phím 0 và ) 0x000b KEY_0 1.6 0x0007 KEYCODE_0 1
0x07 0x0028 Phím Enter (ENTER) 0x001c KEY_ENTER 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 Phím ESCAPE 0x0001 KEY_ESC 3 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0x0004 KEYCODE_BACK
0x07 0x002a Phím DELETE (Backspace) 0x000e KEY_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b Thẻ Bàn phím 0x000f KEY_TAB 1.6 0x003d KEYCODE_TAB
0x07 0x002c Phím cách trên bàn phím 0x0039 KEY_SPACE 1.6 0x003e KEYCODE_SPACE
0x07 0x002d Bàn phím – và _ 0x000c KEY_MINUS 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e Bàn phím = và + 0x000d KEY_EQUAL 1.6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f Bàn phím [ và { 0x001a KEY_LEFTBRACE 1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 Bàn phím ] và } 0x001b KEY_RIGHTBRACE 1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 Bàn phím \ và | 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 Bàn phím không phải Hoa Kỳ # và ~ 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 Bàn phím ; và : 0x0027 KEY_SEMICOLON 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 Dấu " và " trên bàn phím 0x0028 KEY_APOSTROPHE 1.6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 Bàn phím ` và ~ 0x0029 KEY_GRAVE 3 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 Bàn phím , và < 0x0033 KEY_COMMA 1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 Bàn phím . và > 0x0034 KEY_DOT 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 Bàn phím / và ? 0x0035 KEY_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Phím Caps Lock trên bàn phím 0x003a KEY_CAPSLOCK 3 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a Phím F1 0x003b KEY_F1 3 0x0083 KEYCODE_F1
"" "" "" "" 1.6 0x0052 KEYCODE_MENU
0x07 0x003b Phím F2 0x003c KEY_F2 3 0x0084 KEYCODE_F2
"" "" "" "" 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c Phím F3 0x003d KEY_F3 3 0x0085 KEYCODE_F3
"" "" "" "" 1.6 0x0005 KEYCODE_CALL
0x07 0x003d Phím F4 0x003e KEY_F4 3 0x0086 KEYCODE_F4
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x003e Phím F5 0x003f KEY_F5 3 0x0087 KEYCODE_F5
0x07 0x003f Phím F6 0x0040 KEY_F6 3 0x0088 KEYCODE_F6
0x07 0x0040 Phím F7 0x0041 KEY_F7 3 0x0089 KEYCODE_F7
0x07 0x0041 Phím F8 0x0042 KEY_F8 3 0x008a KEYCODE_F8
0x07 0x0042 Phím F9 0x0043 KEY_F9 3 0x008b KEYCODE_F9
0x07 0x0043 Phím F10 0x0044 KEY_F10 3 0x008c KEYCODE_F10
"" "" "" "" 2.3 0x0052 KEYCODE_MENU
0x07 0x0044 Phím F11 0x0057 KEY_F11 3 0x008d KEYCODE_F11
0x07 0x0045 Phím F12 0x0058 KEY_F12 3 0x008e KEYCODE_F12
0x07 0x0046 Phím Print Screen 0x0063 KEY_SYSRQ 3 0x0078 KEYCODE_SYSRQ
0x07 0x0047 Khoá cuộn bàn phím 0x0046 KEY_SCROLLLOCK 3 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 Tạm dừng bằng bàn phím 0x0077 KEY_PAUSE 3 0x0079 KEYCODE_BREAK
0x07 0x0049 Chèn bằng bàn phím 0x006e KEY_INSERT 3 0x007c KEYCODE_INSERT
0x07 0x004a Bàn phím Home 0x0066 KEY_HOME 3 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1.6 0x0003 KEYCODE_HOME
0x07 0x004b Phím Page Up 0x0068 KEY_PAGEUP 3 0x005c KEYCODE_PAGE_UP
0x07 0x004c Xoá tiến trên bàn phím 0x006f KEY_DELETE 3 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d Kết thúc bàn phím 0x006b KEY_END 3 0x007b KEYCODE_MOVE_END
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x004e Phím Page Down 0x006d KEY_PAGEDOWN 3 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f Mũi tên phải trên bàn phím 0x006a KEY_RIGHT 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 Mũi tên trái trên bàn phím 0x0069 KEY_LEFT 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 Mũi tên xuống trên bàn phím 0x006c KEY_DOWN 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 Mũi tên Lên trên bàn phím 0x0067 KEY_UP 1.6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 Num Lock và Clear trên bàn phím 0x0045 KEY_NUMLOCK 3 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 Bàn phím / 0x0062 KEY_KPSLASH 3 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 Bàn phím * 0x0037 KEY_KPASTERISK 3 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 Bàn phím – 0x004a KEY_KPMINUS 3 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 Bàn phím + 0x004e KEY_KPPLUS 3 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058 Phím ENTER 0x0060 KEY_KPENTER 3 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 Bàn phím 1 và Kết thúc 0x004f KEY_KP1 3 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a Phím 2 và mũi tên xuống 0x0050 KEY_KP2 3 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b Bàn phím 3 và PageDn 0x0051 KEY_KP3 3 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c Phím 4 và mũi tên trái 0x004b KEY_KP4 3 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d Bàn phím 5 0x004c KEY_KP5 3 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e Phím 6 và Mũi tên phải 0x004d KEY_KP6 3 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f Bàn phím 7 và Home 0x0047 KEY_KP7 3 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060 Phím 8 và mũi tên lên 0x0048 KEY_KP8 3 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061 Phím 9 và Mũi tên lên 0x0049 KEY_KP9 3 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 Bàn phím 0 và Chèn 0x0052 KEY_KP0 3 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 Bàn phím . và Xoá 0x0053 KEY_KPDOT 3 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 Bàn phím không phải của Hoa Kỳ \ và | 0x0056 KEY_102ND 4 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 Ứng dụng bàn phím 0x007f KEY_COMPOSE 3 0x0052 KEYCODE_MENU
"" "" "" "" 1.6 0x0054 KEYCODE_SEARCH
0x07 0x0066 Nguồn bàn phím 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x07 0x0067 Bàn phím = 0x0075 KEY_KPEQUAL 3 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 Bàn phím F13 0x00b7 KEY_F13
0x07 0x0069 Bàn phím F14 0x00b8 KEY_F14
0x07 0x006a Phím F15 0x00b9 KEY_F15
0x07 0x006b Phím F16 0x00ba KEY_F16
0x07 0x006c Phím F17 0x00bb KEY_F17
0x07 0x006d Bàn phím F18 0x00bc KEY_F18
0x07 0x006e Phím F19 0x00bd KEY_F19
0x07 0x006f Bàn phím F20 0x00be KEY_F20
0x07 0x0070 Phím F21 0x00bf KEY_F21
0x07 0x0071 Bàn phím F22 0x00c0 KEY_F22
0x07 0x0072 Phím F23 0x00c1 KEY_F23
0x07 0x0073 Phím F24 0x00c2 KEY_F24
0x07 0x0074 Thực thi bàn phím 0x0086 KEY_OPEN
0x07 0x0075 Trợ giúp về bàn phím 0x008a KEY_HELP
0x07 0x0076 Trình đơn bàn phím 0x0082 KEY_PROPS
0x07 0x0077 Chọn bằng bàn phím 0x0084 KEY_FRONT
0x07 0x0078 Điểm dừng bàn phím 0x0080 KEY_STOP 3 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 Bàn phím lại 0x0081 KEY_AGAIN
0x07 0x007a Thao tác huỷ trên bàn phím 0x0083 KEY_UNDO
0x07 0x007b Phím cắt 0x0089 KEY_CUT
0x07 0x007c Sao chép bằng bàn phím 0x0085 KEY_COPY
0x07 0x007d Dán bằng bàn phím 0x0087 KEY_PASTE
0x07 0x007e Tìm kiếm bằng bàn phím 0x0088 KEY_FIND
0x07 0x007f Tắt tiếng bàn phím 0x0071 KEY_MUTE 3 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 Tăng âm lượng trên bàn phím 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 Giảm âm lượng trên bàn phím 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 Khoá bàn phím Caps Lock
0x07 0x0083 Khoá bàn phím Num Lock
0x07 0x0084 Khoá bàn phím Scroll Lock
0x07 0x0085 Dấu phẩy trên bàn phím 0x0079 KEY_KPCOMMA 3 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 Dấu bằng trên bàn phím
0x07 0x0087 Bàn phím quốc tế1 0x0059 KEY_RO
0x07 0x0088 Bàn phím quốc tế2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Bàn phím quốc tế 3 0x007c KEY_YEN
0x07 0x008a Bàn phím quốc tế4 0x005c KEY_HENKAN
0x07 0x008b Bàn phím quốc tế5 0x005e KEY_MUHENKAN
0x07 0x008c Bàn phím quốc tế 6 0x005f KEY_KPJPCOMMA
0x07 0x008d Bàn phím quốc tế 7
0x07 0x008e Bàn phím quốc tế 8
0x07 0x008f Bàn phím International9
0x07 0x0090 Bàn phím LANG1 0x007a KEY_HANGEUL
0x07 0x0091 Bàn phím LANG2 0x007b KEY_HANJA
0x07 0x0092 Bàn phím LANG3 0x005a KEY_KATAKANA
0x07 0x0093 Bàn phím LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 Bàn phím LANG5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 Bàn phím LANG6
0x07 0x0096 Bàn phím LANG7
0x07 0x0097 Bàn phím LANG8
0x07 0x0098 Bàn phím LANG9
0x07 0x0099 Xoá thay thế bằng bàn phím
0x07 0x009a SysReq/Attention của bàn phím
0x07 0x009b Bàn phím Huỷ
0x07 0x009c Xoá bàn phím
0x07 0x009d Bàn phím trước
0x07 0x009e Phím quay lại
0x07 0x009f Dấu phân cách bàn phím
0x07 0x00a0 Keyboard Out
0x07 0x00a1 Thao tác trên bàn phím
0x07 0x00a2 Bàn phím Xoá/Lại
0x07 0x00a3 Bàn phím CrSel/Props
0x07 0x00a4 ExSel trên bàn phím
0x07 0x00b0 Bàn phím 00
0x07 0x00b1 Bàn phím 000
0x07 0x00b2 Dấu phân cách hàng nghìn
0x07 0x00b3 Dấu thập phân
0x07 0x00b4 Đơn vị tiền tệ
0x07 0x00b5 Đơn vị phụ của đơn vị tiền tệ
0x07 0x00b6 Bàn phím ( 0x00b3 KEY_KPLEFTPAREN 3 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 Bàn phím ) 0x00b4 KEY_KPRIGHTPAREN 3 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 Bàn phím {
0x07 0x00b9 Bàn phím }
0x07 0x00ba Thẻ bàn phím
0x07 0x00bb Phím Backspace trên bàn phím
0x07 0x00bc Bàn phím A
0x07 0x00bd Bàn phím B
0x07 0x00be Bàn phím C
0x07 0x00bf Bàn phím D
0x07 0x00c0 Bàn phím E
0x07 0x00c1 Phím F
0x07 0x00c2 Bàn phím XOR
0x07 0x00c3 Bàn phím ^
0x07 0x00c4 % bàn phím
0x07 0x00c5 Bàn phím <
0x07 0x00c6 Bàn phím >
0x07 0x00c7 Bàn phím và
0x07 0x00c8 Bàn phím &&
0x07 0x00c9 Bàn phím |
0x07 0x00ca Bàn phím ||
0x07 0x00cb Bàn phím :
0x07 0x00cc Bàn phím #
0x07 0x00cd Phím cách
0x07 0x00ce @ trên bàn phím
0x07 0x00cf Bàn phím !
0x07 0x00d0 Kho bộ nhớ bàn phím
0x07 0x00d1 Khả năng ghi nhớ bàn phím
0x07 0x00d2 Xoá bộ nhớ bàn phím
0x07 0x00d3 Thêm bộ nhớ bàn phím
0x07 0x00d4 Trừ bộ nhớ bàn phím
0x07 0x00d5 Nhân bộ nhớ bàn phím
0x07 0x00d6 Chia bộ nhớ bàn phím
0x07 0x00d7 Bàn phím +/-
0x07 0x00d8 Xoá bàn phím
0x07 0x00d9 Xoá mục nhập trên bàn phím
0x07 0x00da Tệp nhị phân bàn phím
0x07 0x00db Bàn phím Octal
0x07 0x00dc Bàn phím thập phân
0x07 0x00dd Bàn phím thập lục phân
0x07 0x00e0 Phím điều khiển bên trái 0x001d KEY_LEFTCTRL 3 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 Phím Shift bên trái 0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2 Alt bên trái trên bàn phím 0x0038 KEY_LEFTALT 1.6 0x0039 KEYCODE_ALT_LEFT
0x07 0x00e3 Giao diện người dùng bàn phím bên trái 0x007d KEY_LEFTMETA 3 0x0075 KEYCODE_META_LEFT
0x07 0x00e4 Phím điều khiển bên phải 0x0061 KEY_RIGHTCTRL 3 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 Phím Shift bên phải 0x0036 KEY_RIGHTSHIFT 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 Alt bên phải trên bàn phím 0x0064 KEY_RIGHTALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 Giao diện người dùng bên phải của bàn phím 0x007e KEY_RIGHTMETA 3 0x0076 KEYCODE_META_RIGHT
0x07 0x00e8 0x00a4 KEY_PLAYPAUSE 3 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x07 0x00e9 0x00a6 KEY_STOPCD 3 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00ea 0x00a5 KEY_PREVIOUSSONG 3 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_NEXTSONG 3 0x0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 KEY_EJECTCD 3 0x0081 KEYCODE_MEDIA_EJECT
0x07 0x00ed 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x00ee 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x00ef 0x0071 KEY_MUTE 3 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x07 0x00f2 0x009f KEY_FORWARD 3 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 KEY_STOP 3 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 KEY_FIND
0x07 0x00f5 0x00b1 KEY_SCROLLUP 3 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 KEY_SCROLLDOWN 3 0x005d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 KEY_EDIT
0x07 0x00f8 0x008e KEY_SLEEP
0x07 0x00f9 0x0098 KEY_COFFEE 4 0x001a KEYCODE_POWER
0x07 0x00fa 0x00ad KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

Trang máy tính để bàn chung của HID (0x01)

Mức sử dụng HID Tên sử dụng HID LKC Tên mã khoá Linux Phiên bản AKC Tên mã khoá Android Ghi chú
0x01 0x0081 Tắt nguồn hệ thống 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x01 0x0082 Chế độ ngủ của hệ thống 0x008e KEY_SLEEP 4 0x001a KEYCODE_POWER
0x01 0x0083 Đánh thức hệ thống 0x008f KEY_WAKEUP 4 0x001a KEYCODE_POWER
0x01 0x0084 Trình đơn theo bối cảnh của hệ thống
0x01 0x0085 Trình đơn chính của hệ thống
0x01 0x0086 Trình đơn ứng dụng hệ thống
0x01 0x0087 Trợ giúp về trình đơn hệ thống
0x01 0x0088 Thoát trình đơn hệ thống
0x01 0x0089 Chọn trình đơn hệ thống
0x01 0x008a Trình đơn hệ thống bên phải
0x01 0x008b Trình đơn hệ thống bên trái
0x01 0x008c Trình đơn hệ thống lên
0x01 0x008d Trình đơn hệ thống xuống
0x01 0x008e Khởi động lại nguội hệ thống
0x01 0x008f Khởi động lại ấm hệ thống
0x01 0x00a0 Vùng kết nối hệ thống
0x01 0x00a1 Gỡ bỏ hệ thống
0x01 0x00a2 Thiết lập hệ thống
0x01 0x00a3 Ngắt hệ thống
0x01 0x00a4 Điểm ngắt của Trình gỡ lỗi hệ thống
0x01 0x00a5 Điểm chèn quảng cáo trong ứng dụng
0x01 0x00a6 Điểm ngắt của Trình gỡ lỗi ứng dụng
0x01 0x00a7 Tắt tiếng loa hệ thống
0x01 0x00a8 Ngủ đông hệ thống
0x01 0x00b0 Đảo ngược màn hình hệ thống
0x01 0x00b1 Màn hình hệ thống nội bộ
0x01 0x00b2 Màn hình hệ thống bên ngoài
0x01 0x00b3 Màn hình hệ thống hiển thị cả hai
0x01 0x00b4 Màn hình hệ thống kép
0x01 0x00b5 Bật/tắt màn hình hệ thống bên trong/bên ngoài
0x01 0x00b6 Hệ thống hiển thị hoán đổi Prim./Sec.
0x01 0x00b7 Tự động điều chỉnh tỷ lệ màn hình LCD hiển thị hệ thống

Trang người dùng HID (0x0c)

Mức sử dụng HID Tên sử dụng HID LKC Tên mã khoá Linux Phiên bản AKC Tên mã khoá Android Ghi chú
0x0c 0x0030 Sức mạnh
0x0c 0x0031 Đặt lại
0x0c 0x0032 Ngủ
0x0c 0x0033 Ngủ sau
0x0c 0x0034 Chế độ ngủ 0x008e KEY_SLEEP 4 0x001a KEYCODE_POWER
0x0c 0x0040 Trình đơn 0x008b KEY_MENU 1.6 0x0052 KEYCODE_MENU
0x0c 0x0041 Lựa chọn trong trình đơn
0x0c 0x0042 Trình đơn lên
0x0c 0x0043 Trình đơn xuống
0x0c 0x0044 Trình đơn bên trái
0x0c 0x0045 Trình đơn bên phải 0x0181 KEY_RIGHT
0x0c 0x0046 Thoát trình đơn
0x0c 0x0047 Tăng giá trị trong trình đơn
0x0c 0x0048 Giảm giá trị trong trình đơn
0x0c 0x0067 Nút bật/tắt chế độ Hình trong hình 0x00ab KEYCODE_WINDOW Thêm trong aosp/1365553
0x0c 0x0069 Nút trình đơn màu đỏ 0x18e KEY_RED 0x00b7 KEYCODE_PROG_RED Thêm trong aosp/1388616
0x0c 0x006a Nút trình đơn màu xanh lục 0x18f KEY_GREEN 0x00b8 KEYCODE_PROG_GREEN Thêm trong aosp/1388616
0x0c 0x006b Nút trình đơn màu xanh dương 0x191 KEY_BLUE 0x00ba KEYCODE_PROG_BLUE Thêm trong aosp/1388616
0x0c 0x006c Nút trình đơn màu vàng 0x190 KEY_YELLOW 0x00b9 KEYCODE_PROG_YELLOW Thêm trong aosp/1388616
0x0c 0x0081 Chỉ định lựa chọn
0x0c 0x0082 Bước chế độ
0x0c 0x0083 Recall Last 0x0195 KEY_LAST 0xe5 KEYCODE_LAST_CHANNEL Thêm trong aosp/1365551
0x0c 0x0084 Nhập kênh
0x0c 0x0085 Đặt phim
0x0c 0x0088 Media Select Computer 0x0178 KEY_PC
0x0c 0x0089 Media Select TV 0x0179 KEY_TV 3 0x00aa KEYCODE_TV
0x0c 0x008a Media Select WWW 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b Media Select DVD 0x0185 KEY_DVD
0x0c 0x008c Media Select Telephone 0x00a9 KEY_PHONE 3 0x0005 KEYCODE_CALL
0x0c 0x008d Hướng dẫn chương trình Media Select 0x016a KEY_PROGRAM 3 0x00ac KEYCODE_GUIDE
0x0c 0x008e Chọn video trên điện thoại 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f Media Select Games 0x01a1 KEY_GAMES
0x0c 0x0090 Tin nhắn chọn nội dung nghe nhìn 0x018c KEY_MEMO
0x0c 0x0091 Media Select CD 0x017f KEY_CD
0x0c 0x0092 Media Select VCR 0x017b KEY_VCR
0x0c 0x0093 Trình chọn nội dung đa phương tiện 0x0182 KEY_TUNER
0x0c 0x0094 Thoát 0x00ae KEY_EXIT
0x0c 0x0095 Trợ giúp 0x008a KEY_HELP
0x0c 0x0096 Băng Media Select 0x0180 KEY_TAPE
0x0c 0x0097 Cáp Media Select 0x017a KEY_TV2
0x0c 0x0098 Media Select Satellite 0x017d KEY_SAT
0x0c 0x0099 Media Select Security
0x0c 0x009a Media Select Home 0x016e KEY_PVR 3 0x00ad KEYCODE_DVR
0x0c 0x0061 Phụ đề chi tiết 0x0172 KEY_SUBTITLE 0x00af KEYCODE_CAPTIONS Thêm trong aosp/1365552
0x0c 0x009c Tăng kênh 0x0192 KEY_CHANNELUP 3 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d Giảm kênh 0x0193 KEY_CHANNELDOWN 3 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Media Select SAP
0x0c 0x00a0 VCR Plus 0x017c KEY_VCR2
0x0c 0x00a1 Một lần
0x0c 0x00a2 Hằng ngày
0x0c 0x00a3 Hằng tuần
0x0c 0x00a4 Gói theo tháng
0x0c 0x00b0 Phát 0x00cf KEY_PLAY 3 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 Tạm dừng 0x0077 KEY_PAUSE 3 0x0079 KEYCODE_BREAK
0x0c 0x00b2 Ghi âm 0x00a7 KEY_RECORD 3 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 Tua đi 0x00d0 KEY_FASTFORWARD 3 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 Nút tua lại 0x00a8 KEY_REWIND 3 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 Quét bản nhạc tiếp theo 0x00a3 KEY_NEXTSONG 3 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 Quét bản nhạc trước 0x00a5 KEY_PREVIOUSSONG 3 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 Dừng 0x00a6 KEY_STOPCD 3 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 Đẩy ra 0x00a1 KEY_EJECTCD 3 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 Phát ngẫu nhiên
0x0c 0x00ba Chọn Đĩa
0x0c 0x00bb Nhập đĩa
0x0c 0x00bc Lặp lại 0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00be Theo dõi bình thường
0x0c 0x00c0 Chuyển tiếp khung
0x0c 0x00c1 Khung sau
0x0c 0x00c2 Đánh dấu
0x0c 0x00c3 Xoá dấu
0x0c 0x00c4 Lặp lại từ điểm đánh dấu
0x0c 0x00c5 Quay lại điểm đánh dấu
0x0c 0x00c6 Tìm kiếm Đánh dấu chuyển tiếp
0x0c 0x00c7 Dấu tìm kiếm lùi
0x0c 0x00c8 Đặt lại bộ đếm
0x0c 0x00c9 Hiển thị bộ đếm
0x0c 0x00ca Giá trị gia tăng theo dõi
0x0c 0x00cb Giảm theo dõi
0x0c 0x00cc Dừng / Huỷ
0x0c 0x00cd Phát / Tạm dừng 0x00a4 KEY_PLAYPAUSE 3 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce Phát / Bỏ qua
0x0c 0x00e2 Tắt tiếng 0x0071 KEY_MUTE 3 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 Tăng âm trầm 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 Chế độ âm thanh nổi
0x0c 0x00e7 Độ lớn
0x0c 0x00e8 MPX
0x0c 0x00e9 Tăng âm lượng 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea Giảm âm lượng 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x0c 0x0173 Tăng âm thanh thay thế 0x00de KEYCODE_MEDIA_AUDIO_TRACK Thêm trong aosp/1365554
0x0c 0x0181 Cấu hình nút khởi chạy AL. Công cụ
0x0c 0x0182 Cấu hình nút có thể lập trình AL. 0x009c KEY_BOOKMARKS 3 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 Cấu hình kiểm soát người dùng AL. 0x00ab KEY_CONFIG 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 Trình xử lý văn bản AL 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 Trình chỉnh sửa văn bản AL 0x01a6 KEY_EDITOR
0x0c 0x0186 Bảng tính AL 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 Trình chỉnh sửa đồ hoạ AL 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 Ứng dụng trình bày AL 0x01a9 KEY_PRESENTATION
0x0c 0x0189 Ứng dụng cơ sở dữ liệu AL 0x01aa KEY_DATABASE
0x0c 0x018a Trình đọc email AL 0x009b KEY_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b Trình đọc tin AL 0x01ab KEY_NEWS
0x0c 0x018c Thư thoại AL 0x01ac KEY_VOICEMAIL
0x0c 0x018d Danh bạ AL / Sổ địa chỉ 0x01ad KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e Lịch / Lịch biểu của AL 0x018d KEY_CALENDAR 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f Người quản lý dự án / việc cần làm trong AL
0x0c 0x0190 Nhật ký AL / Nhật ký / Thẻ giờ
0x0c 0x0191 Sổ séc / Tài chính ở Alabama 0x00db KEY_FINANCE
0x0c 0x0192 Máy tính AL 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR
0x0c 0x0193 Ghi/phát A / V bằng AL
0x0c 0x0194 Trình duyệt máy cục bộ AL 0x0090 KEY_FILE
0x0c 0x0195 Trình duyệt AL LAN/WAN
0x0c 0x0196 AL Internet Browser 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL Remote Networking/ISP Connect
0x0c 0x0198 Hội nghị mạng AL
0x0c 0x0199 Trò chuyện trên mạng AL 0x00d8 KEY_CHAT
0x0c 0x019a AL Telephony / Dialer
0x0c 0x019b AL Logon
0x0c 0x019c AL Logoff 0x01b1 KEY_LOGOFF
0x0c 0x019d AL Đăng nhập / Đăng xuất
0x0c 0x019e Khoá / Trình bảo vệ màn hình của thiết bị đầu cuối AL 0x0098 KEY_COFFEE 4 0x001a KEYCODE_POWER
0x0c 0x019f Bảng điều khiển AL
0x0c 0x01a0 Bộ xử lý / Chạy dòng lệnh AL
0x0c 0x01a1 Quy trình AL / Trình quản lý tác vụ
0x0c 0x01a2 AL Chọn tác vụ / ứng dụng
0x0c 0x01a3 Tác vụ / ứng dụng tiếp theo của AL
0x0c 0x01a4 Tác vụ / Ứng dụng trước của AL
0x0c 0x01a5 Tạm dừng tác vụ / ứng dụng theo phương thức giành quyền của AL.
0x0c 0x01a6 Trung tâm trợ giúp tích hợp của AL 0x008a KEY_HELP
0x0c 0x01a7 Tài liệu AL 0x00eb KEY_DOCUMENTS
0x0c 0x01a8 Từ điển từ đồng nghĩa AL
0x0c 0x01a9 Từ điển AL
0x0c 0x01aa AL Desktop
0x0c 0x01ab AL Spell Check 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac Kiểm tra ngữ pháp AL
0x0c 0x01ad Trạng thái không dây AL
0x0c 0x01ae Bố cục bàn phím AL
0x0c 0x01af AL Virus Protection
0x0c 0x01b0 Mã hoá AL
0x0c 0x01b1 Trình bảo vệ màn hình AL
0x0c 0x01b2 Chuông báo AL
0x0c 0x01b3 Đồng hồ AL
0x0c 0x01b4 Trình duyệt tệp AL
0x0c 0x01b5 Trạng thái nguồn AL
0x0c 0x01b6 Trình duyệt hình ảnh AL 0x00e2 KEY_MEDIA 3 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 Trình duyệt âm thanh AL 0x00d5 KEY_SOUND 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 Trình duyệt phim AL
0x0c 0x01b9 Người quản lý quyền kỹ thuật số tại AL
0x0c 0x01ba AL Digital Wallet
0x0c 0x01bc Tin nhắn nhanh AL 0x01ae KEY_MESSENGER
0x0c 0x01bd Trình duyệt AL OEM Features/Tips (Tính năng/mẹo của nhà sản xuất thiết bị gốc) 0x0166 KEY_INFO
0x0c 0x01be Trợ giúp về OEM AL
0x0c 0x01bf Cộng đồng trực tuyến về AL
0x0c 0x01c0 Trình duyệt nội dung giải trí AL
0x0c 0x01c1 Trình duyệt mua sắm trực tuyến AL
0x0c 0x01c2 Thông tin / Trợ giúp về thẻ thông minh AL
0x0c 0x01c3 AL Market / Trình duyệt tài chính
0x0c 0x01c4 AL Customized Corp. News Browser
0x0c 0x01c5 Trình duyệt hoạt động trực tuyến AL
0x0c 0x01c6 Trình duyệt tìm kiếm / nghiên cứu về AI
0x0c 0x01c7 Trình phát âm thanh AL
0x0c 0x0201 AC New 0x00b5 KEY_NEW
0x0c 0x0202 AC Mở 0x0086 KEY_OPEN
0x0c 0x0203 AC Close 0x00ce KEY_CLOSE
0x0c 0x0204 Lối ra điều hoà 0x00ae KEY_EXIT
0x0c 0x0205 Tối đa hoá AC
0x0c 0x0206 AC Minimize
0x0c 0x0207 Tiết kiệm điện 0x00ea KEY_SAVE
0x0c 0x0208 In AC 0x00d2 KEY_PRINT
0x0c 0x0209 Thuộc tính AC 0x0082 KEY_PROPS
0x0c 0x021a Huỷ thao tác AC 0x0083 KEY_UNDO
0x0c 0x021b Nội dung quảng cáo trên mạng 0x0085 KEY_COPY
0x0c 0x021c Cắt AC 0x0089 KEY_CUT
0x0c 0x021d Dán AC 0x0087 KEY_PASTE
0x0c 0x021e AC Chọn tất cả
0x0c 0x021f Tìm AC 0x0088 KEY_FIND
0x0c 0x0220 Tìm và thay thế trong AC
0x0c 0x0221 Tìm kiếm AC 0x00d9 KEY_SEARCH 1.6 0x0054 KEYCODE_SEARCH
0x0c 0x0222 AC Go To 0x0162 KEY_GOTO
0x0c 0x0223 AC Home 0x00ac KEY_HOMEPAGE 3 0x0003 KEYCODE_HOME
0x0c 0x0224 AC Back 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x0c 0x0225 AC Forward 0x009f KEY_FORWARD 3 0x007d KEYCODE_FORWARD
0x0c 0x0226 AC Stop 0x0080 KEY_STOP 3 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 Làm mới AC 0x00ad KEY_REFRESH
0x0c 0x0228 Đường liên kết trước của AC
0x0c 0x0229 Đường liên kết tiếp theo của AC
0x0c 0x022a Dấu trang AC 0x009c KEY_BOOKMARKS 3 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b Nhật ký AC
0x0c 0x022c Gói thuê bao AC
0x0c 0x022d Phóng to AC 0x01a2 KEY_ZOOMIN
0x0c 0x022e Thu nhỏ AC 0x01a3 KEY_ZOOMOUT
0x0c 0x022f Thu phóng AC 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 Chế độ xem toàn màn hình của AC
0x0c 0x0231 Chế độ xem thông thường của AC
0x0c 0x0232 Nút bật/tắt chế độ xem AC
0x0c 0x0233 AC Cuộn lên 0x00b1 KEY_SCROLLUP 3 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 AC Cuộn xuống 0x00b2 KEY_SCROLLDOWN 3 0x005d KEYCODE_PAGE_DOWN
0x0c 0x0236 AC Pan Left
0x0c 0x0237 AC Pan Right
0x0c 0x0239 AC New Window (Cửa sổ mới của AC)
0x0c 0x023a AC xếp liền theo chiều ngang
0x0c 0x023b Xếp kề theo chiều dọc
0x0c 0x023c Định dạng AC
0x0c 0x023d Chỉnh sửa AC
0x0c 0x023e AC Bold
0x0c 0x023f AC Italics
0x0c 0x0240 Gạch dưới AC
0x0c 0x0241 Gạch ngang chữ AC
0x0c 0x0242 Chỉ số dưới AC
0x0c 0x0243 Chỉ số trên AC
0x0c 0x0244 AC viết hoa toàn bộ
0x0c 0x0245 Xoay AC
0x0c 0x0246 Đổi kích thước AC
0x0c 0x0247 AC Lật theo chiều ngang
0x0c 0x0248 AC Lật dọc
0x0c 0x0249 AC Mirror ngang
0x0c 0x024a AC Mirror dọc
0x0c 0x024b Chọn phông chữ AC
0x0c 0x024c Màu phông chữ của AC
0x0c 0x024d Kích thước phông chữ của AC
0x0c 0x024e AC Căn trái
0x0c 0x024f AC Căn giữa H
0x0c 0x0250 Căn phải AC
0x0c 0x0251 Khối căn đều AC H
0x0c 0x0252 Căn đều trên cùng
0x0c 0x0253 AC Căn giữa V
0x0c 0x0254 AC Căn đều dưới cùng
0x0c 0x0255 Khối căn đều AC V
0x0c 0x0256 Giảm thụt lề AC
0x0c 0x0257 Tăng thụt lề AC
0x0c 0x0258 Danh sách được đánh số AC
0x0c 0x0259 Đánh số lại từ đầu cho tài khoản AC
0x0c 0x025a Danh sách có dấu đầu dòng AC
0x0c 0x025b Quảng bá AC
0x0c 0x025c Hạ cấp AC
0x0c 0x025d Có điều hoà
0x0c 0x025e Số điện thoại
0x0c 0x025f Huỷ AC 0x00df KEY_CANCEL
0x0c 0x0260 Danh mục AC
0x0c 0x0261 Mua / Thanh toán trên AC
0x0c 0x0262 AC Thêm vào giỏ hàng
0x0c 0x0263 Mở rộng AC
0x0c 0x0264 AC Mở rộng tất cả
0x0c 0x0265 Thu gọn AC
0x0c 0x0266 AC Thu gọn tất cả
0x0c 0x0267 Xem trước bản in AC
0x0c 0x0268 Dán đặc biệt AC
0x0c 0x0269 Chế độ chèn AC
0x0c 0x026a Xoá AC
0x0c 0x026b Khoá AC
0x0c 0x026c Mở khoá bằng nguồn AC
0x0c 0x026d AC Protect
0x0c 0x026e Huỷ bảo vệ AC
0x0c 0x026f AC Đính kèm bình luận
0x0c 0x0270 AC Delete Comment
0x0c 0x0271 AC View Comment
0x0c 0x0272 AC Select Word
0x0c 0x0273 AC Chọn câu
0x0c 0x0274 AC Chọn đoạn văn bản
0x0c 0x0275 Cột AC Select
0x0c 0x0276 AC Chọn hàng
0x0c 0x0277 AC Select Table
0x0c 0x0278 AC Chọn đối tượng
0x0c 0x0279 AC Làm lại / Lặp lại 0x00b6 KEY_REDO
0x0c 0x027a Sắp xếp theo AC
0x0c 0x027b AC Sort Ascending
0x0c 0x027c Sắp xếp theo thứ tự giảm dần
0x0c 0x027d Bộ lọc AC
0x0c 0x027e AC Set Clock
0x0c 0x027f Đồng hồ trong chế độ xem AC
0x0c 0x0280 AC Chọn múi giờ
0x0c 0x0281 AC Edit Time Zones
0x0c 0x0282 AC Set Alarm
0x0c 0x0283 Chuông báo AC Clear
0x0c 0x0284 Tạm hoãn chuông báo AC
0x0c 0x0285 Chuông báo đặt lại nguồn AC
0x0c 0x0286 Đồng bộ hoá AC
0x0c 0x0287 Gửi/nhận AC
0x0c 0x0288 AC Send To
0x0c 0x0289 Thư trả lời của AC 0x00e8 KEY_REPLY
0x0c 0x028a AC Trả lời tất cả
0x0c 0x028b AC Forward Msg 0x00e9 KEY_FORWARDMAIL
0x0c 0x028c Gửi AC 0x00e7 KEY_SEND
0x0c 0x028d Đính kèm tệp AC
0x0c 0x028e Tải lên AC
0x0c 0x028f Tải xuống AC (Lưu mục tiêu dưới dạng)
0x0c 0x0290 AC Đặt đường viền
0x0c 0x0291 AC Chèn hàng
0x0c 0x0292 Chèn cột AC
0x0c 0x0293 Chèn tệp AC
0x0c 0x0294 Chèn hình ảnh trong AC
0x0c 0x0295 Chèn đối tượng AC
0x0c 0x0296 Biểu tượng chèn AC
0x0c 0x0297 AC Lưu và đóng
0x0c 0x0298 Đổi tên AC
0x0c 0x0299 Hợp nhất AC
0x0c 0x029a Phân chia AC
0x0c 0x029b AC Phân phối theo chiều ngang
0x0c 0x029c AC Phân phối theo chiều dọc

Các mối liên kết không phải HID bổ sung

Các ánh xạ này mô tả các hàm không xuất hiện trong HID nhưng có mã phím Linux.

LKC Tên mã khoá Linux Phiên bản AKC Tên mã khoá Android Ghi chú
0x01d0 KEY_FN 3 0x0077 KEYCODE_FUNCTION
0x01d1 KEY_FN_ESC 3 0x006f KEYCODE_ESCAPE 3
0x01d2 KEY_FN_F1 3 0x0083 KEYCODE_F1 3
0x01d3 KEY_FN_F2 3 0x0084 KEYCODE_F2 3
0x01d4 KEY_FN_F3 3 0x0085 KEYCODE_F3 3
0x01d5 KEY_FN_F4 3 0x0086 KEYCODE_F4 3
0x01d6 KEY_FN_F5 3 0x0087 KEYCODE_F5 3
0x01d7 KEY_FN_F6 3 0x0088 KEYCODE_F6 3
0x01d8 KEY_FN_F7 3 0x0089 KEYCODE_F7 3
0x01d9 KEY_FN_F8 3 0x008a KEYCODE_F8 3
0x01da KEY_FN_F9 3 0x008b KEYCODE_F9 3
0x01db KEY_FN_F10 3 0x008c KEYCODE_F10 3
0x01dc KEY_FN_F11 3 0x008d KEYCODE_F11 3
0x01dd KEY_FN_F12 3 0x008e KEYCODE_F12 3
0x01de KEY_FN_1 3 0x0008 KEYCODE_1 3
0x01df KEY_FN_2 3 0x0009 KEYCODE_2 3
0x01e0 KEY_FN_D 3 0x0020 KEYCODE_D 3
0x01e1 KEY_FN_E 3 0x0021 KEYCODE_E 3
0x01e2 KEY_FN_F 3 0x0022 KEYCODE_F 3
0x01e3 KEY_FN_S 3 0x002f KEYCODE_S 3
0x01e4 KEY_FN_B 3 0x001e KEYCODE_B 3

Các khoá cũ không được hỗ trợ

Các mối liên kết này xuất hiện trong các phiên bản Android trước nhưng không nhất quán với HID hoặc sử dụng mã phím Linux không chuẩn. Các tính năng này không còn được hỗ trợ nữa.

LKC Tên mã khoá Linux Phiên bản AKC Tên mã khoá Android Ghi chú
0x00db KEY_EMAIL 1.6 0x004d KEYCODE_AT 4
"" "" 4 4
0x00e3 KEY_STAR 1.6 0x0011 KEYCODE_STAR 4
"" "" 4 4
0x00e4 KEY_SHARP 1.6 0x0012 KEYCODE_POUND 4
"" "" 4 4
0x00e5 KEY_SOFT1 1.6 0x0052 KEYCODE_MENU 4
"" "" 4 4
0x00e6 KEY_SOFT2 1.6 0x0002 KEYCODE_SOFT_RIGHT 4
"" "" 4 4
0x00e7 KEY_SEND 1.6 0x0005 KEYCODE_CALL 4
"" "" 4 4
0x00e8 KEY_CENTER 1.6 0x0017 KEYCODE_DPAD_CENTER 4
"" "" 4 4
0x00e9 KEY_HEADSETHOOK 1.6 0x004f KEYCODE_HEADSETHOOK 4
"" "" 4 4
0x00ea KEY_0_5 1.6 4
0x00eb KEY_2_5 1.6 4

Ghi chú

  1. Mã phím Android liên kết với các phím chữ và số phổ biến cũng như các phím biểu tượng có thể khác nhau tuỳ theo bố cục và ngôn ngữ của bàn phím. Vì lý do lịch sử, mã quét thực và cách sử dụng HID liên kết với các phím trên bàn phím thường được xác định theo vị trí mặc dù nhãn in trên các phím đó có thể khác nhau giữa các ngôn ngữ.

    Trên bàn phím tiếng Anh (Mỹ) (QWERTY), phím chữ cái ở trên cùng bên trái được gắn nhãn Q. Trên bàn phím tiếng Pháp (AZERTY), phím ở cùng vị trí được gắn nhãn A. Mặc dù có nhãn, nhưng trên cả hai bàn phím, phím chữ cái ở trên cùng bên trái được tham chiếu bằng cách sử dụng cách sử dụng HID 0x07 0x0014 được liên kết với mã phím Linux KEY_Q.

    Khi Android được định cấu hình bằng bố cục bàn phím tiếng Anh (Mỹ), thì mã phím Linux KEY_Q sẽ được liên kết với mã phím Android KEYCODE_Q và sẽ tạo ra các ký tự "Q" và "q". Tuy nhiên, khi Android được định cấu hình với bố cục bàn phím tiếng Pháp, thì mã phím Linux KEY_Q sẽ được liên kết với mã phím Android KEYCODE_A và sẽ tạo ra các ký tự "A" và "a".

    Mã khoá Android thường phản ánh cách diễn giải khoá theo từng ngôn ngữ, vì vậy, bạn có thể sử dụng một mã khoá Android khác nhau cho các ngôn ngữ khác nhau.

  2. 0x0c 0x022f AC Zoom được xác định trong HID là một chức năng điều khiển tuyến tính nhưng hạt nhân ánh xạ nó dưới dạng một khoá, điều này có thể không chính xác.

  3. Các phím chức năng Linux KEY_FN_* được liên kết với các mã phím đơn giản hơn nhưng được gửi bằng bit trạng thái meta META_FUNCTION được đặt thành true.

  4. Trước Android Ice Cream Sandwich 4.0, bố cục phím mặc định chứa các mối liên kết cho một số mã phím bổ sung không được xác định trong tiêu đề nhân Linux chính. Các mối liên kết này đã bị xoá vì các mã phím chưa xác định trước đó đã được gán các ý nghĩa khác nhau trong các phiên bản mới hơn của nhân Linux.

Nguồn

  1. Bảng sử dụng USB HID phiên bản 1.12
  2. Hạt nhân Linux 2.6.39: include/linux/input.h, drivers/hid/hid-input.c
  3. Android ICS: qwerty.kl, Generic.kl, KeyEvent.java