%3A%20como%20remapear%20LCtrl%20enquanto%20mant%C3%A9m%20AltGr.png)
Pesquisei perguntas anteriores, mas não encontrei uma solução para alternar LAltcom LCtrl(ou CapsLockcom LCtrl) preservando completamente AltGr, que corresponde a Ctrl+ Alt(ou talvez LCtrl+ RAlt?).
Esta é a pergunta mais próxima, mas não posso usar o Registro, tenho privilégios limitados. Alternar Ctrl e Alt com AutoHotKey sem bagunçar o alternador Alt-Tab?
Também relacionado: https://code.google.com/p/uawks/issues/detail?id=2
Estou usando um destes scripts simples:
LAlt::LCtrl
LCtrl::LAlt
O segundo:
LCtrl::CapsLock
CapsLock::LCtrl
Sempre que pressiono AltGrqualquer outra tecla, algo trava e tenho que pressionar aleatoriamente Alt, Ctrlaté poder escrever novamente. Se eu usar o segundo script, o CapsLock será ativado!
Meu teclado é suíço e tenho muitas teclas com um terceiro símbolo, portanto preciso frequentemente AltGr, remapear cada uma não seria uma solução limpa.
Atualizar
Acabei de descobrir que os problemas AltGrsão completamente resolvidos adicionando a seguinte linha no final dos dois scripts postados anteriormente, mas não entendo por que isso está acontecendo.
<^>!::RAlt
Por que o remapeamento de AltGras RAltALONE ainda produz o efeito de regular AltGr?
Responder1
1) Embora de natureza simples, a lógica desta postagem é difícil de seguir para aqueles de nós sem um teclado AltGr para testar. De qualquer forma, falo por mim mesmo... para fins de compreensão, pode ajudar a esclarecer de qual script de duas linhas você está falando, seguido por uma lista de quais teclas você pressiona (e em que ordem), seguida por uma lista de quais teclas você pressiona (e em que ordem). resultados que você obtém. Em seguida, liste o próximo script, chaves e resultados. Ou talvez outros não precisem disso, mas foi um pouco difícil para mim acompanhar, embora acredite que você tenha todas as informações críticas listadas.
2) Você viu as reatribuições de teclas de atalho nos arquivos de ajuda? Percebi duas coisas com as quais você pode querer brincar. O primeiro é o uso de * como modificador. O segundo é o uso de 'Up' para acionar um movimento ascendente para enviar um movimento ascendente diferente (ou seja, enviar um movimento ascendente para um modificador diferente). Veja a redefinição do LWin listada em Teclas de atalho no arquivo de ajuda:
*LWin::Send {LControl Down}
*LWin Up::Send {LControl Up}
3) Às vezes, as coisas ficam travadas e, quando isso acontece, você pode contornar isso enviando comandos 'Up', mesmo que a tecla já esteja ativada. Tecnicamente pode não ser necessário, mas às vezes funciona (e às vezes não).
4) Pode (ou não) servir para consultar a lista do histórico de chaves através do menu Visualizar. Freqüentemente, você pode descobrir por que as coisas travam ou falham observando a ordem em que as chaves são processadas (ou seja, a ordem em que são listadas) e se são ou não ignoradas devido aos vários motivos listados.
5) Como mostra o exemplo de redefinição de LWin, você pode querer usar o comando 'Send' ou 'SendInput' para obter mais flexibilidade durante a solução de problemas (se você não precisar dele, é claro, você pode ficar sem e tornar o código mais limpo, mas não dói nada). Por exemplo, o uso de um comando Enviar facilita a inserção de outro caractere ou pressionamento de tecla em uma única reatribuição de tecla de atalho e, em seguida, observe a ordem de disparo na lista de histórico de teclas para ver o que acontece.achafoi pressionado e em que ordem.
Se eu tivesse um desses teclados para testar, provavelmente pegaria um dos exemplos de duas linhas que você listou e o transformaria em uma reatribuição de teclas de quatro linhas, na maneira do exemplo de reatribuição de LWin, e então veria o que está acontecendo no história chave. Eu também poderia adicionar uma instrução de pausa, para capturá-la em ação e poder observar o histórico de pressionamentos de tecla até o ponto em que a pausa foi executada, o que impediria o log de mostrar quaisquer teclas modificadoras sendo liberadas.
Não tenho ideia se isso funcionaria, mas aqui está um esboço do tipo de coisa com a qual você pode começar para fins de depuração.
*LAlt::Send {LCtrl Down}
*LAlt Up::Send {LCtrl Up}
*LCtrl Up::Send {LAlt Up}
*LCtrl::
Send {LAlt Down}
Pause ; once the script is paused you can go look at Key History
Return