ฉันจะล้างการตั้งค่า xmodmap ได้อย่างไร


42

สิ่งที่ชื่อถาม ฉันจะล้างการตั้งค่า xmodmap ได้อย่างไร

ฉันมีโมเดล IBM M และ xkeycaps ได้เข้าไปในหัวของมันว่าEndกุญแจของฉันไม่ได้เป็นกุญแจเลย xevรายงานการกดแป้นพิมพ์เมื่อฉันใช้มันดังนั้นฉันจึงรู้ว่าเหตุการณ์กำลังถูกสร้างขึ้นโดยแป้นพิมพ์ นอกจากนี้ xkeycaps ยังคิดว่าปุ่มลูกศรของฉันนั้นไร้ประโยชน์และเห็นได้ชัดว่าแถบเลื่อนใช้งานไม่ได้ดังนั้นจึงเลื่อนลงเท่านั้นดังนั้นฉันไม่สามารถเลื่อนขึ้นเพื่อค้นหาแป้นพิมพ์ IBM ที่อาจใกล้เคียงกับแผนที่ของฉันดังนั้นฉันจึงสามารถแก้ไขแป้นได้ .

ดังนั้นฉันพยายามรีเซ็ตแป้นพิมพ์ของฉันเป็นการตั้งค่าเริ่มต้น แต่ xmodmap manpage จะไม่มี "รีเซ็ตทั้งหมด" หรือ "ล้างทั้งหมด" หรืออะไรก็ตามในลักษณะนั้น (ที่ฉันสามารถหาได้)

คำตอบ:


65

xmodmapไม่มีแนวคิดเรื่องสถานะดังนั้นจึงไม่มีวิธีรีเซ็ตสถานะโดยตรง คุณสามารถจำลองได้โดยใช้xmodmap -pke >.xmodmap.origก่อนทำการเปลี่ยนแปลงใด ๆ (แม้ว่าจะไม่บันทึกแผนที่ตัวปรับซึ่งคุณจะต้องบันทึกและเรียกคืนด้วยตนเอง) - แต่มันสายเกินไปสำหรับสิ่งนั้น

โดยทั่วไประบบที่ทันสมัยไม่ได้ใช้xmodmapเพื่อกำหนดค่าแป้นพิมพ์ setxkbmapเป็นวิธีที่ทันสมัยในการทำ; และนั่นจะรีเซ็ตการผูกเมื่อเรียกใช้ ดังนั้นคุณอาจสามารถใช้setxkbmap -layout usเพื่อรีเซ็ตสิ่งต่าง ๆ ให้เป็นปกติ /etc/X11/xorg.confที่สมบูรณ์มากขึ้นจะไปตรวจสอบสำหรับการตั้งค่าเริ่มต้นใน ตัวอย่างเช่นในระบบของฉัน

jinx:718 Z$ sed -n '/Identifier.*Keyboard/,/EndSection/p' /etc/X11/xorg.conf
        Identifier      "Generic Keyboard"
        Driver  "kbd"
        Option  "XkbModel"      "pc105"
        Option  "XkbLayout"     "us"
        Option  "XkbOptions"    "grp:alt_shift_toggle"
EndSection

คำสั่งที่เกี่ยวข้องคือ

setxkbmap -model pc105 -layout us -option grp:alt_shift_toggle

ถ้ามีรายการในการส่งออกคุณจะผ่านความคุ้มค่าด้วยXkbVariant -variantสิ่งหนึ่งที่ต้องระวังคือตัวเลือกนั้นได้รับการจัดการเป็นพิเศษ: คุณสามารถตั้งค่าได้เพียงหนึ่งตัวเลือกต่อ-optionพารามิเตอร์และคุณต้องใช้-option ''เพื่อรีเซ็ตพารามิเตอร์ก่อน ดังนั้นการตั้งค่าใหม่อย่างเต็มที่เมื่อมีสิ่งที่XkbOptions "grp:alt_shift_toggle,grp:ctrls_toggle"คุณต้องการ

setxkbmap -model pc105 -layout us -option '' -option grp:alt_shift_toggle -option grp:ctrls_toggle

30
setxkbmap -layout usรีเซ็ตกุญแจของฉันแล้วขอบคุณ!
ด่าน

8
อีกตัวเลือกที่มีประโยชน์มากที่ฉันค้นพบคือsetxkbmap -queryพิมพ์การตั้งค่าปัจจุบันในรูปแบบของ xkb ซึ่งช่วยให้ฉันกำหนดค่าแป้นพิมพ์ Apple ของฉันตามที่ต้องการจากเทอร์มินัล
metakermit

1
ระวังด้วยคำสั่งsetxkbmap -layout usนั้นเนื่องจากมันจะกู้คืนusเลย์เอาต์สำหรับการสนับสนุนทุกภาษาที่คุณมี เช่นเค้าโครงคีย์ภาษาฝรั่งเศสของฉันพร้อมกับรูปแบบแป้นภาษาอังกฤษของฉันกลายเป็น qwerty insteady of azerty ..
vdegenne

คำถามนี้เกี่ยวกับ xmodmap ไม่ใช่ xkb แอปพลิเคชันเหล่านี้มีความขัดแย้งและหากระบบของคุณใช้ xmodmap (เช่นเดียวกับ Ubuntu สมัยใหม่) คุณอาจสับสนหลังจากใช้คำสั่ง xkb รีเซ็ตแล้วลองปรับเปลี่ยนการเชื่อมโยงคีย์ใน xmodmap (เหมือนที่ฉันทำ)
Michael Fulton


1

การทดสอบกับxmodmapผม messed up xmodmap -en "keysym BackSpace = Delete"การตั้งค่าของฉันสำคัญโดยใช้ คิดว่าการ-nตั้งค่าสถานะจะทำให้ไม่มีการดำเนินการเนื่องจากman xmodmapหน้าระบุว่า

-n      This  option indicates that xmodmap should not change the mappings, but should display what it would
               do, like make(1) does when given this option.

อย่างไรก็ตามคำสั่งทำให้Deleteกุญแจของฉันไร้ประโยชน์

หลังจากอ่านข้างต้นฉันเพิ่งพิมพ์setxkbmapโดยหวังว่ามันจะแสดงตัวเลือกให้ฉันในขณะที่ในความเป็นจริงมันกลับมาทันทีโดยไม่มีผลลัพธ์จากนั้นDeleteกุญแจของฉันก็ทำงานได้อย่างน่าอัศจรรย์อีกครั้ง!

ดังนั้นดูเหมือนว่า

setxkbmap

เพียงอย่างเดียวจะทำงาน ...


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