อุปกรณ์แป้นพิมพ์

Android รองรับอุปกรณ์แป้นพิมพ์ที่หลากหลาย รวมถึงปุ่มกดฟังก์ชันพิเศษ (การควบคุมระดับเสียงและการเปิด/ปิด) แป้นพิมพ์ QWERTY แบบฝังขนาดกะทัดรัด และแป้นพิมพ์ภายนอกสไตล์ PC ที่มีฟังก์ชันครบครัน

เอกสารนี้อธิบายแป้นพิมพ์จริงเท่านั้น ดูข้อมูลเกี่ยวกับแป้นพิมพ์เสมือน (Input Method Editor) ได้ใน Android SDK

การจัดประเภทแป้นพิมพ์

ระบบจะจัดประเภทอุปกรณ์อินพุตเป็นแป้นพิมพ์หากเป็นไปตามเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้

  • อุปกรณ์อินพุตจะรายงานว่ามีรหัสแป้นพิมพ์ Linux ที่ใช้บนแป้นพิมพ์หรือไม่ ซึ่งรวมถึง 0 ถึง 0xff หรือ KEY_OK ถึง KEY_MAX

  • อุปกรณ์อินพุตจะรายงานว่ามีรหัสคีย์ Linux ใดๆ ที่ใช้กับจอยสติ๊กและเกมแพด ซึ่งรวมถึง BTN_0 ถึง BTN_9, BTN_TRIGGER ถึง BTN_DEAD หรือ BTN_A ถึง BTN_THUMBR

ปัจจุบันระบบจัดประเภทจอยสติ๊กเป็นแป้นพิมพ์ เนื่องจากปุ่มจอยสติ๊กและปุ่มเกมแพดจะได้รับการรายงานโดยเหตุการณ์ EV_KEY ในลักษณะเดียวกับการรายงานแป้นพิมพ์ ดังนั้น จอยสติ๊กและเกมแพดจึงใช้ไฟล์การแมปแป้นพิมพ์ในการกําหนดค่าด้วย

เมื่อจัดประเภทอุปกรณ์อินพุตเป็นแป้นพิมพ์แล้ว ระบบจะโหลดไฟล์การกําหนดค่าอุปกรณ์อินพุตและเลย์เอาต์แป้นพิมพ์สําหรับแป้นพิมพ์

จากนั้นระบบจะพยายามระบุลักษณะเพิ่มเติมของอุปกรณ์

  • หากอุปกรณ์อินพุตมีแป้นที่แมปกับ KEYCODE_Q ระบบจะถือว่าอุปกรณ์มีแป้นพิมพ์ตัวอักษร (ไม่ใช่ตัวเลข) ระบบจะรายงานความสามารถของแป้นพิมพ์ตัวอักษรในออบเจ็กต์ทรัพยากร Configuration เป็น KEYBOARD_QWERTY

  • หากอุปกรณ์อินพุตมีแป้นที่แมปกับ KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT และ KEYCODE_DPAD_CENTER (ต้องมีครบทุกแป้น) ระบบจะถือว่าอุปกรณ์มีแป้นลูกศร ระบบจะรายงานความสามารถของปุ่มกดแบบมีลูกศรในออบเจ็กต์ทรัพยากร Configuration ว่าเป็น NAVIGATION_DPAD

  • หากอุปกรณ์อินพุตมีแป้นที่แมปกับ KEYCODE_BUTTON_A หรือแป้นอื่นๆ ที่เกี่ยวข้องกับเกมแพด ระบบจะถือว่าอุปกรณ์มีเกมแพด

ข้อกำหนดของไดรเวอร์แป้นพิมพ์

  1. ไดรเวอร์แป้นพิมพ์ควรลงทะเบียนเฉพาะรหัสแป้นสำหรับแป้นที่รองรับจริงๆ การลงทะเบียนรหัสคีย์มากเกินไปอาจทำให้อัลกอริทึมการจัดประเภทอุปกรณ์สับสน หรือทำให้ระบบตรวจจับความสามารถของแป้นพิมพ์ที่รองรับของอุปกรณ์อย่างไม่ถูกต้อง

  2. ไดรเวอร์แป้นพิมพ์ควรใช้ EV_KEY เพื่อรายงานการกดแป้นพิมพ์ โดยใช้ค่า 0 เพื่อระบุว่ามีการปล่อยแป้น ค่า 1 เพื่อระบุว่ามีการกดแป้น และค่าที่มากกว่าหรือเท่ากับ 2 เพื่อระบุว่ามีการกดแป้นซ้ำโดยอัตโนมัติ

  3. Android จะใช้การพิมพ์ซ้ำของแป้นพิมพ์เอง ควรปิดใช้ฟังก์ชันการทำงานซ้ำอัตโนมัติในไดรเวอร์

  4. ไดร์เวอร์แป้นพิมพ์อาจระบุการใช้งาน HID หรือสแกนโคอดที่ระดับต่ำโดยส่ง EV_MSC พร้อม MSC_SCANCODE และค่าที่ระบุการใช้งานหรือสแกนโคอดที่ระดับต่ำเมื่อมีการกดแป้น ปัจจุบัน Android ไม่ได้ใช้ข้อมูลนี้

  5. ไดรเวอร์คีย์บอร์ดควรรองรับการตั้งค่าสถานะ LED เมื่อมีการเขียน EV_LED ไปยังอุปกรณ์ ไดร์เวอร์ hid-input จะจัดการเรื่องนี้โดยอัตโนมัติ ขณะเขียนบทความนี้ Android ใช้ LED_CAPSLOCK, LED_SCROLLLOCK และ LED_NUMLOCK จำเป็นต้องรองรับ LED เหล่านี้ก็ต่อเมื่อแป้นพิมพ์มีไฟบอกสถานะที่เชื่อมโยงอยู่จริงๆ

  6. ไดรเวอร์แป้นพิมพ์สำหรับปุ่มกดแบบฝัง (เช่น การใช้เมทริกซ์ GPIO) ควรส่งเหตุการณ์ EV_KEY ที่มีค่าเป็น 0 สำหรับแป้นที่ยังคงกดอยู่เมื่ออุปกรณ์เข้าสู่โหมดสลีป มิฉะนั้น ปุ่มอาจติดค้างอยู่และจะกดซ้ำโดยอัตโนมัติตลอดไป

การดำเนินการกับแป้นพิมพ์

ต่อไปนี้เป็นสรุปสั้นๆ ของการทำงานของแป้นพิมพ์ใน Android

  1. EventHub จะอ่านเหตุการณ์ดิบจากไดรเวอร์ evdev และจับคู่รหัสแป้นพิมพ์ของ Linux (บางครั้งเรียกว่ารหัสการสแกน) กับรหัสแป้นพิมพ์ของ Android โดยใช้แผนที่เลย์เอาต์แป้นพิมพ์

  2. InputReader จะบริโภคเหตุการณ์ดิบและอัปเดตสถานะคีย์เมตา เช่น หากมีการกดหรือปล่อยแป้น Shift ซ้าย เครื่องอ่านจะตั้งค่าหรือรีเซ็ตบิต META_SHIFT_LEFT_ON และ META_SHIFT_ON ตามความเหมาะสม

  3. InputReader แจ้งให้ InputDispatcher ทราบเกี่ยวกับเหตุการณ์สําคัญ

  4. InputDispatcher จะถาม WindowManagerPolicy ว่าต้องทําอย่างไรกับเหตุการณ์สําคัญโดยเรียกใช้ WindowManagerPolicy.interceptKeyBeforeQueueing วิธีการนี้เป็นส่วนหนึ่งของเส้นทางที่สำคัญซึ่งมีหน้าที่ปลุกอุปกรณ์เมื่อมีการกดแป้นบางแป้น EventHub จะล็อกให้อุปกรณ์ตื่นอยู่อย่างมีประสิทธิภาพตลอดเส้นทางที่สำคัญนี้เพื่อให้แน่ใจว่าจะทำงานจนเสร็จสมบูรณ์

  5. หากมีการใช้ InputFilter อยู่ InputDispatcher จะเปิดโอกาสให้ InputFilter ใช้หรือเปลี่ยนรูปแบบคีย์ InputFilter อาจใช้เพื่อติดตั้งใช้งานนโยบายการช่วยเหลือพิเศษระดับต่ำทั่วทั้งระบบ

  6. InputDispatcher จะจัดคิวคีย์เพื่อประมวลผลในเธรดการจัดเตรียม

  7. เมื่อ InputDispatcher ดึงคิวออก WindowManagerPolicy จะได้มีโอกาสครั้งที่ 2 ในการสกัดกั้นเหตุการณ์สําคัญโดยการเรียกใช้ WindowManagerPolicy.interceptKeyBeforeDispatching วิธีนี้จัดการแป้นพิมพ์ลัดของระบบและฟังก์ชันอื่นๆ

  8. จากนั้น InputDispatcher จะระบุเป้าหมายเหตุการณ์สำคัญ (หน้าต่างที่โฟกัสอยู่) และรอให้พร้อม จากนั้น InputDispatcher จะส่งเหตุการณ์สําคัญไปยังแอปพลิเคชัน

  9. ภายในแอปพลิเคชัน เหตุการณ์สําคัญจะส่งต่อลําดับชั้นของมุมมองไปยังมุมมองที่มีโฟกัสสําหรับการส่งคีย์ก่อน IME

  10. หากไม่มีการจัดการเหตุการณ์สำคัญในการส่งก่อน IME และระบบกำลังใช้ IME อยู่ ระบบจะส่งเหตุการณ์สำคัญไปยัง IME

  11. หาก IME ไม่ได้ใช้เหตุการณ์แป้นพิมพ์ เหตุการณ์แป้นพิมพ์จะส่งต่อลงตามลําดับชั้นของมุมมองไปยังมุมมองที่มีโฟกัสสําหรับการส่งแป้นพิมพ์มาตรฐาน

  12. แอปพลิเคชันจะรายงานกลับไปยัง InputDispatcher ว่ามีการเรียกใช้เหตุการณ์สําคัญหรือไม่ หากไม่มีการใช้เหตุการณ์ InputDispatcher จะเรียก WindowManagerPolicy.dispatchUnhandledKey เพื่อใช้ลักษณะการทํางาน "สำรอง" ระบบอาจเริ่มรอบการส่งเหตุการณ์สําคัญอีกครั้งโดยใช้คีย์โค้ดอื่น ทั้งนี้ขึ้นอยู่กับการดำเนินการสำรอง ตัวอย่างเช่น หากแอปพลิเคชันไม่จัดการ KEYCODE_ESCAPE ระบบอาจส่งเหตุการณ์สําคัญเป็น KEYCODE_BACK แทน

