ฉันเป็นนักพัฒนาและขณะนี้ฉันกำลังใช้ Ubuntu Linux กับ PyCharm IDE สำหรับการพัฒนาเว็บไซต์ เพื่อปรับปรุงประสิทธิภาพการพิมพ์ฉันพิจารณาเปลี่ยน CapsLock เป็น Hyper_L และกำหนดให้ mod3 โดยใช้ xmodmap หลังจากนี้ฉันต้องการแมป mod3 สำหรับปุ่ม 'i' ถึง 'Up' จนถึงสิ่งที่ฉันทำคือ:
xmodmap -e "keysym Caps_Lock = Hyper_L"
ผลลัพธ์เป็นเช่นนี้:
shift Shift_L (0x32), Shift_R (0x3e)
lock Hyper_L (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
แล้วฉันจะลบ Hyper_L จาก mod4
xmodmap -e "remove Mod4 = Hyper_L"
หลังจากนั้นฉันลองกำหนด Hyper_L ให้ mod3
xmodmap -e "add Mod3 = Hyper_L"
อย่างไรก็ตามฉันมีข้อผิดพลาดดังต่อไปนี้:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 118 (X_SetModifierMapping)
Value in failed request: 0x17
Serial number of failed request: 11
Current serial number in output stream: 11
แล้วปัญหาอะไรที่นี่? ฉันจะทำให้มันทำงานได้อย่างไร แนวทางของฉันถูกต้องหรือไม่ หรือฉันควรใช้วิธีการต่าง ๆ เพื่อใช้ mod3 สำหรับคีย์ที่กำหนดเอง
PS ฉันใช้แป้นพิมพ์ Microsoft Natural Ergonomic 7000