Eu tenho um programa X11 que pega caps-lock e o usa. O problema é que eu quero desativar a alternância regular de caps-lock, mas isso parece desativar a chave.
Então, o que quer que o X11 obtenha para pressionar uma tecla caps-lock, ele ainda deve ser obtido (sem desativar a chave ou remapear para outra chave), mas sem que nada traduza a tecla em um caps-toggle (que pode estar no nível do kernel? )
Eu tentei mudar o scancode, mas isso apenas reformulou a chave. Também removi a entrada do capslock xmodmap
, mas isso também desativou o caps.
Como posso dizer ao kernel para ignorar a tecla caps-chave (escrever sua funcionalidade regular), mas ainda assim passar a mensagem para o X?
Apenas para adicionar um pouco mais de detalhes:
O 'programa' que estou tentando executar é humanizado 'enso'. Quando não há chave, recebo o erro "CRITICAL: root: não foi possível encontrar a chave quase-modo". Quando não há erro, eu posso usar o enso com caps, mas o sofar não descobriu como desativar a funcionalidade de caps enquanto o enso ainda é capaz de chegar lá.
setxkbmap -option ctrl:nocaps
remaps paraControl_L
, por exemplo.Respostas:
Acho que tenho uma técnica para desabilitar a alternância da Capslocktecla, mas não desabilitá-la completamente, ou remapear para outra tecla do teclado.
Se você usar o comando:
O teclado não irá mais alternar. Confirmei isso no meu laptop executando o Fedora 14, o LED não acende mais e a Capslockfuncionalidade normal se foi.
No entanto, o uso do xev ainda mostra que a tecla está sendo pressionada:
Portanto, os eventos pressionados com a tecla ainda permanecem intactos para outros aplicativos buscá-los.
setxkbmap
O arquivo
/usr/share/X11/xkb/rules/xorg.lst
contém a lista completa de quais opções você pode darsetxkbmap
.Observando este arquivo para "cap", observei esta linha:
Existem outros valores nesse arquivo; portanto, se não é isso que você procura, talvez um desses valores alternativos seja usado.
Referências
fonte
setxkbmap -option ""
.Se você não deseja que a Caps Lockchave tenha o efeito usual, pode desativar o
Lock
modificador, mantendo oCaps_Lock
timbre da tecla.fonte
Isso é muito semelhante à resposta que dei para outra pergunta . Este trecho de código xkb deve fazer o truque.
fonte