Я думаю, что Windows изначально не поддерживает изменение этих ключей. В любом случае вы можете написать скрипт AutoIt для прослушивания пользовательских привязок клавиш и программно отправить один из предопределенных сочетаний клавиш в систему для изменения раскладки клавиатуры.
;^ = 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
Просто скачайте и установите AutoIt (используйте эту ссылку для загрузки и установки) и создайте файл с .au3
расширением. Скопируйте и вставьте код выше и сохраните его. Вы можете поместить этот файл в папку «Автозагрузка», если хотите, чтобы он открывался при входе в систему.
Альтернативный ответ
Если две раскладки клавиатуры не отличаются по многим символам, вы можете добавить Alt-модификаторы для иностранного языка (скажем, стандартные символы раскладки США на слое Alt немецкой клавиатуры) с помощью такой утилиты, как AutoHotKey или аналогичной.
Или создайте таблицу ключей для ОС, которая является более правильным способом сделать это.
Для некоторых европейских языков вы можете перемещать символы постоянно, вместо того, чтобы иметь слой.
Например, сочетания клавиш [] и {} - Alt / Shift () и [] ;: '"для клавиш рядом с üäö, что позволяет вам сохранить почти нормальную американскую раскладку для кодирования и освободить место для символов ваших языков в местах где они обычно проживают.
источник