Como ter o ESC também cancelar o CAPS se o CAPS estiver ativado?

3

Existe alguma maneira de configurar o teclado para que pressionar ESC também cancele o recurso Capslock, se o Capslock estiver ativado? Eu uso especificamente o Kubuntu Linux com as teclas ESC e Caps comutadas (usuário VIM), mas minhas práticas de códigos de instruções SQL de codificação ditam o uso de CAPS para palavras-chave SQL. Eu preferiria uma solução Linux / X geral, mas uma solução específica do KDE também está bem.

Obrigado!

    
por dotancohen 26.10.2012 / 14:20

2 respostas

3

Uma solução específica do X-Windows seria usar xbindkeys

  1. Instale xbindkeys do repositório da sua distribuição.
  2. Crie um arquivo de configuração .xbindkeysrc em seu diretório pessoal
  3. Execute xbindkeys -k do terminal. Isso deve abrir uma janela da GUI. Com essa janela focada, pressione a tecla que você deseja vincular.
  4. Copie o snippet de código relacionado a essa chave do terminal
  5. Cole em seu .xbindkeysrc
  6. Substitua o "esquema de comando" por um comando para ser executado quando você pressionar essa tecla.

No seu caso, você precisaria criar um script para desativar o caps lock e gerar um evento de chave de escape real (usando crikey para enviar sinais XTest talvez)

Você pode verificar se o seu caps-lock está usando xset q | grep "LED mask"

    
por 26.10.2012 / 14:53
1

Que tal uma solução específica de Vim burra, míope e brutal?

:s/\vfalse|null|true|access|add|as|asc|begin|by|check|cluster|column|compress|connect|current|cursor|decimal|default|desc|else|elsif|end|exception|exclusive|file|for|from|function|group|having|identified|if|immediate|increment|index|initial|into|is|level|loop|maxextents|mode|modify|nocompress|nowait|of|offline|on|online|start|successful|synonym|table|then|to|trigger|uid|unique|user|validate|values|view|whenever|where|with|option|order|pctfree|privileges|procedure|public|resource|return|row|rowlabel|rownum|rows|session|share|size|smallint|type|using|not|and|or|in|any|some|all|between|exists|like|escape|union|intersect|minus|prior|distinct|sysdate|out|alter|analyze|audit|comment|commit|create|delete|drop|execute|explain|grant|insert|lock|noaudit|rename|revoke|rollback|savepoint|select|set|truncate|update|boolean|char|character|date|float|integer|long|mlslabel|number|raw|rowid|varchar|varchar2|varray/\U
:s/\vfalse|null|true|access|add|as|asc|begin|by|check|cluster|column|compress|connect|current|cursor|decimal|default|desc|else|elsif|end|exception|exclusive|file|for|from|function|group|having|identified|if|immediate|increment|index|initial|into|is|level|loop|maxextents|mode|modify|nocompress|nowait|of|offline|on|online|start|successful|synonym|table|then|to|trigger|uid|unique|user|validate|values|view|whenever|where|with|option|order|pctfree|privileges|procedure|public|resource|return|row|rowlabel|rownum|rows|session|share|size|smallint|type|using|not|and|or|in|any|some|all|between|exists|like|escape|union|intersect|minus|prior|distinct|sysdate|out|alter|analyze|audit|comment|commit|create|delete|drop|execute|explain|grant|insert|lock|noaudit|rename|revoke|rollback|savepoint|select|set|truncate|update|boolean|char|character|date|float|integer|long|mlslabel|number|raw|rowid|varchar|varchar2|varray/\U%pre%/g
/g
    
por 26.10.2012 / 14:51

Tags