การกําหนดค่าแป้นพิมพ์

ลักษณะการทํางานของแป้นพิมพ์จะขึ้นอยู่กับเลย์เอาต์แป้นของแป้นพิมพ์ การแมปอักขระของแป้น และการกําหนดค่าอุปกรณ์อินพุต

ดูรายละเอียดเพิ่มเติมเกี่ยวกับไฟล์ที่เข้าร่วมในการกําหนดค่าแป้นพิมพ์ได้ในส่วนต่อไปนี้

คุณสมบัติ

พร็อพเพอร์ตี้การกําหนดค่าอุปกรณ์อินพุตต่อไปนี้ใช้กับแป้นพิมพ์

keyboard.layout

คําจํากัดความ: keyboard.layout = <name>

ระบุชื่อไฟล์เลย์เอาต์แป้นพิมพ์ที่เชื่อมโยงกับอุปกรณ์อินพุต ยกเว้นนามสกุล .kl หากไม่พบไฟล์นี้ ระบบป้อนข้อมูลจะใช้เลย์เอาต์แป้นพิมพ์เริ่มต้นแทน

ระบบจะแปลงช่องว่างในชื่อเป็นขีดล่างระหว่างการค้นหา

ดูรายละเอียดเพิ่มเติมในเอกสารประกอบของไฟล์เลย์เอาต์คีย์

keyboard.characterMap

คําจํากัดความ: keyboard.characterMap = <name>

ระบุชื่อไฟล์การแมปอักขระของแป้นพิมพ์ที่เชื่อมโยงกับอุปกรณ์อินพุต ยกเว้นนามสกุล .kcm หากไม่พบไฟล์นี้ ระบบป้อนข้อมูลจะใช้แผนที่อักขระคีย์เริ่มต้นแทน

ระบบจะแปลงช่องว่างในชื่อเป็นขีดล่างระหว่างการค้นหา

โปรดดูรายละเอียดเพิ่มเติมในเอกสารประกอบของไฟล์การแมปอักขระคีย์

keyboard.orientationAware

คําจํากัดความ: keyboard.orientationAware = 0 | 1

ระบุว่าแป้นพิมพ์ควรตอบสนองต่อการเปลี่ยนแปลงการวางแนวของจอแสดงผลหรือไม่

  • หากค่าคือ 1 ปุ่มกดแป้นตัวเลขแบบมีทิศทางจะหมุนเมื่อการวางแนวของจอแสดงผลที่เกี่ยวข้องเปลี่ยนแปลง

  • หากค่าคือ 0 แป้นพิมพ์จะไม่ได้รับผลกระทบจากการเปลี่ยนแปลงการวางแนวการแสดงผล

ค่าเริ่มต้นคือ 0

การตรวจหาการวางแนวใช้เพื่อรองรับการหมุนปุ่มแป้นพิมพ์ทิศทาง เช่น ใน Motorola Droid ตัวอย่างเช่น เมื่อหมุนอุปกรณ์ตามเข็มนาฬิกา 90 องศาจากการวางแนวปกติ ระบบจะแมป KEYCODE_DPAD_UP ใหม่เป็น KEYCODE_DPAD_RIGHT เนื่องจากปุ่ม "ขึ้น" จะชี้ไปทาง "ขวา" เมื่อถืออุปกรณ์ในลักษณะนั้น

keyboard.builtIn

คําจํากัดความ: keyboard.builtIn = 0 | 1

ระบุว่าแป้นพิมพ์เป็นแป้นพิมพ์ในตัว (ติดอยู่กับตัวเครื่อง) หรือไม่

ค่าเริ่มต้นคือ 1 หากชื่ออุปกรณ์ลงท้ายด้วย -keypad ไม่เช่นนั้นจะเป็น 0

แป้นพิมพ์ในตัวจะได้รับรหัสอุปกรณ์ 0 เสมอ แป้นพิมพ์อื่นๆ ที่ไม่ใช่แป้นพิมพ์ในตัวจะได้รับการกำหนดรหัสอุปกรณ์ที่ไม่ซ้ำกันซึ่งไม่ใช่ 0

การใช้รหัส 0 สำหรับแป้นพิมพ์ในตัวเป็นสิ่งสําคัญในการคงความเข้ากันได้กับช่อง KeyCharacterMap.BUILT_IN_KEYBOARD ซึ่งระบุรหัสของแป้นพิมพ์ในตัวและมีค่าเป็น 0 ช่องนี้เลิกใช้งานแล้วใน API แต่แอปพลิเคชันเวอร์ชันเก่าอาจยังใช้อยู่

ระบบจะไม่ลงทะเบียนแป้นพิมพ์ฟังก์ชันพิเศษ (แป้นพิมพ์ที่แมปอักขระของแป้นระบุประเภท SPECIAL_FUNCTION) เป็นแป้นพิมพ์ในตัว ไม่ว่าการตั้งค่าพร็อพเพอร์ตี้นี้จะเป็นอย่างไรก็ตาม เนื่องจากแป้นพิมพ์ฟังก์ชันพิเศษไม่ได้มีไว้สำหรับการพิมพ์ทั่วไป

ตัวอย่างการกำหนดค่า

# 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

หมายเหตุเกี่ยวกับความเข้ากันได้

ก่อนที่จะมี Honeycomb โปรแกรมแมปการป้อนข้อมูลด้วยแป้นพิมพ์ไม่ได้ใช้พร็อพเพอร์ตี้การกําหนดค่าใดๆ ระบบจะถือว่าแป้นพิมพ์ทั้งหมดเชื่อมต่ออยู่และรับรู้การวางแนว เลย์เอาต์แป้นเริ่มต้นและแผนที่อักขระของแป้นมีชื่อว่า qwerty แทนที่จะเป็น Generic รูปแบบแผนที่แป้นตัวอักษรก็แตกต่างออกไปมาก และเฟรมเวิร์กไม่รองรับแป้นพิมพ์แบบเต็มสไตล์ PC หรือแป้นพิมพ์ภายนอก

เมื่ออัปเกรดอุปกรณ์เป็น Honeycomb โปรดสร้างหรืออัปเดตไฟล์การกําหนดค่าและไฟล์การแมปคีย์ที่จําเป็น

การใช้งาน HID, รหัสคีย์ Linux และรหัสคีย์ Android

ระบบจะอ้างอิงคีย์โดยใช้ตัวระบุหลายรายการที่แตกต่างกัน โดยขึ้นอยู่กับระดับการแยกแยะ

สำหรับอุปกรณ์ HID แต่ละคีย์จะมีการใช้งาน HID ที่เชื่อมโยงอยู่ hid-input ไดรเวอร์ของ Linux และไดรเวอร์ HID เฉพาะอุปกรณ์และผู้ให้บริการที่เกี่ยวข้องมีหน้าที่รับผิดชอบในการแยกวิเคราะห์รายงาน HID และจับคู่การใช้งาน HID กับรหัสคีย์ของ Linux

เมื่อ Android อ่านเหตุการณ์ EV_KEY จากเคอร์เนล Linux ระบบจะแปลรหัสคีย์ Linux แต่ละรายการเป็นรหัสคีย์ Android ที่สอดคล้องกันตามไฟล์เลย์เอาต์คีย์ของอุปกรณ์

เมื่อระบบส่งเหตุการณ์สําคัญไปยังแอปพลิเคชัน อินสแตนซ์ android.view.KeyEvent จะรายงานรหัสคีย์ Linux เป็นค่าของ getScanCode() และรหัสคีย์ Android เป็นค่าของ getKeyCode() สําหรับวัตถุประสงค์ของเฟรมเวิร์ก จะมีเฉพาะค่าของ getKeyCode() เท่านั้นที่มีความสำคัญ

โปรดทราบว่า Android ไม่ได้ใช้ข้อมูลการใช้งาน HID หรือส่งต่อไปยังแอปพลิเคชัน

