Тема: AHK: тройные горячие клавиши
Привет формучане!
Если по короче, то понимаю что в AHK нельзя использовать тройные горячие клавиши, если как минимум 2 из них не являются контролами, шифтами, альтами и т.д., а состоят из обычных кнопок.
Загуглив нашел 2 варианта обхода этого недостатка AHK, 1 вариант:
#if GetKeyState("ScrollLock") && GetKeyState("LShift")
i:: send {LShift Up}
j:: send {LShift Left}
l:: send {LShift Right}
k:: send {LShift Down}
return
В этом случае не срабатывает сама горячая связка клавиш. Мне нужно чтобы происходили перемещения каретки с выделением текста, т.е. эмулировались сочетания Shift + Up, Shift + Left и так далее. Вместо этого просто печатаются заглавные буквы I J K...
Второй вариант:
#if GetKeyState("ScrollLock")
+i:: send {LShift Up}
+j:: send {LShift Left}
+l:: send {LShift Right}
+k:: send {LShift Down}
return
Тут я зажатие шифта переношу из if условия, в тело условия. В итоге вообще ничего не происходит, каретка стоит на одном месте как вкопанная.
Помогите пожалуйста понять что я делаю не так. На всякий случай повторюсь, нужно чтобы при зажатии клавиш ScrollLock + Shift + буквы (например i, j, l, k), моя каретка бегала по тексту как будто я нажимаю вместо букв стрелочки, и с зажатым шифтом, т.е. выделяла текст.
Мне кажется ошибка в синтаксисе команды send, пробовал по всякому обозначать требуемые сенды, но ни один вариант не срабатывал. Помогите, пожалуйста!