Тема: AHK: Обратный слэш вводит разные слэши в разных раскладках.
С наступающим вас!
Есть цель, чтобы в русской раскладке клавиша "обратный слэш" вводила обычный слэш, и с шифтом вводила обратный, а в английской раскладке ничего бы не менялось. Как такое сделать?
Пока-что есть такая наработка:
;0x4090409 - ENG
;0x4190419 - RUS
\::
SetFormat, Integer, H
WinGet, WinID,, A
ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
InputLocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
;MsgBox, %InputLocaleID%
If InputLocaleID = 0x4090409
;MsgBox, ENG
Send, \
If InputLocaleID = 0x4190419
;MsgBox, RUS
Send, /
Return
но в ней обратный слэш в английской раскладке не срабатывает. Видимо, скрипт пытается запустить себя сам вместо того чтобы ввести символ.