Estou tentando obter um único toque ALTpara alternar entre os programas, mas não interferir ou interromper a funcionalidade nativa de segurar a tecla, no entanto, A_PriorKey
[abaixo] parece considerar apenas as teclas do teclado e não os botões ou cliques do mouse.
Como posso fazer com que as teclas do mouse também sejam consideradas?
- O objetivo é alternar entre os dois últimos programas ativos apenas se nenhuma outra tecla for pressionada quando ALTfor pressionado:
~$LAlt Up:: { ToolTip, % A_PriorKey if (A_PriorKey = "LAlt") { send, !{Tab} } Return }
Se você não tentar e se preocupar em detectar outras chaves e simplesmente usar um valor de cronômetro para garantir que você pressione liga / desliga ALTem um tempo bastante curto, isso pode funcionar.
Você pode tentar o abaixo, mas requer um curto ligar/desligar ALTe não verificar outras teclas sendo pressionadas, também permitindo que você faça vários pressionamentos curtos de ligar/desligar para acionar um ALT+ múltiplo TAB ⭾e voltar para mais do que apenas o último programa ativo; por exemplo, duas pressões rápidas de ligar/desligar levam você ao penúltimo programa e alteram a ordem da lista de programas ALT+ TAB ⭾.
deltaTime
constante de comparação se ela não disparar corretamente e habilite adeltaTime
dica de ferramenta para ver qual é a média de seus pressionamentos de gatilho para definir a constante de comparação:200ms
tempo limite [SetTimer, SendAltTab, -200
] é quanto tempo você tem para acionar um pressionamento consecutivo adicional para vários ALT+ TAB ⭾pressionamentos; se você nunca quiser usar vários pressionamentos de ALT+ TAB ⭾, desative o200ms
atraso de tempo [definir-1
ou incluir o código diretamente] para que nunca tenhasendCount
mais de 0,0001
.200ms
cronômetro para exigir pressionamentos consecutivos mais rápidos com uma execução mais rápida no pressionamento final, pois o tempo limite será mais rápido) ou você pode desacelerá-lo para não ter para ser tão rápido em um pressionamento consecutivo (com uma execução ligeiramente atrasada no pressionamento final, pois o tempo limite será mais lento). Os valores do cronômetro abaixo pareciam bastante naturais depois de experimentá-lo.Se você realmente precisar verificar outras teclas, poderá fazer uma implementação alternativa para definir uma variável ↓ ALTque não seja definida por qualquer outra tecla pressionada e, em seguida, verifique a variável novamente em ↑ ALT.
A_PriorKey
se ↓ ALTele mudou com ↑ ALT, no entanto, isso não funcionaria se você pressionasse a mesma tecla ALT+<whatever>
duas vezes seguidas, pois pareceria que uma tecla não foi pressionada, acionando um ALT+ TAB ⭾.Você pode excluir combinações explicitamente definindo um sinalizador nas teclas de atalho para cada uma dessas combinações.
Seu exemplo não funcionou para mim, então a primeira opção é usar uma chave diferente de ALT.
Opção 1. Use outra chave
Aqui eu uso L SHIFT:
Opção 2. Usando LAlt (com algum truque)
Ainda é possível fazer com L ALT, mas é mais complicado, exigindo um truque para bloquear a
Alt up
invocação do menu codificado do Windows. Combinado com o método acima: