อุปกรณ์คีย์บอร์ด

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

เอกสารนี้อธิบายเกี่ยวกับแป้นพิมพ์กายภาพเท่านั้น โปรดดู 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 อาจถูกนำมาใช้เพื่อใช้นโยบายการเข้าถึงทั่วทั้งระบบระดับต่ำ

  6. InputDispatcher จัดคิวคีย์สำหรับการประมวลผลบนเธรดการจัดส่ง

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

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

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

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

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

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

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

ลักษณะการทำงานของแป้นพิมพ์ถูกกำหนดโดยเค้าโครงปุ่มของแป้นพิมพ์ ผังอักขระของปุ่ม และการกำหนดค่าอุปกรณ์อินพุต

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

คุณสมบัติ

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

รูปแบบแป้นพิมพ์

คำจำกัดความ: keyboard.layout = <ชื่อ>

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

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

โปรดดูเอกสารประกอบไฟล์เลย์เอาต์คีย์สำหรับรายละเอียดเพิ่มเติม

แป้นพิมพ์ characterMap

คำจำกัดความ: keyboard.characterMap = <ชื่อ>

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

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

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

แป้นพิมพ์ orientationAware

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

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

  • หากค่าเป็น 1 ปุ่มคีย์แพดทิศทางจะถูกหมุนเมื่อการวางแนวการแสดงผลที่เกี่ยวข้องเปลี่ยนไป

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

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

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

แป้นพิมพ์ในตัว

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

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

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

แป้นพิมพ์ในตัวจะกำหนดรหัสอุปกรณ์เป็น 0 เสมอ แป้นพิมพ์อื่นๆ ที่ไม่ได้มีมาให้ในตัวจะได้รับรหัสอุปกรณ์ที่ไม่เป็นศูนย์โดยเฉพาะ

การใช้ id 0 สำหรับแป้นพิมพ์ในตัวเป็นสิ่งสำคัญสำหรับการรักษาความเข้ากันได้กับฟิลด์ KeyCharacterMap.BUILT_IN_KEYBOARD ซึ่งระบุ id ของแป้นพิมพ์ในตัวและมีค่าเป็น 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 รูปแบบผังอักขระคีย์ก็แตกต่างกันมากเช่นกัน และเฟรมเวิร์กไม่รองรับแป้นพิมพ์แบบเต็มแบบพีซีหรือแป้นพิมพ์ภายนอก

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

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

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

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

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

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

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

ตารางรหัส

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

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

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

คอลัมน์บันทึกย่อหมายถึงบันทึกย่อที่โพสต์ไว้หลังตาราง

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

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

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

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

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

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

