Saya memecahkan masalah ini menggunakan Autohotkey.
Siapkan 3 bahasa, hotkey untuk beralih di antara mereka dan hotkey lain untuk beralih ke bahasa yang ingin Anda lewati. Saya memiliki bahasa Inggris, Rusia, dan Jepang dan ingin melewati bahasa Jepang jadi saya menugaskan Ctrl + Shift + 0 untuk beralih ke JP.
Saya sudah memiliki skrip Autohotkey yang memungkinkan saya untuk beralih di antara semua 3 bahasa menggunakan Caps. Itu terlihat seperti ini:
CapsLock::Send, {Alt Down}{Shift Down}{Shift Up}{Alt Up}
Idenya adalah untuk beralih bahasa secara otomatis setelah Anda beralih ke bahasa yang ingin Anda lewati. Ini 0x0411 untuk Jepang. Tempelkan Anda di klausa if dalam skrip di bawah ini, simpan dan jalankan.
Berikut adalah daftar id bahasa, temukan milik Anda di kolom pertama.
Script hanya berfungsi untuk beralih antar bahasa menggunakan CapsLock tetapi Anda dapat menyesuaikannya dengan Alt + Shift. Mungkin hanya dengan mengganti "CapsLock" dengan "{Alt Down} {Shift Down} {Shift Up} {Alt Up}".
CapsLock::
Send, {Alt Down}{Shift Down}{Shift Up}{Alt Up}
if !LangID := GetKeyboardLanguage(WinActive("A"))
{
MsgBox, % "GetKeyboardLayout function failed " ErrorLevel
return
}
if (LangID = 0x0411)
Send, {Alt Down}{Shift Down}{Shift Up}{Alt Up}
return
GetKeyboardLanguage(_hWnd=0)
{
if !_hWnd
ThreadId=0
else
if !ThreadId := DllCall("user32.dll\GetWindowThreadProcessId", "Ptr", _hWnd, "UInt", 0, "UInt")
return false
if !KBLayout := DllCall("user32.dll\GetKeyboardLayout", "UInt", ThreadId, "UInt")
return false
return KBLayout & 0xFFFF
}