Tecla de atalho para alternar o idioma de entrada no Windows 7

10

Estou usando o Windows 7 e gostaria de definir uma tecla de atalho personalizada para alternar entre diferentes idiomas de entrada.

Sei que posso alterá-los para Ctrl+ Shift, Left Alt+ Shiftou o sotaque grave, mas não gosto de nenhum deles. SO existe uma maneira de definir algo como Ctrl+ Spacepara mudar o idioma de entrada?

Fynn
fonte

Respostas:

3

Acho que o Windows não suporta nativamente a alteração dessas chaves. De qualquer forma, você pode escrever um script AutoIt para ouvir as 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 (use este link para baixar e instalar) e crie um arquivo com uma .au3extensão. Copie e cole o código acima e salve-o. Você pode colocar esse arquivo na sua pasta Inicialização se desejar que ele seja aberto quando você fizer login.

fardjad
fonte
3

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
Sergey Erokhin
fonte
1

No Windows 7, em Painel de controle \ Região e idioma \ Teclados e idioma, selecione 'Alterar teclados'. Você verá uma pequena janela pop-out; lá escolheu 'Advanced Key Settings', que permite definir combinações para obter diretamente cada teclado de destino, bem como a sequência geral de teclas de alternância.

Aganju
fonte
2
O problema é que ele oferece apenas três opções, uma das quais não está na mesma tecla nos dois layouts ... A outra opção é definir uma chave diferente para cada idioma, mas requer uma combinação de modificadores. Não é ideal.
Henrik Erlandsson
0

Resposta alternativa

Se dois layouts de teclado não diferem em muitos símbolos, você pode adicionar modificadores Alt para o idioma estrangeiro (por exemplo, símbolos padrão do layout dos EUA na camada Alt de um teclado alemão) com um utilitário como o AutoHotKey ou similar.

Ou crie um mapa de teclas para o sistema operacional, que é a maneira mais correta de fazer isso.

  • nunca precisa mudar e se perguntar qual idioma está ativo (pode ser muito perturbador)
  • você pode acessar a camada Alt com frequência e isso diminui o fluxo.

Para alguns idiomas europeus, você pode mover caracteres permanentemente, em vez de ter uma camada.

Por exemplo, [] e {} para combinações Alt / Shift de () e [] ;: '"para teclas próximas a üäö, permitindo manter um layout norte-americano quase normal para codificação e dar espaço para os caracteres de seus idiomas nos pontos onde eles geralmente residem.

Henrik Erlandsson
fonte