Troquei Ctrl da esquerda e Caps Lock criando ~ / .Xmodmap
keycode 66 = Control_L
keycode 37 = Caps_Lock
clear Lock
clear Control
add Lock = Caps_Lock
add Control = Control_L Control_R
executando $ xmodmap ~/.Xmodmap
. Pressionando a tecla Ctrl esquerda funciona como esperado, alternando Caps Lock . Pressionar a tecla Caps Lock funciona em geral para atalhos simples, como Ctrl + N.
No entanto, quando várias teclas modificadoras são necessárias (por exemplo, Alt + Ctrl + I ), isso só funciona se eu pressionar o primeiro. Se eu pressionar a tecla Caps Lock primeiro, não haverá efeito.
Eu posso redefinir o layout do teclado com $ setxkbmap -layout us
e o atalho acima funcionará bem. Se eu executar $ xmodmap ~/.Xmodmap
novamente, tenho o mesmo problema.
Eu também acho que mesmo para combinações de modificadores únicos, eu tenho que segurar a tecla Caps Lock por uma fração de segundo a mais do que eu usei com a vanilla Ctrl chave para se registrar. É provavelmente da ordem de 0,01 segundo, mas é notável o suficiente que sinais incorretos estão sendo enviados um em dez vezes.
Além disso, se eu trocar Ctrl e Caps Lock usando $ setxkbmap -layout us -option 'ctrl:swapcaps'
, não notarei mais o problema com os vários modificadores. No entanto, eu ainda quero resolver o problema com a solução xmodmap, já que estou adquirindo um novo teclado em breve, e precisarei trocar Ctrl por uma chave diferente.
= EDIT =
Eu tentei outro teclado (Das Keyboard) e parece que o segundo problema de ter que segurar Caps Lock por uma fração de segundo a mais do que eu fiz com Ctrl é provavelmente um problema de hardware com o teclado original (um teclado com fio Apple Aluminum). No entanto, o primeiro problema com vários modificadores ainda está presente.
= EDIT =
Eu testei diferentes pressionamentos de tecla no xev. Segurar Alt pressionando a tecla Caps Lock resulta em keycode 66 (keysym 0x0, NoSymbol)
, ao contrário de keycode 66 (keysym 0xffe3, Control_L)
quando
Alt não é mantido.