ตารางรหัส

ตารางต่อไปนี้แสดงความสัมพันธ์ระหว่างการใช้งาน HID, รหัสคีย์ของ Linux และรหัสคีย์ของ Android

คอลัมน์ LKC จะระบุรหัสคีย์ Linux เป็นเลขฐานสิบหก

คอลัมน์ AKC จะระบุรหัสคีย์ Android เป็นเลขฐานสิบหก

คอลัมน์หมายเหตุหมายถึงหมายเหตุที่โพสต์หลังตาราง

คอลัมน์เวอร์ชันจะระบุเวอร์ชันแรกของแพลตฟอร์ม Android ที่รวมคีย์นี้ไว้ในแผนที่คีย์เริ่มต้น ระบบจะแสดงหลายแถวในกรณีที่คีย์แมปเริ่มต้นมีการเปลี่ยนแปลงระหว่างเวอร์ชัน เวอร์ชันเก่าที่สุดที่ระบุคือ 1.6

  • ใน Gingerbread (2.3) และรุ่นก่อนหน้า แผนที่คีย์เริ่มต้นคือ qwerty.kl การแมปแป้นพิมพ์นี้มีไว้เพื่อใช้กับ Android Emulator เท่านั้น และไม่ได้มีไว้เพื่อรองรับแป้นพิมพ์ภายนอกแบบกำหนดเอง อย่างไรก็ตาม OEM บางรายได้เพิ่มการรองรับแป้นพิมพ์บลูทูธลงในแพลตฟอร์มและอาศัย qwerty.kl เพื่อระบุการแมปแป้นพิมพ์ที่จำเป็น ดังนั้น OEM ที่สร้างอุปกรณ์ต่อพ่วงสำหรับอุปกรณ์เหล่านี้จึงอาจสนใจการแมปแบบเก่าเหล่านี้ โปรดทราบว่าการแมปจะแตกต่างจากการแมปปัจจุบันอย่างมาก โดยเฉพาะอย่างยิ่งการประมวลผลคีย์ HOME เราขอแนะนำให้พัฒนาอุปกรณ์ต่อพ่วงใหม่ทั้งหมดตามแมปแป้นพิมพ์ Honeycomb หรือแมปแป้นพิมพ์ที่ใหม่กว่า (เช่น HID มาตรฐาน)

  • ตั้งแต่ Honeycomb (3.0) เป็นต้นไป แผนที่คีย์เริ่มต้นคือ Generic.kl แผนที่แป้นนี้ออกแบบมาเพื่อรองรับแป้นพิมพ์สไตล์ PC แบบเต็ม ฟังก์ชันการทำงานส่วนใหญ่ของแป้นพิมพ์ HID มาตรฐานควรใช้งานได้ทันที

การแมปรหัสคีย์อาจแตกต่างกันไปตามเวอร์ชันของเคอร์เนล Linux และ Android เมื่อทราบว่ามีการเปลี่ยนแปลงเกิดขึ้นในการแมปคีย์เริ่มต้นของ Android ระบบจะระบุการเปลี่ยนแปลงดังกล่าวในคอลัมน์เวอร์ชัน

ไดรเวอร์ HID และแผนที่แป้นเฉพาะอุปกรณ์อาจใช้การแมปที่แตกต่างจากที่ระบุไว้ที่นี่

หน้าแป้นพิมพ์และปุ่มกด HID (0x07)