การใช้งาน HID ชื่อการใช้งาน HID ลค ชื่อรหัสคีย์ Linux เวอร์ชัน เอเคซี ชื่อรหัสคีย์ Android หมายเหตุ
0x07 0x0001 ข้อผิดพลาดของแป้นพิมพ์พลิกกลับ
0x07 0x0002 คีย์บอร์ด POST ล้มเหลว
0x07 0x0003 ข้อผิดพลาดของแป้นพิมพ์ไม่ได้กำหนด
0x07 0x0004 คีย์บอร์ด ก และ ก 0x001e คีย์_เอ 1.6 0x001d คีย์โค้ด_A 1
0x07 0x0005 คีย์บอร์ด บี และ บี 0x0030 คีย์_บี 1.6 0x001e คีย์โค้ด_B 1
0x07 0x0006 แป้นพิมพ์คและซี 0x002e คีย์_ซี 1.6 0x001f คีย์โค้ด_ซี 1
0x07 0x0007 แป้นพิมพ์ d และ D 0x0020 คีย์_ดี 1.6 0x0020 คีย์โค้ด_D 1
0x07 0x0008 คีย์บอร์ด อี และ อี 0x0012 คีย์_อี 1.6 0x0021 คีย์โค้ด_E 1
0x07 0x0009 แป้นพิมพ์ f และ F 0x0021 คีย์_เอฟ 1.6 0x0022 คีย์โค้ด_F 1
0x07 0x000a แป้นพิมพ์ g และ G 0x0022 คีย์_จี 1.6 0x0023 คีย์โค้ด_G 1
0x07 0x000b แป้นพิมพ์ h และ H 0x0023 คีย์_เอช 1.6 0x0024 คีย์โค้ด_H 1
0x07 0x000c คีย์บอร์ดฉันและฉัน 0x0017 คีย์_ไอ 1.6 0x0025 KEYCODE_I 1
0x07 0x000d คีย์บอร์ดเจและเจ 0x0024 คีย์_เจ 1.6 0x0026 คีย์โค้ด_เจ 1
0x07 0x000e แป้นพิมพ์ k และ K 0x0025 คีย์_เค 1.6 0x0027 KEYCODE_K 1
0x07 0x000f แป้นพิมพ์ l และ L 0x0026 คีย์_แอล 1.6 0x0028 คีย์โค้ด_แอล 1
0x07 0x0010 คีย์บอร์ด ม. และ ม 0x0032 คีย์_เอ็ม 1.6 0x0029 คีย์โค้ด_เอ็ม 1
0x07 0x0011 แป้นพิมพ์ n และ N 0x0031 คีย์_เอ็น 1.6 0x002a คีย์โค้ด_N 1
0x07 0x0012 แป้นพิมพ์ o และ O 0x0018 คีย์_โอ 1.6 0x002b คีย์โค้ด_O 1
0x07 0x0013 แป้นพิมพ์ p และ P 0x0019 คีย์_พี 1.6 0x002c คีย์โค้ด_พี 1
0x07 0x0014 แป้นพิมพ์ q และ Q 0x0010 คีย์_คิว 1.6 0x002d KEYCODE_Q 1
0x07 0x0015 แป้นพิมพ์ r และ R 0x0013 คีย์_อาร์ 1.6 0x002e คีย์โค้ด_R 1
0x07 0x0016 คีย์บอร์ด s และ S 0x001f คีย์_ส 1.6 0x002f KEYCODE_S 1
0x07 0x0017 แป้นพิมพ์ t และ T 0x0014 คีย์_ที 1.6 0x0030 คีย์โค้ด_T 1
0x07 0x0018 คีย์บอร์ดคุณและคุณ 0x0016 คีย์_ยู 1.6 0x0031 คีย์โค้ด_U 1
0x07 0x0019 คีย์บอร์ด v และ V 0x002f คีย์_วี 1.6 0x0032 คีย์โค้ด_วี 1
0x07 0x001a คีย์บอร์ด w และ W 0x0011 คีย์_ดับบลิว 1.6 0x0033 คีย์โค้ด_W 1
0x07 0x001b แป้นพิมพ์ x และ X 0x002d คีย์_เอ็กซ์ 1.6 0x0034 คีย์โค้ด_X 1
0x07 0x001c แป้นพิมพ์ y และ Y 0x0015 คีย์_ย 1.6 0x0035 KEYCODE_Y 1
0x07 0x001d แป้นพิมพ์ z และ Z 0x002c คีย์_ซี 1.6 0x0036 คีย์โค้ด_Z 1
0x07 0x001e แป้นพิมพ์ 1 และ ! 0x0002 คีย์_1 1.6 0x0008 คีย์โค้ด_1 1
0x07 0x001f แป้นพิมพ์ 2 และ @ 0x0003 คีย์_2 1.6 0x0009 คีย์โค้ด_2 1
0x07 0x0020 แป้นพิมพ์ 3 และ # 0x0004 คีย์_3 1.6 0x000a คีย์โค้ด_3 1
0x07 0x0021 แป้นพิมพ์ 4 และ $ 0x0005 คีย์_4 1.6 0x000b คีย์โค้ด_4 1
0x07 0x0022 แป้นพิมพ์ 5 และ % 0x0006 คีย์_5 1.6 0x000c คีย์โค้ด_5 1
0x07 0x0023 แป้นพิมพ์ 6 และ ^ 0x0007 คีย์_6 1.6 0x000d คีย์โค้ด_6 1
0x07 0x0024 แป้นพิมพ์ 7 และ & 0x0008 คีย์_7 1.6 0x000e คีย์โค้ด_7 1
0x07 0x0025 แป้นพิมพ์ 8 และ * 0x0009 คีย์_8 1.6 0x000f คีย์โค้ด_8 1
0x07 0x0026 แป้นพิมพ์ 9 และ ( 0x000a คีย์_9 1.6 0x0010 คีย์โค้ด_9 1
0x07 0x0027 แป้นพิมพ์ 0 และ ) 0x000b คีย์_0 1.6 0x0007 คีย์โค้ด_0 1
0x07 0x0028 การคืนคีย์บอร์ด (ENTER) 0x001c คีย์_เอนเตอร์ 1.6 0x0042 KEYCODE_ENTER 1
0x07 0x0029 แป้นพิมพ์หนี 0x0001 คีย์_เอสซี 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 คีย์_แท็บ 1.6 0x003d KEYCODE_TAB
0x07 0x002c สเปซบาร์ของคีย์บอร์ด 0x0039 คีย์_สเปซ 1.6 0x003e KEYCODE_SPACE
0x07 0x002d แป้นพิมพ์ - และ _ 0x000c KEY_MINUS 1.6 0x0045 KEYCODE_MINUS 1
0x07 0x002e แป้นพิมพ์ = และ + 0x000d คีย์_เท่ากับ 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_แบ็กสแลช 1.6 0x0049 KEYCODE_แบ็กสแลช 1
0x07 0x0032 แป้นพิมพ์ที่ไม่ใช่ US # และ ~ 0x002b KEY_แบ็กสแลช 1.6 0x0049 KEYCODE_แบ็กสแลช 1
0x07 0x0033 คีย์บอร์ด ; และ : 0x0027 KEY_เซมิโคลอน 1.6 0x004a KEYCODE_เซมิโคลอน 1
0x07 0x0034 แป้นพิมพ์ ' และ " 0x0028 KEY_อพอสโทรฟี 1.6 0x004b KEYCODE_APOSTROPHE 1
0x07 0x0035 แป้นพิมพ์ ` และ ~ 0x0029 คีย์_เกรฟ 3.0 0x0044 KEYCODE_GRAVE 1
0x07 0x0036 แป้นพิมพ์ และ < 0x0033 KEY_COMMA 1.6 0x0037 KEYCODE_COMMA 1
0x07 0x0037 แป้นพิมพ์ และ > 0x0034 คีย์_ดอท 1.6 0x0038 KEYCODE_PERIOD 1
0x07 0x0038 คีย์บอร์ด / และ ? 0x0035 คีย์_สแลช 1.6 0x004c KEYCODE_SLASH 1
0x07 0x0039 ล็อคแคปคีย์บอร์ด 0x003a KEY_CAPSLOCK 3.0 0x0073 KEYCODE_CAPS_LOCK
0x07 0x003a คีย์บอร์ด F1 0x003b คีย์_F1 3.0 0x0083 คีย์โค้ด_F1
"" "" "" "" 1.6 0x0052 KEYCODE_เมนู
0x07 0x003b คีย์บอร์ด F2 0x003c คีย์_F2 3.0 0x0084 คีย์โค้ด_F2
"" "" "" "" 1.6 0x0002 KEYCODE_SOFT_RIGHT
0x07 0x003c คีย์บอร์ด F3 0x003d คีย์_F3 3.0 0x0085 คีย์โค้ด_F3
"" "" "" "" 1.6 0x0005 KEYCODE_CALL
0x07 0x003d คีย์บอร์ด F4 0x003e คีย์_F4 3.0 0x0086 คีย์โค้ด_F4
"" "" "" "" 1.6 0x0006 KEYCODE_ENDโทร
0x07 0x003e คีย์บอร์ด F5 0x003f คีย์_F5 3.0 0x0087 คีย์โค้ด_F5
0x07 0x003f คีย์บอร์ด F6 0x0040 คีย์_F6 3.0 0x0088 คีย์โค้ด_F6
0x07 0x0040 คีย์บอร์ด F7 0x0041 คีย์_F7 3.0 0x0089 คีย์โค้ด_F7
0x07 0x0041 คีย์บอร์ด F8 0x0042 คีย์_F8 3.0 0x008a คีย์โค้ด_F8
0x07 0x0042 คีย์บอร์ด F9 0x0043 คีย์_F9 3.0 0x008b คีย์โค้ด_F9
0x07 0x0043 คีย์บอร์ด F10 0x0044 คีย์_F10 3.0 0x008c คีย์โค้ด_F10
"" "" "" "" 2.3 0x0052 KEYCODE_เมนู
0x07 0x0044 คีย์บอร์ด F11 0x0057 คีย์_F11 3.0 0x008d คีย์โค้ด_F11
0x07 0x0045 คีย์บอร์ด F12 0x0058 คีย์_F12 3.0 0x008e คีย์โค้ด_F12
0x07 0x0046 หน้าจอการพิมพ์แป้นพิมพ์ 0x0063 KEY_SYSRQ 3.0 0x0078 KEYCODE_SYSRQ
0x07 0x0047 ล็อคการเลื่อนแป้นพิมพ์ 0x0046 KEY_SCROLLLOCK 3.0 0x0074 KEYCODE_SCROLL_LOCK
0x07 0x0048 แป้นพิมพ์หยุดชั่วคราว 0x0077 คีย์_หยุดชั่วคราว 3.0 0x0079 KEYCODE_BREAK
0x07 0x0049 การแทรกแป้นพิมพ์ 0x006e KEY_INSERT 3.0 0x007c KEYCODE_INSERT
0x07 0x004a คีย์บอร์ดโฮม 0x0066 คีย์_โฮม 3.0 0x007a KEYCODE_MOVE_HOME
"" "" "" "" 1.6 0x0003 KEYCODE_HOME
0x07 0x004b คีย์บอร์ดเลื่อนหน้าขึ้น 0x0068 KEY_PAGEUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x004c แป้นพิมพ์ลบไปข้างหน้า 0x006f คีย์_ลบ 3.0 0x0070 KEYCODE_FORWARD_DEL
0x07 0x004d ปลายคีย์บอร์ด 0x006b คีย์_END 3.0 0x007b KEYCODE_MOVE_END
"" "" "" "" 1.6 0x0006 KEYCODE_ENDโทร
0x07 0x004e แป้นพิมพ์เลื่อนหน้าลง 0x006d KEY_PAGEDOWN 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x004f แป้นพิมพ์ลูกศรขวา 0x006a คีย์_ขวา 1.6 0x0016 KEYCODE_DPAD_RIGHT
0x07 0x0050 แป้นพิมพ์ลูกศรซ้าย 0x0069 คีย์_ซ้าย 1.6 0x0015 KEYCODE_DPAD_LEFT
0x07 0x0051 แป้นพิมพ์ลูกศรลง 0x006c คีย์_ลง 1.6 0x0014 KEYCODE_DPAD_DOWN
0x07 0x0052 ลูกศรขึ้นบนแป้นพิมพ์ 0x0067 คีย์_อัพ 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 และสิ้นสุด 0x004f KEY_KP1 3.0 0x0091 KEYCODE_NUMPAD_1
0x07 0x005a ปุ่มกด 2 และลูกศรลง 0x0050 KEY_KP2 3.0 0x0092 KEYCODE_NUMPAD_2
0x07 0x005b ปุ่มกด 3 และ PageDn 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 และโฮม 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 และส่วนแทรก 0x0052 KEY_KP0 3.0 0x0090 KEYCODE_NUMPAD_0
0x07 0x0063 ปุ่มกด และลบ 0x0053 KEY_KPDOT 3.0 0x009e KEYCODE_NUMPAD_DOT
0x07 0x0064 แป้นพิมพ์ที่ไม่ใช่แบบสหรัฐอเมริกา \ และ | 0x0056 KEY_102ND 4.0 0x0049 KEYCODE_แบ็กสแลช 1
0x07 0x0065 แอพพลิเคชั่นคีย์บอร์ด 0x007f KEY_COMPOSE 3.0 0x0052 KEYCODE_เมนู
"" "" "" "" 1.6 0x0054 KEYCODE_ค้นหา
0x07 0x0066 พลังของคีย์บอร์ด 0x0074 คีย์_พาวเวอร์ 1.6 0x001a คีย์โค้ด_พาวเวอร์
0x07 0x0067 ปุ่มกด = 0x0075 KEY_KPEQUAL 3.0 0x00a1 KEYCODE_NUMPAD_EQUALS
0x07 0x0068 คีย์บอร์ด F13 0x00b7 คีย์_F13
0x07 0x0069 คีย์บอร์ด F14 0x00b8 คีย์_F14
0x07 0x006a คีย์บอร์ด F15 0x00b9 คีย์_F15
0x07 0x006b คีย์บอร์ด F16 0x00ba คีย์_F16
0x07 0x006c คีย์บอร์ด F17 0x00bb คีย์_F17
0x07 0x006d คีย์บอร์ด F18 0x00bc คีย์_F18
0x07 0x006e คีย์บอร์ด F19 0x00bd คีย์_F19
0x07 0x006f คีย์บอร์ด F20 0x00บี คีย์_F20
0x07 0x0070 คีย์บอร์ด F21 0x00bf คีย์_F21
0x07 0x0071 คีย์บอร์ด F22 0x00c0 คีย์_F22
0x07 0x0072 คีย์บอร์ด F23 0x00c1 คีย์_F23
0x07 0x0073 คีย์บอร์ด F24 0x00c2 คีย์_F24
0x07 0x0074 ดำเนินการแป้นพิมพ์ 0x0086 คีย์_เปิด
0x07 0x0075 วิธีใช้แป้นพิมพ์ 0x008a คีย์_ช่วยเหลือ
0x07 0x0076 เมนูแป้นพิมพ์ 0x0082 KEY_PROPS
0x07 0x0077 เลือกแป้นพิมพ์ 0x0084 คีย์_ฟรอนต์
0x07 0x0078 แป้นพิมพ์หยุด 0x0080 คีย์_สต็อป 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x0079 คีย์บอร์ดอีกแล้ว 0x0081 คีย์_อีกครั้ง
0x07 0x007a เลิกทำคีย์บอร์ด 0x0083 คีย์_ยกเลิก
0x07 0x007b ตัดคีย์บอร์ด 0x0089 คีย์_คัท
0x07 0x007c สำเนาแป้นพิมพ์ 0x0085 คีย์_คัดลอก
0x07 0x007d วางคีย์บอร์ด 0x0087 คีย์_วาง
0x07 0x007e ค้นหาแป้นพิมพ์ 0x0088 คีย์_ค้นหา
0x07 0x007f ปิดเสียงคีย์บอร์ด 0x0071 คีย์_ปิดเสียง 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 การล็อคแป้นพิมพ์ การล็อคแบบเลื่อน
0x07 0x0085 ปุ่มกดจุลภาค 0x0079 KEY_KPCOMMA 3.0 0x009f KEYCODE_NUMPAD_COMMA
0x07 0x0086 ปุ่มกดเครื่องหมายเท่ากับ
0x07 0x0087 คีย์บอร์ดนานาชาติ1 0x0059 คีย์_โร
0x07 0x0088 คีย์บอร์ดนานาชาติ2 0x005d KEY_KATAKANAHIRAGANA
0x07 0x0089 คีย์บอร์ดนานาชาติ3 0x007c คีย์_เยน
0x07 0x008a คีย์บอร์ดนานาชาติ4 0x005c คีย์_เฮนคาน
0x07 0x008b คีย์บอร์ดนานาชาติ5 0x005e KEY_MUHENKAN
0x07 0x008c คีย์บอร์ดนานาชาติ6 0x005f KEY_KPJPCOMMA
0x07 0x008d คีย์บอร์ดนานาชาติ7
0x07 0x008e คีย์บอร์ดนานาชาติ8
0x07 0x008f คีย์บอร์ดนานาชาติ9
0x07 0x0090 แป้นพิมพ์ LAN1 0x007a KEY_HANGEUL
0x07 0x0091 แป้นพิมพ์ LAN2 0x007b คีย์_ฮันจา
0x07 0x0092 คีย์บอร์ด LAN3 0x005a KEY_KATAKANA
0x07 0x0093 คีย์บอร์ด LAN4 0x005b KEY_ฮิระงะนะ
0x07 0x0094 คีย์บอร์ด LAN5 0x0055 KEY_ZENKAKUฮันคาคุ
0x07 0x0095 คีย์บอร์ด LAN6
0x07 0x0096 คีย์บอร์ด LAN7
0x07 0x0097 แป้นพิมพ์ LAN8
0x07 0x0098 แป้นพิมพ์ LANG9
0x07 0x0099 การลบคีย์บอร์ดสำรอง
0x07 0x009a แป้นพิมพ์ SysReq/Attention
0x07 0x009b ยกเลิกแป้นพิมพ์
0x07 0x009c คีย์บอร์ดเคลียร์
0x07 0x009d คีย์บอร์ดก่อน
0x07 0x009e การกลับมาของคีย์บอร์ด
0x07 0x009f ตัวแยกแป้นพิมพ์
0x07 0x00a0 แป้นพิมพ์ออก
0x07 0x00a1 การทำงานของคีย์บอร์ด
0x07 0x00a2 แป้นพิมพ์ล้าง/อีกครั้ง
0x07 0x00a3 คีย์บอร์ด CrSel/อุปกรณ์ประกอบฉาก
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 แท็บปุ่มกด
0x07 0x00bb ปุ่มกด Backspace
0x07 0x00bc ปุ่มกด A
0x07 0x00bd ปุ่มกด B
0x07 0x00บี ปุ่มกด 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 0x00ซีซี ปุ่มกด #
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 ปุ่มกดแปดเหลี่ยม
0x07 0x00dc ปุ่มกดทศนิยม
0x07 0x00dd ปุ่มกดเลขฐานสิบหก
0x07 0x00e0 แป้นพิมพ์ควบคุมด้านซ้าย 0x001d KEY_LEFTCTRL 3.0 0x0071 KEYCODE_CTRL_LEFT
0x07 0x00e1 แป้นพิมพ์เลื่อนไปทางซ้าย 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 แป้นพิมพ์เลื่อนไปทางขวา 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_STOPซีดี 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00ea 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x07 0x00eb 0x00a3 KEY_ถัดไป 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x07 0x00ec 0x00a1 KEY_EJECTซีดี 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 คีย์_ปิดเสียง 3.0 0x00a4 KEYCODE_VOLUME_MUTE
0x07 0x00f0 0x0096 คีย์_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x07 0x00f1 0x009e คีย์_ย้อนกลับ 1.6 0x0004 KEYCODE_BACK
0x07 0x00f2 0x009f คีย์_ฟอร์เวิร์ด 3.0 0x007d KEYCODE_FORWARD
0x07 0x00f3 0x0080 คีย์_สต็อป 3.0 0x0056 KEYCODE_MEDIA_STOP
0x07 0x00f4 0x0088 คีย์_ค้นหา
0x07 0x00f5 0x00b1 KEY_SCROLLUP 3.0 0x005c KEYCODE_PAGE_UP
0x07 0x00f6 0x00b2 KEY_เลื่อนลง 3.0 0x005d KEYCODE_PAGE_DOWN
0x07 0x00f7 0x00b0 คีย์_แก้ไข
0x07 0x00f8 0x008e คีย์_สลีป
0x07 0x00f9 0x0098 คีย์_คอฟฟี่ 4.0 0x001a คีย์โค้ด_พาวเวอร์
0x07 0x00fa 0x00โฆษณา คีย์_รีเฟรช
0x07 0x00fb 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_เครื่องคิดเลข

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

การใช้งาน HID ชื่อการใช้งาน HID ลค ชื่อรหัสคีย์ Linux เวอร์ชัน เอเคซี ชื่อรหัสคีย์ Android หมายเหตุ
0x01 0x0081 ระบบปิดเครื่อง 0x0074 คีย์_พาวเวอร์ 1.6 0x001a คีย์โค้ด_พาวเวอร์
0x01 0x0082 ระบบสลีป 0x008e คีย์_สลีป 4.0 0x001a คีย์โค้ด_พาวเวอร์
0x01 0x0083 ระบบตื่นขึ้น 0x008f คีย์_เวคอัพ 4.0 0x001a คีย์โค้ด_พาวเวอร์
0x01 0x0084 เมนูบริบทของระบบ
0x01 0x0085 เมนูหลักของระบบ
0x01 0x0086 เมนูแอประบบ
0x01 0x0087 เมนูระบบช่วยเหลือ
0x01 0x0088 เมนูระบบออก
0x01 0x0089 เมนูระบบ เลือก
0x01 0x008a เมนูระบบด้านขวา
0x01 0x008b เมนูระบบด้านซ้าย
0x01 0x008c เมนูระบบขึ้น
0x01 0x008d เมนูระบบลง
0x01 0x008e ระบบรีสตาร์ทเย็น
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 ระบบแสดงทั้งสองอย่าง
0x01 0x00b4 ระบบแสดงผลแบบคู่
0x01 0x00b5 ระบบสลับการแสดงผล Int/Ext
0x01 0x00b6 ระบบสลับการแสดงผล Prim./Sec.
0x01 0x00b7 ระบบแสดงผล LCD ปรับสเกลอัตโนมัติ

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

การใช้งาน HID ชื่อการใช้งาน HID ลค ชื่อรหัสคีย์ Linux เวอร์ชัน เอเคซี ชื่อรหัสคีย์ Android หมายเหตุ
0x0c 0x0030 พลัง
0x0c 0x0031 รีเซ็ต
0x0c 0x0032 นอน
0x0c 0x0033 นอนหลับหลังจาก
0x0c 0x0034 โหมดสลีป 0x008e คีย์_สลีป 4.0 0x001a คีย์โค้ด_พาวเวอร์
0x0c 0x0040 เมนู 0x008b คีย์_เมนู 1.6 0x0052 KEYCODE_เมนู
0x0c 0x0041 เลือกเมนู
0x0c 0x0042 เมนูขึ้น
0x0c 0x0043 เมนูลง
0x0c 0x0044 เมนูด้านซ้าย
0x0c 0x0045 เมนูด้านขวา 0x0181 คีย์_ขวา
0x0c 0x0046 เมนูหนี
0x0c 0x0047 เพิ่มมูลค่าเมนู
0x0c 0x0048 ค่าเมนูลดลง
0x0c 0x0067 สลับการแสดงภาพซ้อนภาพ 0x00ab KEYCODE_WINDOW เพิ่มใน aosp/1365553
0x0c 0x0069 ปุ่มเมนูสีแดง 0x18e คีย์_เรด 0x00b7 KEYCODE_PROG_RED เพิ่มใน aosp/1388616
0x0c 0x006a ปุ่มเมนูสีเขียว 0x18f คีย์_กรีน 0x00b8 KEYCODE_PROG_GREEN เพิ่มใน aosp/1388616
0x0c 0x006b ปุ่มเมนูสีน้ำเงิน 0x191 คีย์_บลู 0x00ba KEYCODE_PROG_BLUE เพิ่มใน aosp/1388616
0x0c 0x006c ปุ่มเมนูสีเหลือง 0x190 คีย์_เหลือง 0x00b9 KEYCODE_PROG_YELLOW เพิ่มใน aosp/1388616
0x0c 0x0081 กำหนดการเลือก
0x0c 0x0082 ขั้นตอนของโหมด
0x0c 0x0083 เรียกคืนครั้งสุดท้าย 0x0195 คีย์_สุดท้าย 0xe5 KEYCODE_LAST_CHANNEL เพิ่มใน aosp/1365551
0x0c 0x0084 เข้าช่อง
0x0c 0x0085 สั่งซื้อหนัง
0x0c 0x0088 สื่อ เลือก คอมพิวเตอร์ 0x0178 คีย์_พีซี
0x0c 0x0089 สื่อ เลือก ทีวี 0x0179 คีย์_ทีวี 3.0 0x00aa คีย์โค้ด_ทีวี
0x0c 0x008a สื่อ เลือก WWW 0x0096 คีย์_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x008b สื่อ เลือกดีวีดี 0x0185 คีย์_ดีวีดี
0x0c 0x008c สื่อ เลือก โทรศัพท์ 0x00a9 คีย์_โทรศัพท์ 3.0 0x0005 KEYCODE_CALL
0x0c 0x008d คู่มือโปรแกรมเลือกสื่อ 0x016a คีย์_โปรแกรม 3.0 0x00ac KEYCODE_GUIDE
0x0c 0x008e สื่อ เลือก โทรศัพท์วิดีโอ 0x01a0 KEY_VIDEOPHONE
0x0c 0x008f สื่อเลือกเกม 0x01a1 คีย์_เกม
0x0c 0x0090 สื่อ เลือก ข้อความ 0x018c คีย์_บันทึก
0x0c 0x0091 สื่อเลือกซีดี 0x017f คีย์_ซีดี
0x0c 0x0092 สื่อ เลือก VCR 0x017b KEY_VCR
0x0c 0x0093 สื่อเลือกจูนเนอร์ 0x0182 คีย์_จูนเนอร์
0x0c 0x0094 ล้มเลิก 0x00ae คีย์_ออก
0x0c 0x0095 ช่วย 0x008a คีย์_ช่วยเหลือ
0x0c 0x0096 สื่อเลือกเทป 0x0180 คีย์_เทป
0x0c 0x0097 มีเดียเลือกสายเคเบิล 0x017a คีย์_TV2
0x0c 0x0098 สื่อเลือกดาวเทียม 0x017d KEY_SAT
0x0c 0x0099 สื่อ เลือก ความปลอดภัย
0x0c 0x009a สื่อ เลือก หน้าแรก 0x016e KEY_PVR 3.0 0x00โฆษณา 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 สื่อ เลือก SAP
0x0c 0x00a0 วีซีอาร์ พลัส 0x017c KEY_VCR2
0x0c 0x00a1 ครั้งหนึ่ง
0x0c 0x00a2 รายวัน
0x0c 0x00a3 รายสัปดาห์
0x0c 0x00a4 รายเดือน
0x0c 0x00b0 เล่น 0x00cf คีย์_เพลย์ 3.0 0x007e KEYCODE_MEDIA_PLAY
0x0c 0x00b1 หยุดชั่วคราว 0x0077 คีย์_หยุดชั่วคราว 3.0 0x0079 KEYCODE_BREAK
0x0c 0x00b2 บันทึก 0x00a7 KEY_บันทึก 3.0 0x0082 KEYCODE_MEDIA_RECORD
0x0c 0x00b3 กรอไปข้างหน้า 0x00d0 KEY_FASTFORWARD 3.0 0x005a KEYCODE_MEDIA_FAST_FORWARD
0x0c 0x00b4 กรอกลับ 0x00a8 คีย์_ย้อนกลับ 3.0 0x0059 KEYCODE_MEDIA_REWIND
0x0c 0x00b5 สแกนแทร็กถัดไป 0x00a3 KEY_ถัดไป 3.0 0x0057 KEYCODE_MEDIA_NEXT
0x0c 0x00b6 สแกนเพลงก่อนหน้า 0x00a5 KEY_PREVIOUSSONG 3.0 0x0058 KEYCODE_MEDIA_PREVIOUS
0x0c 0x00b7 หยุด 0x00a6 KEY_STOPซีดี 3.0 0x0056 KEYCODE_MEDIA_STOP
0x0c 0x00b8 ดีดออก 0x00a1 KEY_EJECTซีดี 3.0 0x0081 KEYCODE_MEDIA_EJECT
0x0c 0x00b9 เล่นแบบสุ่ม
0x0c 0x00ba เลือก แผ่นดิสก์
0x0c 0x00bb ใส่แผ่นดิสก์
0x0c 0x00bc ทำซ้ำ 0x01b7 KEY_MEDIA_REPEAT
0x0c 0x00บี ติดตามปกติ
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 คีย์_ปิดเสียง 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 เครื่องมือ
0x0c 0x0182 การกำหนดค่าปุ่มที่ตั้งโปรแกรมได้ AL 0x009c KEY_BOOKMARKS 3.0 0x00ae KEYCODE_BOOKMARK
0x0c 0x0183 การกำหนดค่าการควบคุมผู้บริโภค AL 0x00ab คีย์_คอนฟิก 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x0184 อัลโปรแกรมประมวลผลคำ 0x01a5 KEY_WORDPROCESSOR
0x0c 0x0185 โปรแกรมแก้ไขข้อความอัล 0x01a6 KEY_EDITOR
0x0c 0x0186 สเปรดชีต AL 0x01a7 KEY_SPREADSHEET
0x0c 0x0187 ตัวแก้ไขกราฟิก AL 0x01a8 KEY_GRAPHICSEDITOR
0x0c 0x0188 แอปนำเสนออัล 0x01a9 คีย์_การนำเสนอ
0x0c 0x0189 แอปฐานข้อมูล AL 0x01aa คีย์_ฐานข้อมูล
0x0c 0x018a เครื่องอ่านอีเมล์อัล 0x009b คีย์_เมล 1.6 0x0041 KEYCODE_ENVELOPE
0x0c 0x018b ผู้อ่านข่าวอัล 0x01ab คีย์_ข่าว
0x0c 0x018c อัลข้อความเสียง 0x01ac KEY_ข้อความเสียง
0x0c 0x018d อัลผู้ติดต่อ / สมุดที่อยู่ 0x01โฆษณา KEY_ADDRESSBOOK 4.0.3 0x00cf KEYCODE_CONTACTS
0x0c 0x018e อัลปฏิทิน / ตารางเวลา 0x018d KEY_CALENDAR 4.0.3 0x00d0 KEYCODE_CALENDAR
0x0c 0x018f งาน AL / ผู้จัดการโครงการ
0x0c 0x0190 AL Log / วารสาร / บัตรลงเวลา
0x0c 0x0191 สมุดเช็คอัล / การเงิน 0x00db คีย์_การเงิน
0x0c 0x0192 เครื่องคิดเลขอัล 0x008c KEY_CALC 4.0.3 0x00d2 KEYCODE_เครื่องคิดเลข
0x0c 0x0193 AL A/V จับภาพ / เล่น
0x0c 0x0194 เบราว์เซอร์เครื่องท้องถิ่น AL 0x0090 คีย์_ไฟล์
0x0c 0x0195 เบราว์เซอร์ AL LAN/WAN
0x0c 0x0196 อัลอินเทอร์เน็ตเบราว์เซอร์ 0x0096 คีย์_WWW 1.6 0x0040 KEYCODE_EXPLORER
0x0c 0x0197 AL เครือข่ายระยะไกล / การเชื่อมต่อ ISP
0x0c 0x0198 การประชุมเครือข่ายอัล
0x0c 0x0199 อัลเครือข่ายแชท 0x00d8 คีย์_แชท
0x0c 0x019a อัลโทรศัพท์ / โทรออก
0x0c 0x019b อัล ล็อกออน
0x0c 0x019c อัล ออกจากระบบ 0x01b1 KEY_LOGOFF
0x0c 0x019d อัลเข้าสู่ระบบ / ออกจากระบบ
0x0c 0x019e AL Terminal Lock / สกรีนเซฟเวอร์ 0x0098 คีย์_คอฟฟี่ 4.0 0x001a คีย์โค้ด_พาวเวอร์
0x0c 0x019f แผงควบคุมอัล
0x0c 0x01a0 โปรเซสเซอร์บรรทัดคำสั่ง AL / เรียกใช้
0x0c 0x01a1 กระบวนการ AL / ตัวจัดการงาน
0x0c 0x01a2 AL เลือกงาน / แอปพลิเคชัน
0x0c 0x01a3 AL งานถัดไป / แอปพลิเคชัน
0x0c 0x01a4 AL งานก่อนหน้า / แอปพลิเคชัน
0x0c 0x01a5 AL งานหยุดชั่วคราว / แอป
0x0c 0x01a6 ศูนย์ช่วยเหลือแบบรวม AL 0x008a คีย์_ช่วยเหลือ
0x0c 0x01a7 เอกสารอัล 0x00eb KEY_DOCUMENTS
0x0c 0x01a8 อัลพจนานุกรม
0x0c 0x01a9 พจนานุกรมอัล
0x0c 0x01aa อัลเดสก์ท็อป
0x0c 0x01ab การตรวจสอบการสะกดอัล 0x01b0 KEY_สะกดตรวจสอบ
0x0c 0x01ac อัลไวยากรณ์ตรวจสอบ
0x0c 0x01ad สถานะไร้สายอัล
0x0c 0x01ae เค้าโครงแป้นพิมพ์อัล
0x0c 0x01af การป้องกันไวรัสอัล
0x0c 0x01b0 การเข้ารหัสอัล
0x0c 0x01b1 อัลสกรีนเซฟเวอร์
0x0c 0x01b2 อัล สัญญาณเตือน
0x0c 0x01b3 อัลนาฬิกา
0x0c 0x01b4 อัลไฟล์เบราว์เซอร์
0x0c 0x01b5 สถานะพลังงานอัล
0x0c 0x01b6 อัลอิมเมจเบราว์เซอร์ 0x00e2 คีย์_สื่อ 3.0 0x004f KEYCODE_HEADSETHOOK
0x0c 0x01b7 เบราว์เซอร์เสียง AL 0x00d5 คีย์_เสียง 4.0.3 0x00d1 KEYCODE_MUSIC
0x0c 0x01b8 อัล เบราว์เซอร์ภาพยนตร์
0x0c 0x01b9 ผู้จัดการสิทธิ์ดิจิทัลของ AL
0x0c 0x01ba อัลกระเป๋าสตางค์ดิจิตอล
0x0c 0x01bc อัลการส่งข้อความโต้ตอบแบบทันที 0x01ae KEY_MESSENGER
0x0c 0x01bd เบราว์เซอร์คุณสมบัติ / เคล็ดลับของ AL OEM 0x0166 KEY_INFO
0x0c 0x01บี อัล OEM ช่วยเหลือ
0x0c 0x01bf ชุมชนออนไลน์อัล
0x0c 0x01c0 เบราว์เซอร์เนื้อหาความบันเทิง AL
0x0c 0x01c1 เบราว์เซอร์ช้อปปิ้งออนไลน์ AL
0x0c 0x01c2 ข้อมูล AL SmartCard / ความช่วยเหลือ
0x0c 0x01c3 เบราว์เซอร์ตลาด AL / การเงิน
0x0c 0x01c4 AL เบราว์เซอร์ข่าว Corp. ที่กำหนดเอง
0x0c 0x01c5 เบราว์เซอร์กิจกรรมออนไลน์ AL
0x0c 0x01c6 อัลวิจัย / ค้นหาเบราว์เซอร์
0x0c 0x01c7 เครื่องเล่นเสียงอัล
0x0c 0x0201 AC ใหม่ 0x00b5 key_new
0x0c 0x0202 AC Open 0x0086 key_open
0x0c 0x0203 AC ปิด 0x00ce key_close
0x0c 0x0204 ทางออก AC 0x00ae key_exit
0x0c 0x0205 เพิ่ม AC
0x0c 0x0206 AC ลดน้อยที่สุด
0x0c 0x0207 AC บันทึก 0x00ea key_save
0x0c 0x0208 พิมพ์ AC 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 PAST 0x0087 key_paste
0x0c 0x021e AC เลือกทั้งหมด
0x0c 0x021f ค้นหา AC 0x0088 key_find
0x0c 0x0220 AC ค้นหาและแทนที่
0x0c 0x0221 การค้นหา AC 0x00d9 key_search 1.6 0x0054 keycode_search
0x0c 0x0222 AC ไปที่ 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 ไปข้างหน้า 0x009f key_forward 3.0 0x007d keycode_forward
0x0c 0x0226 หยุด AC 0x0080 key_stop 3.0 0x0056 keycode_media_stop
0x0c 0x0227 รีเฟรช AC 0x00Ad key_refresh
0x0c 0x0228 ลิงค์ก่อนหน้า
0x0c 0x0229 ลิงค์ AC ถัดไป
0x0c 0x022a บุ๊กมาร์ก AC 0x009c key_bookmarks 3.0 0x00ae keycode_bookmark
0x0c 0x022b ประวัติ AC
0x0c 0x022c การสมัครสมาชิก AC
0x0c 0x022d AC ซูมเข้า 0x01a2 key_zoomin
0x0c 0x022e AC ซูมออก 0x01a3 key_zoomout
0x0c 0x022f ซูม AC 0x01a4 key_zoomreset 2
0x0c 0x0230 มุมมองเต็มหน้าจอ AC
0x0c 0x0231 มุมมองปกติ AC
0x0c 0x0232 AC View Toggle
0x0c 0x0233 AC เลื่อนขึ้น 0x00b1 key_scrollup 3.0 0x005c keycode_page_up
0x0c 0x0234 AC เลื่อนลง 0x00b2 key_scrolldown 3.0 0x005d keycode_page_down
0x0c 0x0236 AC PAN ซ้าย
0x0c 0x0237 AC PAN RIGHT
0x0c 0x0239 หน้าต่างใหม่ AC
0x0c 0x023a กระเบื้อง AC ในแนวนอน
0x0c 0x023b กระเบื้อง AC ในแนวตั้ง
0x0c 0x023c รูปแบบ AC
0x0c 0x023d แก้ไข AC
0x0c 0x023e AC Bold
0x0c 0x023f AC italics
0x0c 0x0240 ขีดเส้นใต้
0x0c 0x0241 ac strikethrough
0x0c 0x0242 AC Subscript
0x0c 0x0243 AC SuperScript
0x0c 0x0244 AC CAPS ทั้งหมด
0x0c 0x0245 AC หมุน
0x0c 0x0246 ปรับขนาด AC
0x0c 0x0247 AC Flip Horizontal
0x0c 0x0248 AC Flip Dripical
0x0c 0x0249 กระจก AC ในแนวนอน
0x0c 0x024a AC Mirror Vertical
0x0c 0x024b ตัวอักษร AC เลือก
0x0c 0x024c สีฟอนต์ AC
0x0c 0x024d ขนาดตัวอักษร AC
0x0c 0x024e AC ปรับซ้าย
0x0c 0x024f AC Justify Center H
0x0c 0x0250 AC ปรับให้เหมาะสม
0x0c 0x0251 AC ปรับบล็อก H H
0x0c 0x0252 AC ปรับด้านบน
0x0c 0x0253 AC Justify Center V
0x0c 0x0254 AC ปรับด้านล่าง
0x0c 0x0255 AC ปรับบล็อก V
0x0c 0x0256 การเยื้อง AC ลดลง
0x0c 0x0257 เพิ่มเยื้อง AC
0x0c 0x0258 รายการหมายเลข AC
0x0c 0x0259 การรีสตาร์ท AC
0x0c 0x025a รายการกระสุน AC
0x0c 0x025b โปรโมต AC
0x0c 0x025c ลดระดับ AC
0x0c 0x025d AC ใช่
0x0c 0x025e AC NO
0x0c 0x025f AC ยกเลิก 0x00df key_cancel
0x0c 0x0260 แคตตาล็อก AC
0x0c 0x0261 AC Buy / Checkout
0x0c 0x0262 AC เพิ่มลงในรถเข็น
0x0c 0x0263 AC ขยายตัว
0x0c 0x0264 AC ขยายทั้งหมด
0x0c 0x0265 AC Collapse
0x0c 0x0266 AC ล่มสลายทั้งหมด
0x0c 0x0267 ตัวอย่างการพิมพ์ AC
0x0c 0x0268 AC Paste พิเศษ
0x0c 0x0269 โหมดแทรก AC
0x0c 0x026a AC DELETE
0x0c 0x026b นาฬิกา
0x0c 0x026c ปลดล็อก AC
0x0c 0x026d ป้องกัน AC
0x0c 0x026e AC ไม่มีการตรวจสอบ
0x0c 0x026f AC แนบความคิดเห็น
0x0c 0x0270 AC ลบความคิดเห็น
0x0c 0x0271 AC ดูความคิดเห็น
0x0c 0x0272 AC Select Word
0x0c 0x0273 AC เลือกประโยค
0x0c 0x0274 AC เลือกย่อหน้า
0x0c 0x0275 คอลัมน์ AC Select
0x0c 0x0276 AC Select Row
0x0c 0x0277 ตารางเลือก AC
0x0c 0x0278 AC SELECT OBJECT
0x0c 0x0279 AC redo / ทำซ้ำ 0x00b6 key_redo
0x0c 0x027a จัดเรียง AC
0x0c 0x027b เรียงลำดับ AC
0x0c 0x027c เรียงลำดับ AC
0x0c 0x027d ตัวกรอง AC
0x0c 0x027e นาฬิกาตั้งค่า AC
0x0c 0x027f นาฬิกาดู AC
0x0c 0x0280 AC เลือกเขตเวลา
0x0c 0x0281 โซนเวลาแก้ไข AC
0x0c 0x0282 AC Set Alarm
0x0c 0x0283 AC Clear Alarm
0x0c 0x0284 AC Snooze Alarm
0x0c 0x0285 AC RESET Alarm
0x0c 0x0286 ซิงโครไนซ์ AC
0x0c 0x0287 AC ส่ง/รับ
0x0c 0x0288 AC ส่งไปที่
0x0c 0x0289 ตอบกลับ AC 0x00e8 key_reply
0x0c 0x028a AC ตอบกลับทั้งหมด
0x0c 0x028b AC forward msg 0x00e9 key_forwardmail
0x0c 0x028c AC ส่ง 0x00e7 key_send
0x0c 0x028d ไฟล์แนบ AC
0x0c 0x028e อัพโหลด AC
0x0c 0x028f ดาวน์โหลด AC (บันทึกเป้าหมายเป็น)
0x0c 0x0290 AC Set Borders
0x0c 0x0291 แถวแทรก AC
0x0c 0x0292 คอลัมน์แทรก AC
0x0c 0x0293 ไฟล์แทรก AC
0x0c 0x0294 รูปภาพแทรก AC
0x0c 0x0295 วัตถุแทรก AC
0x0c 0x0296 สัญลักษณ์แทรก AC
0x0c 0x0297 AC บันทึกและปิด
0x0c 0x0298 การเปลี่ยนชื่อ AC
0x0c 0x0299 AC Merge
0x0c 0x029a AC แยก
0x0c 0x029b AC แจกจ่ายในแนวนอน
0x0c 0x029c AC แจกจ่ายในแนวตั้ง

การแมปที่ไม่ใช่ความซ่อน

การแมปเหล่านี้อธิบายฟังก์ชั่นที่ไม่ปรากฏใน 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 รุ่นก่อนหน้า แต่ไม่สอดคล้องกับรหัสคีย์ 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 ที่เกี่ยวข้องกับปุ่มลั่นและตัวอักษรทั่วไปและคีย์สัญลักษณ์อาจแตกต่างกันไปตามเค้าโครงและภาษาของแป้นพิมพ์ ด้วยเหตุผลทางประวัติศาสตร์รหัสการสแกนทางกายภาพและการใช้งานที่เกี่ยวข้องกับคีย์บนแป้นพิมพ์มักจะถูกกำหนดไว้ในตำแหน่งแม้ว่าฉลากที่พิมพ์บนคีย์เหล่านั้นอาจแตกต่างกันไปในแต่ละภาษา

    บนคีย์บอร์ดภาษาอังกฤษของสหรัฐอเมริกา (QWERTY) คีย์ตัวอักษรซ้ายบนซ้ายมีป้ายกำกับ Q. บนแป้นพิมพ์ภาษาฝรั่งเศส (Azerty) คีย์ในตำแหน่งเดียวกันมีป้ายกำกับ ถูกอ้างถึงการใช้การใช้งาน HID 0x07 0x0014 ซึ่งแมปกับรหัสคีย์ Linux key_q

    เมื่อ Android ได้รับการกำหนดค่าด้วยเค้าโครงแป้นพิมพ์ภาษาอังกฤษของสหรัฐอเมริการหัส Linux Key Key_Q จะถูกแมปกับรหัส Android Key Key_Q และจะสร้างอักขระ 'Q' และ 'Q' อย่างไรก็ตามเมื่อ Android ได้รับการกำหนดค่าด้วยเค้าโครงแป้นพิมพ์ฝรั่งเศสรหัส Linux Key Key_Q จะถูกแมปกับ Key Key รหัส Android Key_a และจะสร้างอักขระ 'A' และ 'A'

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

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

  3. คีย์ฟังก์ชัน Linux KEY_FN_* ถูกแมปกับรหัสคีย์ที่ง่ายขึ้น แต่จะถูกส่งด้วย Bit State META_FUNCTION Meta ที่ตั้งค่าเป็น TRUE

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

แหล่งที่มา

  1. USB ซ่อนตารางการใช้งาน v1.12
  2. Linux 2.6.39 เคอร์เนล: รวม/linux/input.h, ไดรเวอร์/hid/hid-input.c
  3. Android ICS: qwerty.kl, generic.kl, keyevent.java