Eu sei como usar o Autohotkey para remapear teclas e combinações de teclas. Se eu ligarCaps LockparaCtrl, Capslock+ Anykeyfuncionará como Ctrl+ Anykey.
Como posso vincular CapsLocksozinho a outra tecla de atalho ( Ctrl+ 1, por exemplo), mas vincular Capslock+ Anykeya Ctrl+ Anykey?
Responder1
Ok, tenho uma solução alternativa imperfeita:
Capslock::Control ;--Holding Caps = holding Ctrl
Capslock Up:: ;--If you press Caps fast, it types "No"
SendInput, {Control Up} ;--For stability
If A_TimeSincePriorHotkey < 100 ;--Vary the time as it suits you
{
Sendinput, No ;--Replace with what you want Caps to do on its own
}
Else
return
return
Se você pressionar Caps por mais de 100 ms e soltá-lo, nada acontecerá. Se você pressioná-lo por menos de 100 ms e soltá-lo, ele digitará "Não". Se você pressionar qualquer tecla enquanto a mantém pressionada, ela executará control+Key. Se você mantiver Caps pressionado por menos de 100ms e conseguir pressionar qualquer tecla antes de liberar Caps, ele executará control+Key e digitará "Não". Você pode variar o tempo. Isso é o melhor que pude fazer, talvez haja uma maneira melhor.
Responder2
Eu escrevi um programa em C++ que faz exatamente isso. Ele remapeia a chave Apps em vez de Capslocks, mas seria trivial modificá-la. O código fonte (e mais informações) está no github emhttps://github.com/russelldavis/KeyFix4000