Reciclagem de dedos com realimentação instantânea (para um futuro sem a tecla Esc)

1

Preparando-se para o futuro e protegendo meus pulsos, eu remapeei algumas teclas que eu geralmente escrevo (por exemplo, para escape, agora pressiono / solto caps lock; para controle, eu seguro caps lock com outra tecla, para caps lock I pressione as duas teclas shift).

Mas eu gostaria de ter um alerta, algum feedback instantâneo quando meus dedos antigos digitam as chaves proibidas. Então, se eu digitar ESC ou CONTROL_L , eu gostaria que nada acontecesse e a tela piscasse ou emitisse um sinal sonoro ou ambos. O vermelho intermitente seria, naturalmente, delicioso.

Indo um passo adiante, eu também não me importaria de tentar ter um alerta quando eu usar o "errado" SHIFT para letras maiúsculas e caracteres especiais, para ver se isso pode me ajudar a quebrar alguns velhos hábitos.

Isso é possível?

    
por Will Hardy 08.11.2016 / 14:33

1 resposta

2

O seguinte é como consegui o que queria. Usar tput bel e outros comandos do shell não funcionou, mas usando osascript -e "beep 1" . Eu adicionei um segundo bipe para tornar o efeito mais óbvio.

  1. Instalar o Karabiner e o Seil
  2. Defina a tecla Caps Lock como "Sem ação" nas preferências de teclado do OSX (teclas modificadoras)
  3. Defina Caps Lock para enviar o código 110 usando o Seil
  4. Adicione o seguinte XML privado no Karabiner e ative cada item resultante.

Arquivo XML privado do mosquetão:

<?xml version="1.0"?>
<root>
 <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_SHELL_beep</name>
    <url type="shell">
      <![CDATA[    /usr/bin/osascript -e "beep 2" ]]>
    </url>
  </vkopenurldef>
  <item>
    <name>Change escape key to beep</name>
    <identifier>private.escape_to_beep</identifier>
    <autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::VK_OPEN_URL_SHELL_beep</autogen>
  </item>
  <item>
    <name>Left control key to beep</name>
    <identifier>private.left_control_key_to_beep</identifier>
    <autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::VK_OPEN_URL_SHELL_beep</autogen>
  </item>
  <item>
    <name>Application key to Control_R key</name>
    <appendix>(+ When you type Control_R only, send Escape)</appendix>
    <identifier>private.application2controlR_escape</identifier>
    <autogen>__KeyOverlaidModifier__ KeyCode::PC_APPLICATION, KeyCode::CONTROL_R, KeyCode::ESCAPE</autogen>
  </item>
</root>

Eu poderia expandir programaticamente isso para fazer o mesmo para coisas como usar a tecla shift errada.

    
por 08.11.2016 / 20:12