การใช้งาน HID ชื่อการใช้งาน HID LKC ชื่อรหัสคีย์ Linux เวอร์ชัน AKC ชื่อโค้ดคีย์ Android หมายเหตุ
0x07 0x0001 แป้นพิมพ์แสดงข้อผิดพลาดซ้ำ
0x07 0x0002 POST ของแป้นพิมพ์ไม่สำเร็จ
0x07 0x0003 ข้อผิดพลาดแป้นพิมพ์ที่ระบุไม่ได้
0x07 0x0004 แป้นพิมพ์ a และ A 0x001e KEY_A 1.6 0x001d KEYCODE_A 1
0x07 0x0005 แป้นพิมพ์ b และ B 0x0030 KEY_B 1.6 0x001e KEYCODE_B 1
0x07 0x0006 แป้นพิมพ์ c และ C 0x002e KEY_C 1.6 0x001f KEYCODE_C 1
0x07 0x0007 แป้นพิมพ์ d และ D 0x0020 KEY_D 1.6 0x0020 KEYCODE_D 1
0x07 0x0008 แป้นพิมพ์ e และ E 0x0012 KEY_E 1.6 0x0021 KEYCODE_E 1
0x07 0x0009 แป้นพิมพ์ f และ F 0x0021 KEY_F 1.6 0x0022 KEYCODE_F 1
0x07 0x000a แป้นพิมพ์ g และ G 0x0022 KEY_G 1.6 0x0023 KEYCODE_G 1
0x07 0x000b แป้นพิมพ์ h และ H 0x0023 KEY_H 1.6 0x0024 KEYCODE_H 1
0x07 0x000c แป้นพิมพ์ i และ I 0x0017 KEY_I 1.6 0x0025 KEYCODE_I 1
0x07 0x000d แป้น j และ J 0x0024 KEY_J 1.6 0x0026 KEYCODE_J 1
0x07 0x000e ปุ่ม k และ K บนแป้นพิมพ์ 0x0025 KEY_K 1.6 0x0027 KEYCODE_K 1
0x07 0x000f แป้นพิมพ์ l และ L 0x0026 KEY_L 1.6 0x0028 KEYCODE_L 1
0x07 0x0010 แป้นพิมพ์ m และ M 0x0032 KEY_M 1.6 0x0029 KEYCODE_M 1
0x07 0x0011 แป้นพิมพ์ n และ N 0x0031 KEY_N 1.6 0x002a KEYCODE_N 1
0x07 0x0012 แป้นพิมพ์ o และ O 0x0018 KEY_O 1.6 0x002b KEYCODE_O 1
0x07 0x0013 ปุ่ม p และ P บนแป้นพิมพ์ 0x0019 KEY_P 1.6 0x002c KEYCODE_P 1
0x07 0x0014 ปุ่ม q และ Q บนแป้นพิมพ์ 0x0010 KEY_Q 1.6 0x002d KEYCODE_Q 1
0x07 0x0015 แป้นพิมพ์ r และ R 0x0013 KEY_R 1.6 0x002e KEYCODE_R 1
0x07 0x0016 แป้นพิมพ์ S และ s 0x001f KEY_S 1.6 0x002f KEYCODE_S 1
0x07 0x0017 แป้นพิมพ์ t และ T 0x0014 KEY_T 1.6 0x0030 KEYCODE_T 1
0x07 0x0018 แป้นพิมพ์ u และ U 0x0016 KEY_U 1.6 0x0031 KEYCODE_U 1
0x07 0x0019 แป้นพิมพ์ v และ V 0x002f KEY_V 1.6 0x0032 KEYCODE_V 1
0x07 0x001a แป้นพิมพ์ w และ W 0x0011 KEY_W 1.6 0x0033 KEYCODE_W 1
0x07 0x001b ปุ่ม x และ X บนแป้นพิมพ์ 0x002d KEY_X 1.6 0x0034 KEYCODE_X 1
0x07 0x001c แป้นพิมพ์ y และ Y 0x0015 KEY_Y 1.6 0x0035 KEYCODE_Y 1
0x07 0x001d แป้น z และ Z 0x002c KEY_Z 1.6 0x0036 KEYCODE_Z 1
0x07 0x001e แป้นพิมพ์ 1 และ ! 0x0002 KEY_1 1.6 0x0008 KEYCODE_1 1
0x07 0x001f แป้นพิมพ์ 2 และ @ 0x0003 KEY_2 1.6 0x0009 KEYCODE_2 1
0x07 0x0020 แป้นพิมพ์ 3 และ # 0x0004 KEY_3 1.6 0x000a KEYCODE_3 1
0x07 0x0021 แป้นพิมพ์ 4 และ $ 0x0005 KEY_4 1.6 0x000b KEYCODE_4 1
0x07 0x0022 แป้นพิมพ์ 5 และ % 0x0006 KEY_5 1.6 0x000c KEYCODE_5 1
0x07 0x0023 แป้นพิมพ์ 6 และ ^ 0x0007 KEY_6 1.6 0x000d KEYCODE_6 1
0x07 0x0024 แป้นพิมพ์ 7 และ & 0x0008 KEY_7 1.6 0x000e KEYCODE_7 1
0x07 0x0025 แป้นพิมพ์ 8 และ * 0x0009 KEY_8 1.6 0x000f KEYCODE_8 1
0x07 0x0026 แป้นพิมพ์ 9 และ ( 0x000a KEY_9 1.6 0x0010 KEYCODE_9 1
0x07 0x0027 แป้นพิมพ์ 0 และ ) 0x000b KEY_0 1.6 0x0007 KEYCODE_0 1
0x07 0x0028 Return ของแป้นพิมพ์ (ENTER) 0x001c KEY_ENTER 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 แป้น ESC 0x0001 KEY_ESC 3.0 0x006f KEYCODE_ESCAPE
"" "" "" "" 2.3 0x0004 KEYCODE_BACK
0x07 0x002a ปุ่ม DELETE (Backspace) บนแป้นพิมพ์ 0x000e KEY_BACKSPACE 1.6 0x0043 KEYCODE_DEL
0x07 0x002b แท็บแป้นพิมพ์ 0x000f KEY_TAB 1.6 0x003d KEYCODE_TAB
0x07 0x002c Spacebar ของแป้นพิมพ์ 0x0039 KEY_SPACE 1.6 0x003e KEYCODE_SPACE
0x07 0x002d แป้นพิมพ์ - และ _ 0x000c KEY_MINUS 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e แป้นพิมพ์ = และ + 0x000d KEY_EQUAL 1.6 0x0046 KEYCODE_EQUALS 1
0x07 0x002f แป้นพิมพ์ [ และ { 0x001a KEY_LEFTBRACE 1.6 0x0047 KEYCODE_LEFT_BRACKET 1
0x07 0x0030 แป้นพิมพ์ ] และ } 0x001b KEY_RIGHTBRACE 1.6 0x0048 KEYCODE_RIGHT_BRACKET 1
0x07 0x0031 แป้นพิมพ์ \ และ | 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0032 ปุ่ม # และ ~ ของแป้นพิมพ์ที่ไม่ใช่สหรัฐอเมริกา 0x002b KEY_BACKSLASH 1.6 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0033 แป้นพิมพ์ ; และ : 0x0027 KEY_SEMICOLON 1.6 0x004a KEYCODE_SEMICOLON 1
0x07 0x0034 แป้นพิมพ์ " และ " 0x0028 KEY_APOSTROPHE 1.6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 แป้นพิมพ์ "และ" 0x0029 KEY_GRAVE 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 แป้นพิมพ์ , และ < 0x0033 KEY_COMMA 1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 แป้นพิมพ์ และ > 0x0034 KEY_DOT 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 แป้นพิมพ์ / และ ? 0x0035 KEY_SLASH 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 Caps Lock ของแป้นพิมพ์ 0x003a KEY_CAPSLOCK 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a แป้นพิมพ์ F1 0x003b KEY_F1 3.0 0x0083 KEYCODE_F1
"" "" "" "" 1.6 0x0052 KEYCODE_MENU
0x07 0x003b แป้นพิมพ์ F2 0x003c KEY_F2 3.0 0x0084 KEYCODE_F2
"" "" "" "" 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c แป้นพิมพ์ F3 0x003d KEY_F3 3.0 0x0085 KEYCODE_F3
"" "" "" "" 1.6 0x0005 KEYCODE_CALL
0x07 0x003d แป้นพิมพ์ F4 0x003e KEY_F4 3.0 0x0086 KEYCODE_F4
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x003e แป้นพิมพ์ F5 0x003f KEY_F5 3.0 0x0087 KEYCODE_F5
0x07 0x003f แป้นพิมพ์ F6 0x0040 KEY_F6 3.0 0x0088 KEYCODE_F6
0x07 0x0040 แป้นพิมพ์ F7 0x0041 KEY_F7 3.0 0x0089 KEYCODE_F7
0x07 0x0041 แป้นพิมพ์ F8 0x0042 KEY_F8 3.0 0x008a KEYCODE_F8
0x07 0x0042 แป้นพิมพ์ F9 0x0043 KEY_F9 3.0 0x008b KEYCODE_F9
0x07 0x0043 แป้นพิมพ์ F10 0x0044 KEY_F10 3.0 0x008c KEYCODE_F10
"" "" "" "" 2.3 0x0052 KEYCODE_MENU
0x07 0x0044 แป้นพิมพ์ F11 0x0057 KEY_F11 3.0 0x008d KEYCODE_F11
0x07 0x0045 แป้นพิมพ์ F12 0x0058 KEY_F12 3.0 0x008e KEYCODE_F12
0x07 0x0046 Print Screen ของแป้นพิมพ์ 0x0063 KEY_SYSRQ 3.0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 Scroll Lock ของแป้นพิมพ์ 0x0046 KEY_SCROLLLOCK 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 แป้นพิมพ์หยุดชั่วคราว 0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x07 0x0049 การแทรกจากแป้นพิมพ์ 0x006e KEY_INSERT 3.0 0x007c KEYCODE_INSERT
0x07 0x004a แป้นพิมพ์หน้าแรก 0x0066 KEY_HOME 3.0 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1.6 0x0003 KEYCODE_HOME
0x07 0x004b Page Up ของแป้นพิมพ์ 0x0068 KEY_PAGEUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c แป้นพิมพ์ Delete ไปข้างหน้า 0x006f KEY_DELETE 3.0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d แป้นพิมพ์ End 0x006b KEY_END 3.0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1.6 0x0006 KEYCODE_ENDCALL
0x07 0x004e Page Down ของแป้นพิมพ์ 0x006d KEY_PAGEDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f ลูกศรขวาบนแป้นพิมพ์ 0x006a KEY_RIGHT 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 ลูกศรซ้ายบนแป้นพิมพ์ 0x0069 KEY_LEFT 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 ลูกศรลงของแป้นพิมพ์ 0x006c KEY_DOWN 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 ลูกศรขึ้นบนแป้นพิมพ์ 0x0067 KEY_UP 1.6 0x0013 KEYCODE_DPAD_UP
0x07 0x0053 ปุ่ม Num Lock และ Clear บนแป้นพิมพ์ 0x0045 KEY_NUMLOCK 3.0 0x008f KEYCODE_NUM_LOCK
0x07 0x0054 ปุ่มกด / 0x0062 KEY_KPSLASH 3.0 0x009a KEYCODE_NUMPAD_DIVIDE
0x07 0x0055 ปุ่มกด * 0x0037 KEY_KPASTERISK 3.0 0x009b KEYCODE_NUMPAD_MULTIPLY
0x07 0x0056 ปุ่มกด - 0x004a KEY_KPMINUS 3.0 0x009c KEYCODE_NUMPAD_SUBTRACT
0x07 0x0057 ปุ่มกด + 0x004e KEY_KPPLUS 3.0 0x009d KEYCODE_NUMPAD_ADD
0x07 0x0058 ปุ่มกด Enter 0x0060 KEY_KPENTER 3.0 0x00a0 KEYCODE_NUMPAD_ENTER
0x07 0x0059 ปุ่มกด 1 และ End 0x004f KEY_KP1 3.0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a ปุ่มกด 2 และลูกศรลง 0x0050 KEY_KP2 3.0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b ปุ่มกด 3 และ PageDown 0x0051 KEY_KP3 3.0 0x0093 KEYCODE_NUMPAD_3
0x07 0x005c แป้นตัวเลข 4 และลูกศรซ้าย 0x004b KEY_KP4 3.0 0x0094 KEYCODE_NUMPAD_4
0x07 0x005d ปุ่มกด 5 0x004c KEY_KP5 3.0 0x0095 KEYCODE_NUMPAD_5
0x07 0x005e ปุ่มตัวเลข 6 และลูกศรขวา 0x004d KEY_KP6 3.0 0x0096 KEYCODE_NUMPAD_6
0x07 0x005f ปุ่มกด 7 และ Home 0x0047 KEY_KP7 3.0 0x0097 KEYCODE_NUMPAD_7
0x07 0x0060 แป้นพิมพ์ 8 และลูกศรขึ้น 0x0048 KEY_KP8 3.0 0x0098 KEYCODE_NUMPAD_8
0x07 0x0061 ปุ่มกด 9 และ Page Up 0x0049 KEY_KP9 3.0 0x0099 KEYCODE_NUMPAD_9
0x07 0x0062 ปุ่มกด 0 และ Insert 0x0052 KEY_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 ปุ่มกด และ Delete 0x0053 KEY_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 แป้นพิมพ์ที่ไม่ใช่ US \ และ | 0x0056 KEY_102ND 4.0 0x0049 KEYCODE_BACKSLASH 1
0x07 0x0065 แอปพลิเคชันแป้นพิมพ์ 0x007f KEY_COMPOSE 3.0 0x0052 KEYCODE_MENU
"" "" "" "" 1.6 0x0054 KEYCODE_SEARCH
0x07 0x0066 พลังงานของแป้นพิมพ์ 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x07 0x0067 ปุ่มกด = 0x0075 KEY_KPEQUAL 3.0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 แป้นพิมพ์ F13 0x00b7 KEY_F13
0x07 0x0069 แป้นพิมพ์ F14 0x00b8 KEY_F14
0x07 0x006a แป้นพิมพ์ F15 0x00b9 KEY_F15
0x07 0x006b แป้นพิมพ์ F16 0x00ba KEY_F16
0x07 0x006c แป้นพิมพ์ F17 0x00bb KEY_F17
0x07 0x006d แป้นพิมพ์ F18 0x00bc KEY_F18
0x07 0x006e แป้นพิมพ์ F19 0x00bd KEY_F19
0x07 0x006f แป้นพิมพ์ F20 0x00be KEY_F20
0x07 0x0070 แป้นพิมพ์ F21 0x00bf KEY_F21
0x07 0x0071 แป้นพิมพ์ F22 0x00c0 KEY_F22
0x07 0x0072 แป้นพิมพ์ F23 0x00c1 KEY_F23
0x07 0x0073 แป้นพิมพ์ F24 0x00c2 KEY_F24
0x07 0x0074 แป้นพิมพ์ดำเนินการ 0x0086 KEY_OPEN
0x07 0x0075 ความช่วยเหลือเกี่ยวกับแป้นพิมพ์ 0x008a KEY_HELP
0x07 0x0076 เมนูแป้นพิมพ์ 0x0082 KEY_PROPS
0x07 0x0077 แป้นพิมพ์เลือก 0x0084 KEY_FRONT
0x07 0x0078 การหยุดแป้นพิมพ์ 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 แป้นพิมพ์อีกครั้ง 0x0081 KEY_AGAIN
0x07 0x007a การเลิกทำด้วยแป้นพิมพ์ 0x0083 KEY_UNDO
0x07 0x007b การกดแป้นพิมพ์เพื่อตัด 0x0089 KEY_CUT
0x07 0x007c คัดลอกจากแป้นพิมพ์ 0x0085 KEY_COPY
0x07 0x007d วางจากแป้นพิมพ์ 0x0087 KEY_PASTE
0x07 0x007e แป้นพิมพ์ค้นหา 0x0088 KEY_FIND
0x07 0x007f ปิดเสียงแป้นพิมพ์ 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x0080 แป้นเพิ่มระดับเสียง 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x07 0x0081 ลดระดับเสียงของแป้นพิมพ์ 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x07 0x0082 การล็อกแป้นพิมพ์ Caps Lock
0x07 0x0083 Num Lock สำหรับการล็อกแป้นพิมพ์
0x07 0x0084 การล็อกแป้นพิมพ์ด้วย Scroll Lock
0x07 0x0085 จุลภาคบนปุ่มกด 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 เครื่องหมายเท่ากับบนปุ่มกด
0x07 0x0087 แป้นพิมพ์ International1 0x0059 KEY_RO
0x07 0x0088 Keyboard International2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 Keyboard International3 0x007c KEY_YEN
0x07 0x008a Keyboard International4 0x005c KEY_HENKAN
0x07 0x008b Keyboard International5 0x005e KEY_MUHENKAN
0x07 0x008c แป้นพิมพ์ International6 0x005f KEY_KPJPCOMMA
0x07 0x008d Keyboard International7
0x07 0x008e Keyboard International8
0x07 0x008f Keyboard International9
0x07 0x0090 แป้นพิมพ์ LANG1 0x007a KEY_HANGEUL
0x07 0x0091 แป้นพิมพ์ LANG2 0x007b KEY_HANJA
0x07 0x0092 แป้นพิมพ์ LANG3 0x005a KEY_KATAKANA
0x07 0x0093 แป้นพิมพ์ LANG4 0x005b KEY_HIRAGANA
0x07 0x0094 แป้นพิมพ์ LANG5 0x0055 KEY_ZENKAKUHANKAKU
0x07 0x0095 แป้นพิมพ์ LANG6
0x07 0x0096 แป้นพิมพ์ LANG7
0x07 0x0097 แป้นพิมพ์ LANG8
0x07 0x0098 แป้นพิมพ์ LANG9
0x07 0x0099 การลบด้วยแป้นพิมพ์สำรอง
0x07 0x009a SysReq/Attention ของแป้นพิมพ์
0x07 0x009b แป้นพิมพ์ยกเลิก
0x07 0x009c แป้นล้าง
0x07 0x009d แป้นพิมพ์ก่อนหน้า
0x07 0x009e แป้นรีเทิร์น
0x07 0x009f ตัวคั่นแป้นพิมพ์
0x07 0x00a0 แป้นพิมพ์ออก
0x07 0x00a1 แป้นพิมพ์ Oper
0x07 0x00a2 แป้นพิมพ์ล้าง/อีกครั้ง
0x07 0x00a3 แป้นพิมพ์ CrSel/Props
0x07 0x00a4 ExSel ของแป้นพิมพ์
0x07 0x00b0 ปุ่มกด 00
0x07 0x00b1 ปุ่มกด 000
0x07 0x00b2 ตัวคั่นหลักพัน
0x07 0x00b3 ตัวคั่นทศนิยม
0x07 0x00b4 หน่วยสกุลเงิน
0x07 0x00b5 หน่วยย่อยของสกุลเงิน
0x07 0x00b6 ปุ่มกด ( 0x00b3 KEY_KPLEFTPAREN 3.0 0x00a2 KEYCODE_NUMPAD_LEFT_PAREN
0x07 0x00b7 ปุ่มกด ) 0x00b4 KEY_KPRIGHTPAREN 3.0 0x00a3 KEYCODE_NUMPAD_RIGHT_PAREN
0x07 0x00b8 ปุ่มกด {
0x07 0x00b9 ปุ่มกด }
0x07 0x00ba ปุ่ม Tab บนปุ่มกด
0x07 0x00bb ปุ่ม Backspace บนปุ่มกด
0x07 0x00bc ปุ่มกด A
0x07 0x00bd ปุ่มกด B
0x07 0x00be ปุ่มกด C
0x07 0x00bf ปุ่มกด D
0x07 0x00c0 ปุ่มกด E
0x07 0x00c1 ปุ่มกด F
0x07 0x00c2 XOR ของปุ่มกด
0x07 0x00c3 ปุ่มกด ^
0x07 0x00c4 % ปุ่มกด
0x07 0x00c5 ปุ่มกด <
0x07 0x00c6 ปุ่มกด >
0x07 0x00c7 ปุ่มกดและ
0x07 0x00c8 แป้นพิมพ์ &&
0x07 0x00c9 ปุ่มกด |
0x07 0x00ca ปุ่มกด ||
0x07 0x00cb ปุ่มกด
0x07 0x00cc ปุ่มกด #
0x07 0x00cd พื้นที่ปุ่มกด
0x07 0x00ce ปุ่มกด @
0x07 0x00cf ปุ่มกด !
0x07 0x00d0 หน่วยความจำของปุ่มกด
0x07 0x00d1 การเรียกคืนความจำของแป้นพิมพ์
0x07 0x00d2 ล้างความทรงจำของปุ่มกด
0x07 0x00d3 เพิ่มหน่วยความจำของปุ่มกด
0x07 0x00d4 ปุ่มกดลบหน่วยความจำ
0x07 0x00d5 แป้นกดคูณหน่วยความจำ
0x07 0x00d6 ปุ่มกดแบ่งหน่วยความจำ
0x07 0x00d7 ปุ่มกด +/-
0x07 0x00d8 ปุ่มล้าง
0x07 0x00d9 ปุ่มล้างการป้อนข้อมูล
0x07 0x00da ไบนารีจากปุ่มกด
0x07 0x00db ปุ่มกดเลขฐาน 8
0x07 0x00dc ทศนิยมบนปุ่มกด
0x07 0x00dd เลขฐานสิบหกบนปุ่มกด
0x07 0x00e0 แป้นควบคุมซ้ายของแป้นพิมพ์ 0x001d KEY_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 Shift ซ้ายบนแป้นพิมพ์ 0x002a KEY_LEFTSHIFT 1.6 0x003b KEYCODE_SHIFT_LEFT
0x07 0x00e2 Alt ซ้ายของแป้นพิมพ์ 0x0038 KEY_LEFTALT 1.6 0x0039 KEYCODE_ALT_LEFT
0x07 0x00e3 GUI ของแป้นพิมพ์ด้านซ้าย 0x007d KEY_LEFTMETA 3.0 0x0075 KEYCODE_META_LEFT
0x07 0x00e4 แป้นควบคุมขวา 0x0061 KEY_RIGHTCTRL 3.0 0x0072 KEYCODE_CTRL_RIGHT
0x07 0x00e5 Shift ขวาบนแป้นพิมพ์ 0x0036 KEY_RIGHTSHIFT 1.6 0x003c KEYCODE_SHIFT_RIGHT
0x07 0x00e6 Alt ขวาบนแป้นพิมพ์ 0x0064 KEY_RIGHTALT 1.6 0x003a KEYCODE_ALT_RIGHT
0x07 0x00e7 GUI ของแป้นพิมพ์ด้านขวา 0x007e KEY_RIGHTMETA 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
0x07 0x00ea 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 KEY_EJECTCD 3.0 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.0 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.0 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 KEY_FIND
0x07 0x00f5 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 KEY_EDIT
0x07 0x00f8 0x008e KEY_SLEEP
0x07 0x00f9 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x07 0x00fa 0x00ad KEY_REFRESH
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR

