Тема: AHK:Смена языка на Японский кнопкой CapsLock
По задумке язык должен переключаться на Японский нажатием CapsLock.А alt+shift переключать en-ru.Ничего не работает...Может кто-нибудь исправить мой говнокод?
ru := DllCall("LoadKeyboardLayout", "Str", "0x4190419", "Int", 1)
en := DllCall("LoadKeyboardLayout", "Str", "0x4090409", "Int", 1)
jp := DllCall("LoadKeyboardLayout", "Str", "0x4110411", "Int", 1)
CapsLock::
{
PostMessage 0x50, 0, %jp%,, A
}
!~Shift UP::
{
if GetKeyState("Alt") {
w := DllCall("GetForegroundWindow")
pid := DllCall("GetWindowThreadProcessId", "UInt", w, "Ptr", 0)
l :=DllCall("GetKeyboardLayout", "Uint", pid)
if (l = en) {
PostMessage 0x50, 0, %ru%,, A
} else {
PostMessage 0x50, 0, %en%,, A
}
Exit
}
}
~LAlt UP::
{
if GetKeyState("Shift") {
w := DllCall("GetForegroundWindow")
pid := DllCall("GetWindowThreadProcessId", "Uint", w, "Ptr", 0)
l :=DllCall("GetKeyboardLayout", "UInt", pid)
if (l = en) {
PostMessage 0x50, 0, %ru%,, A
} else {
PostMessage 0x50, 0, %en%,, A
}
Exit
}
}