Remapear Caps Lock no Windows (escape * e * controle) [duplicado]

5

Há muitos utilitários que remapearem as teclas, mas não consigo encontrar um recurso muito específico: quero que o caps lock funcione como a tecla modificadora de controle quando pressionado, mas como escape quando pressionado sozinho.

Uma questão semelhante foi colocada aqui , e uma das respostas forneceu um script AutoHotkey, no entanto, é suscetível ao tempo de pressionamento de teclas e manipula apenas uma lista codificada de todas as combinações possíveis de controle + letra. Eu preferiria que funcionasse sem peculiaridades, bloqueando o caps lock pressionado eventos, armazenando quaisquer outras teclas pressionadas enquanto a tecla caps lock ainda não foi liberada, e então decidindo se enviar escape ou controle.

Existe um utilitário simples ou um script AutoHotkey mais genérico que faz isso?

    
por rationalis 12.04.2013 / 01:37

1 resposta

9

Este script registra uma única pressão no CapsLock como uma impressora que dura menos de 400 ms, modifique esse valor conforme necessário.

*CapsLock::
    Send {Blind}{Ctrl Down}
    cDown := A_TickCount
Return

*CapsLock up::
    If ((A_TickCount-cDown)<400)  ; Modify press time as needed (milliseconds)
        Send {Blind}{Ctrl Up}{Esc}
    Else
        Send {Blind}{Ctrl Up}
Return
    
por 12.04.2013 / 16:32