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 .au3
extensã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.
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.
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.
fonte