หน้าเดสก์ท็อปทั่วไปของ HID (0x01)

การใช้งาน HID ชื่อการใช้งาน HID LKC ชื่อรหัสคีย์ Linux เวอร์ชัน AKC ชื่อโค้ดคีย์ Android หมายเหตุ
0x01 0x0081 ระบบปิด 0x0074 KEY_POWER 1.6 0x001a KEYCODE_POWER
0x01 0x0082 เข้าสู่โหมดสลีปของระบบ 0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x01 0x0083 การปลุกระบบ 0x008f KEY_WAKEUP 4.0 0x001a KEYCODE_POWER
0x01 0x0084 เมนูตามบริบทของระบบ
0x01 0x0085 เมนูหลักของระบบ
0x01 0x0086 เมนูแอประบบ
0x01 0x0087 ความช่วยเหลือเกี่ยวกับเมนูระบบ
0x01 0x0088 ออกจากเมนูระบบ
0x01 0x0089 เลือกเมนูระบบ
0x01 0x008a เมนูระบบไปทางขวา
0x01 0x008b เมนูระบบด้านซ้าย
0x01 0x008c เมนูระบบขึ้น
0x01 0x008d แป้นกดเมนูระบบลง
0x01 0x008e การรีสตาร์ทระบบแบบ Cold Restart
0x01 0x008f การรีสตาร์ทระบบแบบอุ่น
0x01 0x00a0 แท่นชาร์จระบบ
0x01 0x00a1 เลิกเชื่อมต่อระบบ
0x01 0x00a2 การตั้งค่าระบบ
0x01 0x00a3 ช่วงพักของระบบ
0x01 0x00a4 หยุดพักโปรแกรมแก้ไขข้อบกพร่องของระบบ
0x01 0x00a5 ช่วงพักระหว่างแอปพลิเคชัน
0x01 0x00a6 หยุดพักโปรแกรมแก้ไขข้อบกพร่องของแอปพลิเคชัน
0x01 0x00a7 ปิดเสียงลำโพงของระบบ
0x01 0x00a8 การพักระบบ
0x01 0x00b0 เปลี่ยนการแสดงผลของระบบเป็นสีกลับ
0x01 0x00b1 จอแสดงผลภายในของระบบ
0x01 0x00b2 จอแสดงผลภายนอกของระบบ
0x01 0x00b3 ระบบแสดงทั้ง 2 รายการ
0x01 0x00b4 จอแสดงผลระบบคู่
0x01 0x00b5 สลับการแสดงผลของระบบเป็นภายใน/ภายนอก
0x01 0x00b6 เปลี่ยนการแสดงผลของระบบเป็น Prim./Sec.
0x01 0x00b7 ปรับขนาดอัตโนมัติของ LCD บนจอแสดงผลระบบ

