Xorg: ฉันจะจับคู่ AltGr กับ CapsLock Key ได้อย่างไร (เพื่อสลับสัญลักษณ์ระดับที่ 3)


12

กับคนอื่น ๆ CapsLockผมไม่จำเป็นต้อง AltGrฉันต้องการที่จะเปลี่ยนมันดังกล่าวว่ามีการทำงานของ ฉันใช้ Kubuntu 9.10 แต่ฉันคิดว่าจะต้องมีวิธีแก้ปัญหาที่เป็นอิสระกระจาย

ฉันพยายามแล้วที่จะใช้หรือsetxkbmap xmodmapเมื่อใช้xmodmapอย่างน้อยฉันก็จัดการCapsLockให้มันทำงานDelโดยทำตามคำอธิบายนี้

แต่ฉันไม่สามารถกำหนดAltGrพฤติกรรมให้CapsLockสำเร็จได้

คำตอบ:


14

ฉันรู้ว่าคำถามนี้เก่า แต่ถ้าใครสะดุดมันอีกครั้งมีทางออกอื่น:

setxkbmap -option "lv3:caps_switch"

สำหรับรายการตัวเลือกทั้งหมดอ่านหัวข้อ "OPTIONS" ของ

man xkeyboard-config

6

ขึ้นอยู่กับคำตอบของเดนนิสและเล่นรอบกับฉันพบว่าวลีมายากลน่าจะเป็นxevISO_Level3_Shift

อย่างน้อยก็ใช้งานได้สำหรับฉัน:

xmodmap -e "keycode 66 = ISO_Level3_Shift"

ตอนนี้ฉันไม่ตกอยู่ในอันตรายที่จะทำลายนิ้วมือของฉันในขณะที่พิมพ์ [,], {,} และร่วมกับรูปแบบแป้นพิมพ์ภาษาเยอรมันของฉัน

แก้ไข:ตอนนี้ใช้ตัวเลือก -e ของ xmodmap


ขอบคุณ! ฉันกำลังมองหาสิ่งนี้ตั้งแต่ย้ายไป Ubuntu จาก Windows หากไม่มี JavaScript นี้เป็นความเจ็บปวดบนแป้นพิมพ์ภาษาเยอรมัน
gzost

1

ลองใช้วิธีใดวิธีหนึ่งต่อไปนี้ (แทน keysim หรือ keycode ของปุ่ม caps-lock ของคุณหากมันแตกต่างกัน):

xmodmap -e "keysym 0xffe5 = Mode_switch"

หรือ

xmodmap -e "keycode 66 = Mode_switch"

ขอบคุณ บรรทัดของคุณไม่ทำงานโดยตรงด้วยเหตุผลสองประการ: 1. xmodmap ต้องการไฟล์ดังนั้นฉันต้องไพพ์สตริงและอ่านจาก stdin 2. Mode_switch ได้รับการกำหนดเรียบร้อยแล้ว แต่ไม่ได้ส่งผลในการปรับปรุงระดับที่ 3 จากนั้นฉันก็เล่นกับ xev อีกครั้ง เมื่อฉันรู้ว่าสตริง "Mode_switch" ปรากฏขึ้นที่นั่นมันเป็นเรื่องง่ายที่จะกด AltGr และดูสิ่งที่สามารถอ่านได้แทนที่จะอยู่ในตำแหน่งที่สอดคล้องกัน ISO_Level3_Shift->
cknoll

@basweber: ฉันลืมตัว-eเลือก ฉันแก้ไขคำตอบของฉันแล้ว
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

ใช่. มันสะอาดกว่าวิธีการวางท่อมาก
cknoll

1

คำตอบที่ยาวคือคำตอบที่ดีที่สุดสำหรับเดสก์ท็อปสมัยใหม่เช่น Gnome เนื่องจาก Gnome ใช้ xkb และเขียนทับการกำหนดค่า xmodmap โดยค่าเริ่มต้น (เช่น xmodmap กำลังจะออกมาและไม่สนับสนุนใน Wayland) น่าเสียดายที่มันจะยังคงทำงานจนกว่าจะรีบูต

คุณสามารถใช้ตัวเลือกนี้อย่างถาวรสำหรับเดสก์ท็อป Gnome ของคุณด้วยคำสั่งนี้:

gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:caps_switch']"

แน่นอนคุณสามารถทำการเปลี่ยนแปลงนี้ได้อย่างถาวรและแม้กระทั่งทั่วทั้งระบบโดยไม่ต้องใช้ Gnome หากคุณใช้ Gnome คุณควรใช้คำสั่งด้านบนเพื่อป้องกัน Gnome ไม่ให้เขียนทับการตั้งค่านี้ สำหรับArchคุณสามารถเพิ่มไฟล์ที่/etc/X11/xorg.conf.d/90-custom-kbd.confมีเนื้อหาต่อไปนี้:

Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"
    Option "XKbOptions" "lv3:caps_switch"
EndSection

ฉันถือว่าสิ่งนี้แตกต่างระหว่างการแจกแจงดังนั้นระยะทางของคุณอาจแตกต่างกันไป

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