ปัญหา: ฉันต้องการแก้ไข / กำหนดรูปแบบแป้นพิมพ์ของฉันใหม่ (pc105 se) เพื่อให้เมื่อฉันกดแป้นบางปุ่มด้วย mod3 (super) และ mod4 (hyper) อักขระที่แตกต่างกันจะถูกส่งกลับมากกว่าปกติ
เช่น.
Keycode 61 สร้าง 'ลบ' (-) เมื่อกดตามปกติและ 'ขีดล่าง' (_) เมื่อกดปุ่ม Shift เมื่อกดด้วยกลุ่มตัวแก้ไขแรก (AltGr) 'dead_belowdot' และ 'dead_abovedot' จะถูกสร้างขึ้น (โดยไม่มี / พร้อมกะ)
สิ่งที่ฉันต้องการก็คือ paranthesis ด้านซ้ายหรือ paranthesis ด้านขวา (โดยไม่ต้อง / พร้อม shift) เมื่อฉันกดปุ่มด้วยปุ่ม Super (win) แล้วกดและเครื่องหมายทับ / แบ็กสแลชสำหรับปุ่ม Hyper (ซึ่งฉันได้กำหนดค่าเป็น Caps Lock)
ฉันพยายามเพิ่ม .Xmodmap
ไปยังไดเรกทอรีบ้านของฉันและเรียกใช้ด้วย xmodmap ~/.Xmodmap
ใช้ไวยากรณ์ต่อไปนี้
keycode 61 = minus underscore a b c d e f g h i j k l m n o p
อย่างไรก็ตามนั่นจะทำให้ AltGr ส่งผลให้ c / d ในขณะที่ win / caps lock ยังคงให้ผลลัพธ์ใน - / _ เท่านั้น
ฉันได้ลองแก้ไข / usr / share / X11 / xkb / symbols / se โดยตรงและลองการเปลี่ยนแปลงต่อไปนี้:
key <BKSL> { [apostrophe, asterisk, acute, multiply], [a,b,c,d], [e,f,g,h], [i,j,k,l]};
แต่สิ่งที่เกิดขึ้นคือ '*´ × '*' * (สำหรับปกติ, altgr, win และ caps lock ตามลำดับ) ฉันได้ลองแล้ว
key <BKSL> { [apostrophe, asterisk, acute, multiply, a,b,c,d, e,f,g,h, i,j,k,l]};
แต่ทันทีที่มีมากกว่าสี่ฟิลด์ที่ระบุดูเหมือนว่าจะทำลายคีย์ทั้งหมดและคีย์จะกลับไปสู่พฤติกรรมเริ่มต้น pc105 (us?)
เนื่องจากฉันไม่พบอะไรใน stackoverflow superuser หรือ google เกี่ยวกับวิธีจัดการกับสถานการณ์ของฉันฉันถามที่นี่
นี่เป็นของฉัน xmodmap -pm
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Hyper_L (0x42), Hyper_L (0xcf)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)