วิธีตั้งค่า Alt ที่เหมาะสมเพื่อทำงานเป็นคีย์ Win (Super)


11

แม้ว่าจะมีบทความต่าง ๆ มากมายที่จะเปลี่ยน Alt ซ้ายเพื่อจำลองการชนะ แต่ฉันต้องการแมป Alt ที่เหมาะสมเพื่อทำเช่นนั้น ฉันต้องการย้ายไปที่ 11.10 ฉันถอยกลับไปเป็นเอกภาพ 2d และไม่มีคีย์การชนะ ฉันไม่ได้รับรหัสในบทความที่ฉันพบ ... ความช่วยเหลือหรือคำแนะนำที่ดี?

คำตอบ:


12

คุณสามารถใช้xmodmapเพื่อทำการแมปปุ่มใดก็ได้บนแป้นพิมพ์ โดยเฉพาะอย่างยิ่งคุณสามารถแมปAlt ขวาจะทำหน้าที่เป็นซูเปอร์ / Winสำคัญ

สร้างไฟล์ที่มีชื่อ.Xmodmapในโฮมไดเร็กตอรี่ของคุณด้วยเนื้อหาต่อไปนี้:

! free up right-Alt for remapping
remove mod1 = Alt_R

! Right-Alt remapped to Super
clear mod4
keycode 108 = Super_R
add mod4 = Super_R

เมื่อคุณออกจากระบบแล้วเข้าสู่ระบบอีกครั้ง GNOME ควรถามคุณว่าคุณต้องการโหลด.Xmodmapไฟล์หรือไม่ ตอบว่า "ใช่" และคุณพร้อมที่จะไป (คุณจะถามเพียงครั้งเดียวเท่านั้น)

หรือคุณสามารถโหลดการ.Xmodmapกำหนดค่าจากเทอร์มินัลเมื่อใดก็ได้:

xmodmap .Xmodmap

มีบางสิ่งที่สามารถเปลี่ยนแปลงได้ขึ้นอยู่กับรุ่นของเซิร์ฟเวอร์ X และรุ่นของแป้นพิมพ์ รายการต่อไปนี้สามารถช่วยคุณปรับ.Xmodmapไฟล์ให้เหมาะกับสภาพแวดล้อมเฉพาะของคุณ

  1. ตรวจสอบว่าปุ่ม Alt ด้านขวาของคุณอยู่ในขั้นต้นในmod1 : ออกคำสั่ง xmodmapในหน้าต่างเทอร์มินัลและคุณควรได้ผลลัพธ์เช่น นี้

    xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):
    
    shift       Shift_L (0x32),  Shift_R (0x3e)
    lock        Caps_Lock (0x9),  Caps_Lock (0x4e)
    control     Control_L (0x25),  Control_R (0x69)
    mod1        Alt_L (0x40),  Alt_R (0x6c),  Alt_L (0xcc)
    mod2      
    mod3        Mode_switch (0xcb)
    mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce)
    mod5      
    

    หากAlt_Rแท็กไม่ปรากฏในบรรทัดmod1แต่เป็นแท็กอื่นให้ปรับค่า.Xmodmapตามความเหมาะสม

  2. ตรวจสอบว่าปุ่ม Alt ด้านขวาของคุณคือ keycode 108: ในหน้าต่างเทอร์มินัลพิมพ์คำสั่งxevจากนั้นโฟกัสหน้าต่างสี่เหลี่ยมเล็ก ๆ ที่โผล่ขึ้นมา หากคุณพิมพ์ปุ่ม Alt ด้านขวาคุณจะเห็นบรรทัดปรากฏขึ้นในหน้าต่างเทอร์มินัล มองหาบทฉันท์แบบนี้:

    KeyPress event, serial 25, synthetic NO, window 0x5000001,
        root 0xbd, subw 0x5000002, time 867397196, (53,48), root:(54,49),
        state 0x0, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    หมายเลขที่อยู่หลังkeycodeคำคือหมายเลขที่คุณต้องการใน.Xmodmapไฟล์ของคุณ เพื่อทำการแมปAltใหม่อีกครั้ง


ขอขอบคุณ. ฉันสามารถเก็บของเหลือไว้สำหรับทุกสิ่งที่ฉันต้องการ
deckoff

แปลกแม้ว่าวิธีการแก้ปัญหาเคยทำงาน แต่ตอนนี้มันหยุด ??? เมื่อฉันรีสตาร์ทพีซีและสร้างโซลูชันขึ้นใหม่จะใช้งานได้จนกว่าการรีสตาร์ทครั้งถัดไป ...
deckoff

1
@deckoff หมายความว่า.Xmodmapไฟล์ของคุณไม่ได้ถูกอ่านเมื่อเริ่มต้นเซสชัน X ลองเพิ่มxmodmap ~/.Xmodmapลงใน.gnomercไฟล์ (หรือเทียบเท่า) ของคุณ
Riccardo Murri

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

1
ใช่เพิ่ม xmodmap ~ / .Xmodmap ใน. GNomerc ทำงานแล้ว
deckoff

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