โหมดคีย์บอร์ดดิบคืออะไร


27

ในการผสมผสานคีย์เวทย์มนตร์ sysrqมีการรวมกันalt+sysrq+rซึ่งตามวิกิพีเดียทำต่อไปนี้:

สลับแป้นพิมพ์จากโหมด raw โหมดที่ใช้โดยโปรแกรมเช่น X11 และ svgalib เป็นโหมด XLATE

โหมด raw คืออะไร และโหมด XLATE คืออะไร?

ฉันสามารถเปลี่ยนกลับเป็นโหมด raw ได้หรือไม่เมื่อฉันเปลี่ยนเป็นโหมด XLATE

ฉันจะรู้ได้อย่างไรว่าโหมดคีย์บอร์ดของฉันอยู่ที่ใด

คำตอบ:


23

เมื่อคุณกดปุ่มบนแป้นพิมพ์มันจะส่งรหัสตัวเลขไปยังคอมพิวเตอร์ที่เรียกว่ารหัสสแกน รหัสสแกนบอกคอมพิวเตอร์ว่ามีการกดคีย์ใด ตัวอย่างเช่นบนแป้นพิมพ์ทั่วไปของสหรัฐอเมริกาAปุ่มจะส่งรหัสสแกน 30 เมื่อคุณกด (และ 158 เมื่อคุณปล่อย) ไดรเวอร์แป้นพิมพ์รายงานรหัสเหล่านี้โดยตรงไปยังแอปพลิเคชันเมื่อแป้นพิมพ์อยู่ในโหมด raw (“ raw” หมายถึงไม่ได้ประมวลผลตรงไปยังแป้นพิมพ์) มีบางโปรแกรมที่ใช้โหมด raw และทำการประมวลผลคีย์บอร์ดของตัวเอง เซิร์ฟเวอร์เอ็กซ์ที่โดดเด่นมากที่สุดคนหนึ่ง

โปรแกรมส่วนใหญ่คาดว่าเมื่อคุณกดปุ่มAโปรแกรมจะอ่านตัวอักษรa(ASCII 97) และเมื่อคุณกดShift+ Aโปรแกรมจะอ่านA(ASCII 65) และเมื่อคุณกดCtrl+ Aโปรแกรมจะอ่านCtrl+Aตัวอักษร (ASCII 1) คีย์ที่ไม่มีตัวอักษรที่เกี่ยวข้องส่งลำดับการหลีกเลี่ยงเช่น\e[Afor Leftโดยที่\eตัวอักษร ESC (ASCII 27) ไดรเวอร์แป้นพิมพ์ทำการแปลนี้เมื่อแป้นพิมพ์อยู่ในโหมด ASCII หรือที่เรียกว่าโหมด XLATE (ย่อมาจากคำว่า "แปล") โหมด XLATE ช่วยให้แอปพลิเคชันป้อนอักขระด้วยค่าใช้จ่ายที่ไม่สามารถเข้าถึงความแตกต่างเช่น "กดแป้น Shift ซ้าย" หรือ Ctrl + Shift + A แตกต่างจาก Ctrl + A

kbd_modeช่วยให้คุณสามารถสลับระหว่างโหมดและแสดงให้เห็นโหมดปัจจุบันถ้าคุณเรียกมันโดยไม่โต้แย้งใด ๆ

การรวมคีย์ Magic SysRq นั้นใช้เพื่อกู้คืนจากสถานการณ์ที่น่ารังเกียจต่างๆ คีย์ผสมอย่างใดอย่างหนึ่งคือAlt+SysRq+Kการฆ่าโปรแกรมทั้งหมดบนคอนโซลเสมือนปัจจุบัน หากโปรแกรมนั้นวางคีย์บอร์ดในโหมด raw คุณจะไม่สามารถพิมพ์ที่พร้อมต์การล็อกอิน (ซึ่งมักจะปรากฏขึ้นขึ้นอยู่กับการกำหนดค่าระบบของคุณ) การกดAlt+SysRq+Rคืนค่าโหมด ASCII ปกติ (นอก X) ซึ่งคุณสามารถพิมพ์อักขระได้


9

คุณสามารถกำหนดประเภทของรหัสที่แป้นพิมพ์ของคุณส่ง สามารถทำได้ผ่านโหมดคีย์บอร์ด kbd_modeคุณสามารถเปลี่ยนโหมดของแป้นพิมพ์ที่มี

นี่คือตัวเลือกจาก manpage:

   -s: scancode mode (RAW),
   -k: keycode mode (MEDIUMRAW),
   -a: ASCII mode (XLATE),
   -u: UTF-8 mode (UNICODE).

มันง่ายกว่ามากสำหรับนักพัฒนาในการจับเหตุการณ์สำคัญเช่นกดปุ่ม Shift ซ้ายถ้าเขาสามารถรับ scancodes ของปุ่มกด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.