Estou usando o Windows 7 e gostaria de definir uma tecla de atalho personalizada para alternar entre diferentes idiomas de entrada.
Eu sei que posso alterá-los para Ctrl+ Shift, Left Alt+ Shiftou sotaque grave, mas não gosto de nenhum deles. Então, existe uma maneira de definir algo como Ctrl+ Spacepara mudar o idioma de entrada?
Responder1
Acho que o Windows não oferece suporte nativo à alteração dessas chaves. De qualquer forma, você pode escrever umAutoItscript para escutar combinações de teclas personalizadas e enviar programaticamente um dos atalhos de teclado predefinidos ao sistema para alterar o layout do teclado.
;^ = Ctrl
;! = Alt
;# = WinKey (Meta)
;+ = Shift
HotKeySet("^{Space}", "change") ;Registers Control + Space
;Main loop
While 1
Sleep(100)
WEnd
;Changes Keyboard Layout
Func change()
Send ("{ALTDOWN}") ;Hold down Alt
Sleep(100) ;Wait 100 milliseconds
Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
EndFunc
Basta baixar e instalar o AutoIt (useesse linkpara baixar e instalar) e crie um arquivo com uma .au3
extensão. Copie e cole o código acima e salve-o. Você pode colocar este arquivo em sua pasta de inicialização se quiser que ele seja aberto quando você fizer login.
Responder2
O script acima não funcionou para mim, mas eu o modifiquei e agora funciona.
#Include <Misc.au3>
;~ #RequireAdmin
;^ = Ctrl
;! = Alt
;# = WinKey (Meta)
;+ = Shift
HotKeySet("^{Space}", "change") ;Registers Contorl + Space
$dll = DllOpen("user32.dll")
ToolTip("Try to use ^Space"&@CRLF&"!!!!!!!!!!!!!!!!!!!")
Sleep(3000)
ToolTip('')
;Main loop
While 1
Sleep(100)
WEnd
;Changes Keyboard Layout
Func change()
While _IsPressed("11",$dll)
Sleep(10)
WEnd
Send ("{ALTDOWN}") ;Hold down Alt
Sleep(100) ;Wait 100 milliseconds
Send("{LSHIFT}{ALTUP}") ;Press Left-Shift and release Alt
EndFunc
Responder3
No Windows 7, em Painel de controle\Região e idioma\Teclados e idioma, selecione 'Alterar teclados'. Você verá uma pequena janela pop-out; escolheu 'Configurações avançadas de teclas', que permite definir combinações para obter diretamente cada teclado de destino, bem como a sequência geral de teclas de troca.
Responder4
Resposta alternativa
Se dois layouts de teclado não diferirem em muitos símbolos, você poderá adicionar modificadores Alt para o idioma estrangeiro (por exemplo, símbolos de layout padrão dos EUA na camada Alt de um teclado alemão) com um utilitário como AutoHotKey ou similar.
Ou crie ummapa de teclado para o sistema operacionalqual é a maneira mais correta de fazer isso.
- nunca precise mudar e se perguntar qual idioma está ativo (pode ser muito perturbador)
- você pode acessar a camada Alt com frequência e isso retarda seu fluxo.
Para alguns idiomas europeus, você pode mover os caracteres permanentemente, em vez de criar uma camada.
Por exemplo, [] e {} para combinações Alt/Shift de () e [];:'" para teclas próximas a üäö, permitindo manter um layout quase normal dos EUA para codificação e abrir espaço para os caracteres do seu idioma nos pontos onde costumam residir.