我是开发人员,当前正在将Ubuntu Linux与PyCharm IDE结合使用来开发网站。为了提高键入性能,我考虑将CapsLock更改为Hyper_L,然后使用xmodmap将其分配给mod3。之后,我想将“ i”键的mod3映射到“ 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)
然后我从mod4中删除Hyper_L
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键盘