Проблема с переключением языков ввода в японском IME в Windows 7

454
Zarylo

Я установил окна, чтобы выбрать стандартную раскладку клавиатуры при нажатии CTRL + SHIFT + 1

Хотя я использую около 5 языков, у меня обычно не было необходимости изменять настройки макета, за одним исключением: японский IME.

Как только я переключаюсь на японский IME CTRL + SHIFT + 2, невозможно вернуться к стандартной раскладке клавиатуры. Работает с любой другой обычной раскладкой клавиатуры.

Существует горячая клавиша переключения, left ALT + SHIFTкоторая все еще работает, как и ожидалось, но я бы предпочел отключить ее, чтобы избежать случайного переключения при использовании других горячих клавиш, в которых задействованы указанные клавиши.

У кого-нибудь есть догадки относительно того, что может быть не так?

0
Это известная ошибка японского программного обеспечения в течение многих лет. Это присутствует даже в Windows 10. Не существует известного обходного пути. Rambalac 8 лет назад 0

1 ответ на вопрос

0
Rambalac

Комбинация Ctrl + не работает в японской раскладке в режиме хирагана, и это известная ошибка японского программного обеспечения в течение многих лет. Он присутствует даже в Windows 10. Не существует известного обходного пути без программного обеспечения третьей части.

Я сделал обходной путь, используя бесплатное программное обеспечение AutoHotKey, используя этот скрипт

#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SendMode Input ; Recommended for new scripts due to its superior speed and reliability. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.  ^1::LangSwitch(0) ^2::LangSwitch(1) ^3::LangSwitch(2)  LangSwitch( langIndex=0 ) { HKLnum:=DllCall("GetKeyboardLayoutList","uint",0,"uint",0) VarSetCapacity( HKLlist, HKLnum*4, 0 ) DllCall("GetKeyboardLayoutList","uint",HKLnum,"uint",&HKLlist) HKL:=NumGet( HKLlist, langIndex*4 )  ControlGetFocus,ctl,A SendMessage,0x50,0,HKL,%ctl%,A ;WM_INPUTLANGCHANGEREQUEST } 

Где ^1::LangSwitch(0)Ctrl + 1 для языка с индексом 0 в вашем списке языков.