I am developer and currently I am using Ubuntu Linux with PyCharm IDE for development of website. In order to improve typing performance I consider change CapsLock to Hyper_L and assign it to mod3 using xmodmap. After this I want to map mod3 for 'i' key to 'Up'. So far what I did is:
xmodmap -e "keysym Caps_Lock = Hyper_L"
output is like this:
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)
then I remove Hyper_L from mod4
xmodmap -e "remove Mod4 = Hyper_L"
Afterwards I tried assign Hyper_L to mod3
xmodmap -e "add Mod3 = Hyper_L"
However I got error as following:
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
So, what was the problem here? How I can make it work? Does my approach is right? Or I should use different approach in order to use mod3 for custom keys?
P.S. I am using Microsoft Natural Ergonomic 7000 keyboard