การใช้ setkeycodes เพื่อทำแผนที่กดและปล่อยให้กับ“ ปุ่ม” ที่แตกต่างกัน


10

ฉันมีแป้นพิมพ์ที่มีล้อเลื่อน แต่ไม่สามารถใช้งานได้บน Ubuntu และxevคำสั่งไม่แสดงอะไรเลยเมื่อเคลื่อนที่ แต่ด้วยdmesgคำสั่งฉันพบสิ่งนี้:

เมื่อเลื่อนล้อเลื่อนขึ้น:

atkbd serio0: Unknown key pressed (translated set 2, code 0x8b on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e00b <keycode>' to make it known.

เมื่อเลื่อนล้อเลื่อนลง:

atkbd serio0: Unknown key released (translated set 2, code 0x8b on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e00b <keycode>' to make it known.

ดูเหมือนว่าจะเป็นรหัสเดียวกัน แต่การกด / ปล่อยจะเปลี่ยนหากเลื่อนขึ้น / ลง

xmodmap -pke | grep croll แสดงให้เห็นว่า:

keycode  78 = Scroll_Lock NoSymbol Scroll_Lock
keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp
keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown

ฉันจะกำหนดค่าอย่างไรเมื่อ "กด" คือ keycode 185 และเมื่อ "ปล่อย" เป็น keycode 186


สิ่งที่เป็นdmesgคำสั่งที่คุณใช้? ฉันพยายามค้นหาอย่างอื่นที่นี่: askubuntu.com/questions/450066/…
rubo77

คำตอบ:


3

คุณควรใช้setkeycodesเพื่อกำหนดรหัส

http://www.jveweb.net/en/archives/2011/01/configure-unrecognized-keys-in-linux.html

รหัสการสแกนของคีย์ไม่ถูกจดจำนี่คือไม่พบรหัสกุญแจที่เกี่ยวข้องกับรหัสสแกนค่าสำคัญที่นี่จะปรากฏขึ้นถัดจากคำสั่ง setkeycodes ดังนั้นคุณต้องกำหนดe00b

ค้นหารหัสที่ไม่ได้ใช้ด้วย

xmodmap -pke | less

จากนั้นกำหนดรหัสคีย์ด้วยคำสั่ง

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