วิธีทำให้ฟังก์ชัน Alt_R ของฉันเป็นอีกหนึ่งการควบคุมบน Linux


1

ฉันต้องการใช้ Alt ขวาของฉันเป็นปุ่มควบคุมอื่นเพื่อใช้กับ Emacs

ฉันพยายามต่อไปนี้ (ด้วยการดัดแปลง) บทช่วยสอนนี้: http://earthviaradio.wordpress.com/2012/02/06/swapping-the-left-alt-and-ctrl-keys-in-ubuntu-11-10/

ดังนั้นตอนนี้ฉันมีสิ่งนี้ในไฟล์. Xmodmap ของฉัน:

clear control
keycode 108 = Control_R
add control = Control_L Control_R

หลังจากฉันรีสตาร์ท X.org ดูเหมือนว่าจะไม่มีผลกับการทำงานของคีย์ คีย์ 108 ยังคงทำงานเป็น Alt แต่เมื่อฉันสำรวจด้วยxevฉันสามารถเห็นการเปลี่ยนแปลงของฉันได้อย่างชัดเจน เมื่อฉันกด Alt ขวาฉันจะได้รับสิ่งนี้:

keycode 108 (keysym 0xffe4, Control_R)

ดูเหมือนว่าจะ "รู้" เกี่ยวกับการเปลี่ยนแปลงของฉัน แต่ไม่เคารพพวกเขา

คำตอบ:


1

ตกลงพบคำตอบที่ถูกต้องที่นี่https://askubuntu.com/questions/237564/remap-right-alt-to-behave-as-right-ctrl

ฉันจะโพสต์สิ่งที่ฉันมีใน. Xmodmap ของฉันทันทีสิ่งที่ฉันต้องการแตกต่างจากคำถามที่เชื่อมโยงอยู่เล็กน้อย ฉันไม่ต้องการแยก Ctrl ขวาของฉันเพียงเพื่อเพิ่มอีกอัน (Alt ขวา)

remove Mod1 = Alt_R
keycode 108 = Control_R
add Control = Control_R

นี่คือผลกระทบที่น้อยที่สุดบนแป้นพิมพ์ที่ฉันนึกได้ สิ่งที่ทำคือยกเลิกการผูก Alt_R เท่านั้นและผูก Control_R กับคีย์เดียวกัน สิ่งนี้ควรใช้กับลินุกซ์ใด ๆ ไม่ใช่เฉพาะอูบุนตูเป็นคำถามที่เชื่อมโยง ฉันทดสอบบน Ubuntu, Fedora และ OpenSUSE


สิ่งนี้ไม่ทำงานอีกต่อไปใน Ubuntu 16.04 ทางออกที่ง่ายอย่างหนึ่งคือการแก้ไข / usr / share / X11 / xkb / keycodes / evdev และเปลี่ยนรหัสคีย์สำหรับ RALT และ RCTL: <RCTL> = 108; <RALT> = 105; นี่อาจไม่ใช่โซลูชันที่ "ถูกต้อง" เนื่องจากจะเปลี่ยนไฟล์ทั้งระบบซึ่งอาจจะถูกเขียนทับในการอัปเดตแพ็กเกจเป็นต้น แต่ยังไม่พบวิธีที่ดีกว่า
loxs

1

หากคุณเป็นหนึ่งในคนที่โชคร้ายอย่างฉันที่ไม่สามารถรับ xmodmap เพื่อเปลี่ยน Alt ขวาด้วย Ctrl ขวาอาจจะช่วยได้

หากคุณกด Alt และ e ขวาและคุณได้éวิธีนี้เหมาะสำหรับคุณ (ต้องปรับปรุง)

รันสิ่งนี้ในเทอร์มินัล (ตรวจสอบรหัสของคุณด้วย xev):

xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"

จากนั้นใส่รหัสนี้ใน. Xmodmap ของคุณ:

remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R

รหัสนี้ตั้งค่าปุ่ม Alt_Gr ของคุณเป็น Alt_R จากนั้นจะสลับ Alt_r ด้วย Ctrl_R

หากคุณต้องการให้สิ่งนี้ยังคงอยู่หลังจากที่คุณออกจากระบบให้ใส่คำสั่งต่อไปนี้ในไฟล์เชลล์เริ่มต้นใด ๆ ของคุณตัวอย่างเช่น ~ / .profile:

if [ -f $HOME/.Xmodmap ]; then
  xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"
  /usr/bin/xmodmap $HOME/.Xmodmap
fi

แหล่งที่มา: คำถาม 1 คำถาม 2

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