หน้าผู้บริโภค HID (0x0c)

การใช้งาน HID ชื่อการใช้งาน HID LKC ชื่อรหัสคีย์ Linux เวอร์ชัน AKC ชื่อโค้ดคีย์ Android หมายเหตุ
0x0c 0x0030 พาวเวอร์
0x0c 0x0031 รีเซ็ต
0x0c 0x0032 การนอนหลับ
0x0c 0x0033 ปิดหลังจาก
0x0c 0x0034 โหมดสลีป 0x008e KEY_SLEEP 4.0 0x001a KEYCODE_POWER
0x0c 0x0040 เมนู 0x008b KEY_MENU 1.6 0x0052 KEYCODE_MENU
0x0c 0x0041 เลือกเมนู
0x0c 0x0042 เมนูขึ้น
0x0c 0x0043 แป้น Menu Down
0x0c 0x0044 เมนูด้านซ้าย
0x0c 0x0045 เมนูขวา 0x0181 KEY_RIGHT
0x0c 0x0046 แป้น Esc ของเมนู
0x0c 0x0047 มูลค่าเมนูเพิ่มขึ้น
0x0c 0x0048 ค่าเมนูลดลง
0x0c 0x0067 สลับการแสดงภาพซ้อนภาพ 0x00ab KEYCODE_WINDOW เพิ่มใน aosp/1365553
0x0c 0x0069 ปุ่มเมนูสีแดง 0x18e KEY_RED 0x00b7 KEYCODE_PROG_RED เพิ่มใน aosp/1388616
0x0c 0x006a ปุ่มเมนูสีเขียว 0x18f KEY_GREEN 0x00b8 KEYCODE_PROG_GREEN เพิ่มใน aosp/1388616
0x0c 0x006b ปุ่มเมนูสีน้ำเงิน 0x191 KEY_BLUE 0x00ba KEYCODE_PROG_BLUE เพิ่มใน aosp/1388616
0x0c 0x006c ปุ่มเมนูสีเหลือง 0x190 KEY_YELLOW 0x00b9 KEYCODE_PROG_YELLOW เพิ่มใน aosp/1388616
0x0c 0x0081 มอบหมายการเลือก
0x0c 0x0082 ขั้นตอนโหมด
0x0c 0x0083 เรียกคืนรายการล่าสุด 0x0195 KEY_LAST 0xe5 KEYCODE_LAST_CHANNEL เพิ่มใน aosp/1365551
0x0c 0x0084 เข้าสู่ช่อง
0x0c 0x0085 สั่งซื้อภาพยนตร์
0x0c 0x0088 คอมพิวเตอร์ Media Select 0x0178 KEY_PC
0x0c 0x0089 Media Select TV 0x0179 KEY_TV 3.0 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 0x00a9 KEY_PHONE 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d คู่มือรายการทีวีของ Media Select 0x016a KEY_PROGRAM 3.0 0x00ac KEYCODE_GUIDE
0x0c 0x008e เลือกโทรศัพท์วิดีโอผ่านสื่อ 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f เกม Media Select 0x01a1 KEY_GAMES
0x0c 0x0090 ข้อความเลือกสื่อ 0x018c KEY_MEMO
0x0c 0x0091 แผ่นซีดี Media Select 0x017f KEY_CD
0x0c 0x0092 Media Select VCR 0x017b KEY_VCR
0x0c 0x0093 โปรแกรมเลือกสื่อ 0x0182 KEY_TUNER
0x0c 0x0094 ออก 0x00ae KEY_EXIT
0x0c 0x0095 ความช่วยเหลือ 0x008a KEY_HELP
0x0c 0x0096 เทปเลือกสื่อ 0x0180 KEY_TAPE
0x0c 0x0097 สาย Media Select 0x017a KEY_TV2
0x0c 0x0098 ดาวเทียม Media Select 0x017d KEY_SAT
0x0c 0x0099 Media Select Security
0x0c 0x009a หน้าแรก Media Select 0x016e KEY_PVR 3.0 0x00ad KEYCODE_DVR
0x0c 0x0061 คำบรรยาย 0x0172 KEY_SUBTITLE 0x00af KEYCODE_CAPTIONS เพิ่มใน aosp/1365552
0x0c 0x009c การเปลี่ยนช่อง 0x0192 KEY_CHANNELUP 3.0 0x00a6 KEYCODE_CHANNEL_UP
0x0c 0x009d การลดช่อง 0x0193 KEY_CHANNELDOWN 3.0 0x00a7 KEYCODE_CHANNEL_DOWN
0x0c 0x009e Media Select SAP
0x0c 0x00a0 VCR Plus 0x017c KEY_VCR2
0x0c 0x00a1 ครั้งเดียว
0x0c 0x00a2 รายวัน
0x0c 0x00a3 รายสัปดาห์
0x0c 0x00a4 รายเดือน
0x0c 0x00b0 เล่น 0x00cf KEY_PLAY 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 หยุดชั่วคราว 0x0077 KEY_PAUSE 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 บันทึก 0x00a7 KEY_RECORD 3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 กรอไปข้างหน้า 0x00d0 KEY_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 กรอกลับ 0x00a8 KEY_REWIND 3.0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 สแกนแทร็กถัดไป 0x00a3 KEY_NEXTSONG 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 สแกนแทร็กก่อนหน้า 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 หยุด 0x00a6 KEY_STOPCD 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 นำอุปกรณ์ออก 0x00a1 KEY_EJECTCD 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 เล่นแบบสุ่ม
0x0c 0x00ba เลือกแผ่นดิสก์
0x0c 0x00bb ใส่แผ่นดิสก์
0x0c 0x00bc เกิดซ้ำ 0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00be ติดตามแบบปกติ
0x0c 0x00c0 เฟรมถัดไป
0x0c 0x00c1 ด้านหลังของกรอบ
0x0c 0x00c2 มาร์ก
0x0c 0x00c3 เครื่องหมายล้าง
0x0c 0x00c4 เล่นซ้ำจากเครื่องหมาย
0x0c 0x00c5 กลับไปที่เครื่องหมาย
0x0c 0x00c6 ค้นหาเครื่องหมายไปข้างหน้า
0x0c 0x00c7 ค้นหาเครื่องหมายย้อนกลับ
0x0c 0x00c8 การรีเซ็ตเคาน์เตอร์
0x0c 0x00c9 แสดงตัวนับ
0x0c 0x00ca การเพิ่มขึ้นของการติดตาม
0x0c 0x00cb การลดลงของการติดตาม
0x0c 0x00cc หยุด / นำออก
0x0c 0x00cd เล่น / หยุดชั่วคราว 0x00a4 KEY_PLAYPAUSE 3.0 0x0055 KEYCODE_MEDIA_PLAY_PAUSE
0x0c 0x00ce เล่น / ข้าม
0x0c 0x00e2 ปิดเสียง 0x0071 KEY_MUTE 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x0c 0x00e5 เพิ่มเสียงเบส 0x00d1 KEY_BASSBOOST
0x0c 0x00e6 โหมดเสียงเซอร์ราวด์
0x0c 0x00e7 ความดัง
0x0c 0x00e8 MPX
0x0c 0x00e9 การเพิ่มระดับเสียง 0x0073 KEY_VOLUMEUP 1.6 0x0018 KEYCODE_VOLUME_UP
0x0c 0x00ea การลดระดับเสียง 0x0072 KEY_VOLUMEDOWN 1.6 0x0019 KEYCODE_VOLUME_DOWN
0x0c 0x0173 การเพิ่มเสียงสลับ 0x00de KEYCODE_MEDIA_AUDIO_TRACK เพิ่มใน aosp/1365554
0x0c 0x0181 AL Launch Button Config. เครื่องมือ
0x0c 0x0182 การกำหนดค่าปุ่มที่ตั้งโปรแกรมได้ของ AL 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 การกำหนดค่าการควบคุม AL Consumer 0x00ab KEY_CONFIG 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 AL Word Processor 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 เครื่องมือแก้ไขข้อความ AL 0x01a6 KEY_EDITOR
0x0c 0x0186 สเปรดชีต AL 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 AL Graphics Editor 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 แอปงานนำเสนอ AL 0x01a9 KEY_PRESENTATION
0x0c 0x0189 แอปฐานข้อมูล AL 0x01aa KEY_DATABASE
0x0c 0x018a AL Email Reader 0x009b KEY_MAIL 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b AL Newsreader 0x01ab KEY_NEWS
0x0c 0x018c ข้อความเสียงของ AL 0x01ac KEY_VOICEMAIL
0x0c 0x018d รายชื่อติดต่อ / สมุดที่อยู่ AL 0x01ad KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e ปฏิทิน / กำหนดการของ AL 0x018d KEY_CALENDAR 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f ผู้จัดการงาน / โปรเจ็กต์ AL
0x0c 0x0190 บันทึก AL / สมุดบันทึก / การ์ดเวลา
0x0c 0x0191 AL Checkbook / Finance 0x00db KEY_FINANCE
0x0c 0x0192 เครื่องคำนวณ AL 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_CALCULATOR
0x0c 0x0193 การบันทึก/การเล่น A / V ของ AL
0x0c 0x0194 เบราว์เซอร์ในเครื่องของ AL 0x0090 KEY_FILE
0x0c 0x0195 เบราว์เซอร์ AL LAN/WAN
0x0c 0x0196 AL Internet Browser 0x0096 KEY_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 เครือข่ายระยะไกลของ AL/การเชื่อมต่อ ISP
0x0c 0x0198 AL Network Conference
0x0c 0x0199 แชทเครือข่าย AL 0x00d8 KEY_CHAT
0x0c 0x019a AL Telephony / Dialer
0x0c 0x019b AL Logon
0x0c 0x019c AL Logoff 0x01b1 KEY_LOGOFF
0x0c 0x019d AL Logon / Logoff
0x0c 0x019e การล็อก / ภาพพักหน้าจอของ AL Terminal 0x0098 KEY_COFFEE 4.0 0x001a KEYCODE_POWER
0x0c 0x019f แผงควบคุม AL
0x0c 0x01a0 AL Command Line Processor / Run
0x0c 0x01a1 กระบวนการ AL / ตัวจัดการงาน
0x0c 0x01a2 AL เลือกงาน / แอปพลิเคชัน
0x0c 0x01a3 AL Next Task / Application
0x0c 0x01a4 AL Previous Task / Application
0x0c 0x01a5 AL Preemptive Halt Task / App.
0x0c 0x01a6 ศูนย์ช่วยเหลือแบบรวมของ AL 0x008a KEY_HELP
0x0c 0x01a7 เอกสาร AL 0x00eb KEY_DOCUMENTS
0x0c 0x01a8 อรรถาภิธานของ AL
0x0c 0x01a9 พจนานุกรม AL
0x0c 0x01aa AL Desktop
0x0c 0x01ab การตรวจตัวสะกด AL 0x01b0 KEY_SPELLCHECK
0x0c 0x01ac การตรวจสอบไวยากรณ์ AL
0x0c 0x01ad สถานะระบบไร้สาย AL
0x0c 0x01ae รูปแบบแป้นพิมพ์ AL
0x0c 0x01af AL Virus Protection
0x0c 0x01b0 การเข้ารหัส AL
0x0c 0x01b1 โปรแกรมรักษาหน้าจอ AL
0x0c 0x01b2 สัญญาณเตือน AL
0x0c 0x01b3 AL Clock
0x0c 0x01b4 โปรแกรมเรียกดูไฟล์ AL
0x0c 0x01b5 สถานะพลังงานของ AL
0x0c 0x01b6 เครื่องมือเรียกดูรูปภาพ AL 0x00e2 KEY_MEDIA 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 เบราว์เซอร์เสียง AL 0x00d5 KEY_SOUND 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 AL Movie Browser
0x0c 0x01b9 ผู้จัดการสิทธิ์ดิจิทัลของ AL
0x0c 0x01ba AL Digital Wallet
0x0c 0x01bc การรับส่งข้อความโต้ตอบแบบทันทีของ AL 0x01ae KEY_MESSENGER
0x0c 0x01bd เบราว์เซอร์ฟีเจอร์ / เคล็ดลับจาก OEM ของ AL 0x0166 KEY_INFO
0x0c 0x01be ความช่วยเหลือสำหรับ AL OEM
0x0c 0x01bf ชุมชนออนไลน์ของ AL
0x0c 0x01c0 เบราว์เซอร์เนื้อหาความบันเทิงของ AL
0x0c 0x01c1 AL Online Shopping Browser
0x0c 0x01c2 ข้อมูล / ความช่วยเหลือเกี่ยวกับ AL SmartCard
0x0c 0x01c3 AL Market / Finance Browser
0x0c 0x01c4 AL Customized Corp. News Browser
0x0c 0x01c5 AL Online Activity Browser
0x0c 0x01c6 AL Research / Search Browser
0x0c 0x01c7 AL Audio Player
0x0c 0x0201 AC ใหม่ 0x00b5 KEY_NEW
0x0c 0x0202 AC เปิด 0x0086 KEY_OPEN
0x0c 0x0203 AC Close 0x00ce KEY_CLOSE
0x0c 0x0204 ทางออก AC 0x00ae KEY_EXIT
0x0c 0x0205 AC Maximize
0x0c 0x0206 AC Minimize
0x0c 0x0207 ประหยัดไฟ AC 0x00ea KEY_SAVE
0x0c 0x0208 AC Print 0x00d2 KEY_PRINT
0x0c 0x0209 พร็อพเพอร์ตี้ AC 0x0082 KEY_PROPS
0x0c 0x021a AC Undo 0x0083 KEY_UNDO
0x0c 0x021b ข้อความ AC 0x0085 KEY_COPY
0x0c 0x021c AC Cut 0x0089 KEY_CUT
0x0c 0x021d วาง AC 0x0087 KEY_PASTE
0x0c 0x021e AC เลือกทั้งหมด
0x0c 0x021f AC Find 0x0088 KEY_FIND
0x0c 0x0220 AC Find and Replace
0x0c 0x0221 การค้นหา 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.0 0x0003 KEYCODE_HOME
0x0c 0x0224 ด้านหลังแบบ AC 0x009e KEY_BACK 1.6 0x0004 KEYCODE_BACK
0x0c 0x0225 AC Forward 0x009f KEY_FORWARD 3.0 0x007d KEYCODE_FORWARD
0x0c 0x0226 AC Stop 0x0080 KEY_STOP 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x0227 รีเฟรช AC 0x00ad KEY_REFRESH
0x0c 0x0228 AC Previous Link
0x0c 0x0229 AC Next Link
0x0c 0x022a บุ๊กมาร์ก AC 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x022b ประวัติ AC
0x0c 0x022c การสมัครใช้บริการ AC
0x0c 0x022d AC Zoom In 0x01a2 KEY_ZOOMIN
0x0c 0x022e AC Zoom Out 0x01a3 KEY_ZOOMOUT
0x0c 0x022f AC Zoom 0x01a4 KEY_ZOOMRESET 2
0x0c 0x0230 มุมมองแบบเต็มหน้าจอของ AC
0x0c 0x0231 มุมมองปกติของ AC
0x0c 0x0232 สลับมุมมอง AC
0x0c 0x0233 AC Scroll Up 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x0c 0x0234 AC Scroll Down 0x00b2 KEY_SCROLLDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x0c 0x0236 AC Pan Left
0x0c 0x0237 AC Pan Right
0x0c 0x0239 AC New Window
0x0c 0x023a เรียงเต็มพื้นที่ตามแนวนอน
0x0c 0x023b เรียงเต็มพื้นที่ตามแนวตั้ง
0x0c 0x023c รูปแบบ AC
0x0c 0x023d การแก้ไข AC
0x0c 0x023e AC Bold
0x0c 0x023f ตัวเอียง AC
0x0c 0x0240 ขีดเส้นใต้ AC
0x0c 0x0241 เครื่องปรับอากาศ (AC) ขีดทับ
0x0c 0x0242 ตัวห้อย AC
0x0c 0x0243 ตัวยก AC
0x0c 0x0244 AC ตัวพิมพ์ใหญ่ทั้งหมด
0x0c 0x0245 AC Rotate
0x0c 0x0246 การปรับขนาด AC
0x0c 0x0247 AC พลิกแนวนอน
0x0c 0x0248 AC พลิกแนวตั้ง
0x0c 0x0249 AC Mirror Horizontal
0x0c 0x024a AC Mirror Vertical
0x0c 0x024b AC Font Select
0x0c 0x024c สีแบบอักษรของ AC
0x0c 0x024d ขนาดแบบอักษรของ AC
0x0c 0x024e AC จัดชิดซ้าย
0x0c 0x024f AC จัดข้อความไว้ตรงกลาง H
0x0c 0x0250 AC จัดชิดขวา
0x0c 0x0251 AC Justify Block H
0x0c 0x0252 AC จัดข้อความไว้ด้านบน
0x0c 0x0253 AC จัดข้อความไว้ตรงกลาง V
0x0c 0x0254 AC จัดชิดด้านล่าง
0x0c 0x0255 AC Justify Block V
0x0c 0x0256 AC Indent Decrease
0x0c 0x0257 เพิ่มการเยื้อง AC
0x0c 0x0258 รายการที่เรียงลำดับเลข (AC)
0x0c 0x0259 การเริ่มต้นลำดับเลขใหม่ของ AC
0x0c 0x025a รายการสัญลักษณ์หัวข้อย่อย AC
0x0c 0x025b AC Promote
0x0c 0x025c เลื่อนระดับ AC
0x0c 0x025d มีเครื่องปรับอากาศ
0x0c 0x025e หมายเลข AC
0x0c 0x025f AC Cancel 0x00df KEY_CANCEL
0x0c 0x0260 แคตตาล็อก AC
0x0c 0x0261 AC Buy / Checkout
0x0c 0x0262 AC เพิ่มลงในรถเข็น
0x0c 0x0263 AC Expand
0x0c 0x0264 AC ขยายทั้งหมด
0x0c 0x0265 AC Collapse
0x0c 0x0266 AC ยุบทั้งหมด
0x0c 0x0267 แสดงตัวอย่างการพิมพ์ AC
0x0c 0x0268 AC Paste Special
0x0c 0x0269 โหมดแทรก AC
0x0c 0x026a การลบ AC
0x0c 0x026b ล็อก AC
0x0c 0x026c การปลดล็อกด้วยแอป AC
0x0c 0x026d AC Protect
0x0c 0x026e ยกเลิกการป้องกัน AC
0x0c 0x026f AC Attach Comment
0x0c 0x0270 AC Delete Comment
0x0c 0x0271 AC View Comment
0x0c 0x0272 AC Select Word
0x0c 0x0273 AC Select Sentence
0x0c 0x0274 AC เลือกย่อหน้า
0x0c 0x0275 AC Select Column
0x0c 0x0276 AC Select Row
0x0c 0x0277 ตาราง AC Select
0x0c 0x0278 AC Select Object
0x0c 0x0279 AC ทำซ้ำ / ซ้ำ 0x00b6 KEY_REDO
0x0c 0x027a การจัดเรียง AC
0x0c 0x027b AC จัดเรียงจากน้อยไปมาก
0x0c 0x027c AC Sort Descending
0x0c 0x027d ตัวกรอง AC
0x0c 0x027e ตั้งนาฬิกา AC
0x0c 0x027f นาฬิกามุมมอง AC
0x0c 0x0280 AC เลือกเขตเวลา
0x0c 0x0281 AC แก้ไขเขตเวลา
0x0c 0x0282 ตั้งปลุก AC
0x0c 0x0283 สัญญาณเตือน AC Clear
0x0c 0x0284 การปลุกที่เลื่อนของ AC
0x0c 0x0285 สัญญาณเตือนการรีเซ็ต AC
0x0c 0x0286 ซิงค์ AC
0x0c 0x0287 ส่ง/รับ AC
0x0c 0x0288 AC Send To
0x0c 0x0289 การตอบกลับ AC 0x00e8 KEY_REPLY
0x0c 0x028a AC Reply All
0x0c 0x028b AC Forward Msg 0x00e9 KEY_FORWARDMAIL
0x0c 0x028c AC Send 0x00e7 KEY_SEND
0x0c 0x028d ไฟล์แนบ AC
0x0c 0x028e การอัปโหลด AC
0x0c 0x028f การดาวน์โหลด AC (บันทึกเป้าหมายเป็น)
0x0c 0x0290 เส้นขอบของ AC
0x0c 0x0291 AC Insert Row
0x0c 0x0292 แทรกคอลัมน์ AC
0x0c 0x0293 ไฟล์แทรก AC
0x0c 0x0294 AC Insert Picture
0x0c 0x0295 แทรกออบเจ็กต์ AC
0x0c 0x0296 สัญลักษณ์การแทรก AC
0x0c 0x0297 บันทึกและปิด AC
0x0c 0x0298 เปลี่ยนชื่อ AC
0x0c 0x0299 การผสาน AC
0x0c 0x029a AC Split
0x0c 0x029b AC กระจายในแนวนอน
0x0c 0x029c AC กระจายแนวตั้ง

