Sou desenvolvedor e atualmente estou usando o Ubuntu Linux com PyCharm IDE para desenvolvimento de website. Para melhorar o desempenho da digitação, considere alterar o CapsLock para Hyper_L e atribuí-lo ao mod3 usando o xmodmap. Depois disso, quero mapear o mod3 da tecla 'i' para 'Up'. Até agora, o que eu fiz é:
xmodmap -e "keysym Caps_Lock = Hyper_L"
a saída é assim:
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)
então eu removo o Hyper_L do mod4
xmodmap -e "remove Mod4 = Hyper_L"
Depois tentei atribuir Hyper_L ao mod3
xmodmap -e "add Mod3 = Hyper_L"
No entanto, recebi o erro da seguinte forma:
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
Então, qual foi o problema aqui? Como eu posso fazer isso funcionar? Minha abordagem está certa? Ou devo usar uma abordagem diferente para usar o mod3 para chaves personalizadas?
PS Estou usando o teclado Microsoft Natural Ergonomic 7000
Sei que essa pergunta é bastante antiga, mas preciso compartilhar minha solução, pois (frustrantemente) a resposta de heymantthew não funcionou para mim. O que acabou funcionando para mim:
Isso habilitará o capslock como a tecla mod3, defina o layout como "us" e defina a variante como "intl". Se você usar um shell interativo como o fish, poderá pressionar tab após "-layout", "-option" ou "-variant" para obter uma lista completa dos possíveis parâmetros.
Antecedentes adicionais: tentei a abordagem xmodmap há um ano em uma máquina Ubuntu executando o gerenciador de janelas i3, alternando do ambiente padrão do gnome. Eu havia modificado o layout do teclado "nos" xkb, especificamente o internacional com chaves inoperantes - funcionou bem ao usar o gnome-desktop-manager (há uma opção para definir caps-lock como a tecla mod3), mas não consegui faça com que funcione com o xmodmap. Este foi o meu erro: eu pensei que a GUI do gdm estava usando o xmodmap para mapear o caps lock para o mod3, mas, na realidade, estava definindo essa opção X11. Agora que mudei para Arch, fui forçado a descobrir.
Eu recomendo a todos que planejam mexer com isso para ler as páginas de manual nos layouts localectl, xmodmap, setxkbmap e testing adicionando uma parte de suspensão e reversão:
isso me salvou uma boa quantidade de tempo.
Ainda não entendo como a abordagem xmodmap não funciona, no entanto. Espero que isso ajude alguém.
fonte