
Gostaria de executar um script bash quando pressiono caps lock no KDE5. Eu fiz isso funcionar muito bem no KDE4. Posso facilmente atribuir Caps Lock como gatilho para um comando no system settings -> shortcuts -> custom shortcuts
, mas simplesmente não funciona.
Existem algumas opções em system settings -> input devices -> keyboard -> advanced
"Comportamento da tecla Caps Lock", mas todas são bastante específicas, como usar maiúsculas como uma tecla modificadora adicional. Desabilitar também desativa completamente, em vez de apenas desabilitar a funcionalidade caps, o que é um problema comesta abordagem.
Existe uma solução alternativa para remapear corretamente os limites?
Responder1
Não é a solução ideal, mas mapear o caps lock para outra tecla, como 'F22', permite xmodmap
que os atalhos personalizados do KDE capturem o caps lock. Em seguida, desative a funcionalidade de caps:
Adicionar à ~/.Xmodmap
:
! May need the following line. On ubuntu this seems to cause an error.
! remove Lock = Caps_Lock
keycode 66 = F22
clear Lock
(Execute xmodmap ~/.Xmodmap
para analisar imediatamente, em vez de registrar novamente)
Não tenho certeza se ambas as linhas de bloqueio são necessárias, mas já gastei tempo suficiente nisso.
Usar setxkbmap
também funciona, mas não tem a conveniência do .Xmodmap
. Eu tentei inseri-lo ~/.bash_profile
, embora isso não pareça funcionar lá. Eu suspeito que o KDE entra em ação e reativa o Caps Lock após sua execução.
setxkbmap -option ctrl:nocaps
xmodmap -e "keycode 66 = F22"