วิธีปิดการใช้งาน / แมปแป้นคีย์บอร์ดในเคอร์เนลได้อย่างไร


10

ฉันต้องการตั้งค่าปุ่ม Caps Lock ใหม่เพื่อให้ไม่มีรหัสหรือรหัสกุญแจที่เลือก

เพื่อให้ได้พฤติกรรมเดียวกันในสภาพแวดล้อมที่แตกต่างกัน (X / Wayland / ไม่ใช่ TTY แบบกราฟิก) และสำหรับการเรียนรู้วิธีการทำสิ่งต่าง ๆ เช่นนั้นสิ่งสำคัญคือต้องทำในระดับเคอร์เนล (ดังนั้นxmodmap/ xkbโซลูชันจะไม่ช่วยฉัน)

ฉันจะทำยังไง

นอกจากนี้โมดูลเคอร์เนลจะเพียงพอหรือจะต้องมีการเปลี่ยนรหัสโดยตรง?

ขอบคุณสำหรับคำแนะนำใด ๆ !

คำตอบ:


8

ไม่จำเป็นต้องใช้โมดูลเคอร์เนลหรือแฮ็คเคอร์เนล

การใช้setkeycodesคุณสามารถเปลี่ยน scancode เป็นการแมปการแปลรหัสของเคอร์เนลที่กำลังทำงานซึ่งต้องมีสิทธิ์รูทแน่นอน

ในการจับคู่ Caps Lock (Scancode 0x3a) เพื่อพูดคีย์ด้วยตัวอักษร x (รหัส 45) คุณจะใช้setkeycodes 3a 45เป็นตัวอย่าง

การใช้showkey -sและshowkeyคุณควรจะสามารถค้นหา scancode และรหัสที่จำเป็น

ต้องแน่ใจว่าได้ออกคำสั่งจากคอนโซลไม่ใช่จากเทอร์มินัล

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