การแมปที่ไม่ใช่ HID เพิ่มเติม

การแมปเหล่านี้อธิบายฟังก์ชันที่ไม่ได้ปรากฏใน HID แต่มีรหัสคีย์ของ Linux

LKC ชื่อรหัสคีย์ Linux เวอร์ชัน AKC ชื่อโค้ดคีย์ Android หมายเหตุ
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

คีย์เดิมที่ไม่รองรับ

การแมปเหล่านี้ปรากฏใน Android เวอร์ชันก่อนหน้า แต่ไม่สอดคล้องกับ HID หรือใช้รหัสคีย์ Linux ที่ไม่เป็นไปตามมาตรฐาน ระบบไม่รองรับแล้ว

LKC ชื่อรหัสคีย์ Linux เวอร์ชัน AKC ชื่อโค้ดคีย์ Android หมายเหตุ
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 KEYCODE_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

หมายเหตุ

  1. รหัสคีย์ Android ที่เชื่อมโยงกับแป้นตัวอักษรและตัวเลขทั่วไปและแป้นสัญลักษณ์อาจแตกต่างกันไปตามรูปแบบและภาษาของแป้นพิมพ์ เนื่องด้วยเหตุผลทางประวัติศาสตร์ รหัสการสแกนจริงและการใช้งาน HID ที่เชื่อมโยงกับแป้นบนแป้นพิมพ์มักจะกำหนดตามตำแหน่ง แม้ว่าป้ายกำกับที่พิมพ์บนแป้นเหล่านั้นอาจแตกต่างกันไปตามภาษา

    ในแป้นพิมพ์ภาษาอังกฤษ (สหรัฐอเมริกา) (QWERTY) แป้นตัวอักษรด้านซ้ายบนจะมีป้ายกำกับว่า Q ในแป้นพิมพ์ภาษาฝรั่งเศส (AZERTY) แป้นในตําแหน่งเดียวกันจะมีป้ายกำกับว่า A แม้จะมีป้ายกำกับ แต่แป้นตัวอักษรด้านซ้ายบนของทั้ง 2 แป้นพิมพ์จะอ้างอิงโดยใช้การใช้งาน HID 0x07 0x0014 ซึ่งแมปกับรหัสคีย์ KEY_Q ของ Linux

    เมื่อ Android ได้รับการกําหนดค่าด้วยเลย์เอาต์แป้นพิมพ์ภาษาอังกฤษแบบสหรัฐอเมริกา รหัสคีย์ KEY_Q ของ Linux จะแมปกับรหัสคีย์ KEYCODE_Q ของ Android และจะแสดงอักขระ "Q" และ "q" อย่างไรก็ตาม เมื่อ Android ได้รับการกําหนดค่าด้วยเลย์เอาต์แป้นพิมพ์ภาษาฝรั่งเศส รหัสคีย์ KEY_Q ของ Linux จะแมปกับรหัสคีย์ KEYCODE_A ของ Android และจะแสดงอักขระ "A" และ "a"

    โดยปกติแล้ว รหัสคีย์ Android จะแสดงการตีความคีย์เฉพาะภาษา จึงอาจใช้รหัสคีย์ Android ที่แตกต่างกันสำหรับภาษาต่างๆ

  2. 0x0c 0x022f AC Zoom ได้รับการกําหนดใน HID เป็นการควบคุมเชิงเส้น แต่เคอร์เนลแมปเป็นคีย์ ซึ่งอาจไม่ถูกต้อง

  3. แป้นฟังก์ชัน KEY_FN_* ของ Linux จะแมปกับรหัสแป้นที่ง่ายขึ้น แต่ระบบจะส่งแป้นเหล่านี้โดยตั้งค่าบิตสถานะเมตา META_FUNCTION เป็น "จริง"

  4. ก่อน Android Ice Cream Sandwich 4.0 เลย์เอาต์แป้นพิมพ์เริ่มต้นมีการแมปสำหรับรหัสคีย์เพิ่มเติมบางรายการที่ไม่ได้กำหนดไว้ในส่วนหัวของเคอร์เนล Linux หลัก เราได้นําการแมปเหล่านี้ออกแล้วเนื่องจากรหัสคีย์ที่ก่อนหน้านี้ไม่ได้กําหนดความหมายเหล่านี้ได้รับความหมายใหม่ในเคอร์เนล Linux เวอร์ชันล่าสุด

แหล่งที่มา

  1. ตารางการใช้งาน USB HID v1.12
  2. เคอร์เนล Linux 2.6.39: include/linux/input.h, drivers/hid/hid-input.c
  3. Android ICS: qwerty.kl, Generic.kl, KeyEvent.java