Xmodmap: อักขระหกตัวต่อหนึ่งคีย์?


3

จาก OpenSUSE wiki :

(ตราบใดที่ Mode_switch / ISO_Level3_Shift ได้รับการกำหนดให้กับรหัสของ Alt Gr - หากคุณกำหนด Mode_switch และ ISO_Level3_Shift ให้กับปุ่มอื่นคุณสามารถกำหนดได้สูงสุดหกตัวอักษรสำหรับหนึ่งคีย์!)

โปรดบอกขั้นตอนทั่วไปในการรับตัวอักษร 6 ตัวเป็นหนึ่ง ey (k เปลี่ยนเป็นक) หรือไม่?

คำตอบ:


3

ใส่บรรทัดดังต่อไปนี้ในของคุณ ~/.Xmodmap:

keycode 0x2D = k K U03BA U039A U0915 U05DB U0137 U0136

สามารถรับรหัสได้จากการรัน xev และกดปุ่ม หากคุณเริ่มต้นจากสถานะที่รู้จักตัวอย่างเช่นรูปแบบแป้นพิมพ์ของสหรัฐอเมริกาคุณสามารถใช้ keysym ที่ได้รับการกำหนดให้กับคีย์แล้วเช่นเดียวกับใน

keycode k = k K U03BA U039A U0915 U05DB U0137 U0136

8 คอลัมน์ทางด้านขวาของ = เครื่องหมายต่อเนื่องจะสอดคล้องกับคีย์เปล่า เปลี่ยน , AltGr , AltGr + เปลี่ยน และทำซ้ำสี่สิ่งเหล่านี้ด้วย ISO_Level3_Shift เช่นกัน

คำทางด้านขวาของ = เข้าสู่ระบบเป็น keysyms คุณสามารถค้นหาชื่อกุญแจที่ถูกต้องใน /usr/include/X11/keysymdef.h (หรือที่ใดก็ตามที่การกระจายของคุณทำให้ keysymdef.h ); ค้นหาบรรทัดของแบบฟอร์ม #define XK_foo 0xabcd /* ... */: foo คือชื่อ keysym คุณสามารถใช้ U1234 ได้ 1234 คือจำนวนอักขระ Unicode ในเลขฐานสิบหก (สำหรับอักขระ "แปลกใหม่" เช่น ซึ่งมักเป็นตัวเลือกเดียว)

คำเตือนครั้งสุดท้าย: มีสองวิธีในการกำหนดค่าแป้นพิมพ์ภายใต้ X. Xmodmap เป็นวิธีที่ง่าย Xkb เป็นอีกวิธีหนึ่ง; มันมีประสิทธิภาพมากขึ้นซับซ้อนกว่ามากและมีเอกสารน้อยกว่า บางครั้งการตั้งค่า xkb สามารถป้องกันการตั้งค่า xmodmap จากการทำงาน: การกำหนดค่า xkb สามารถส่งผลกระทบต่อสิ่งที่ปรับเปลี่ยนคอลัมน์ xmodmap สอดคล้องกับ

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