Тема: Клавиши-модификаторы не срабатывают для горячей клавиши.
Добрый день. Есть простой скрипт, который при удержании боковой клавиши мышки отправляет вместо правого клика клавишу f16.
В приложении, для которого этот скрипт, при зажатой клавише Shift все действия выполняются последовательно, по очереди. (В обратном случае каждое новое действие отменяет предыдущее) Т.е. в игре Shift так же своеобразный модификатор.
Проблема заключается в том, что если зажать Shift, боковую клавишу(vk06) и покликать правой кнопкой - то будет отправлен правый клик, а не shift + f16. Как добиться что бы скрипт учитывал состояние alt, ctrl, shift и отправлял нужное... сочетние (или учитывал их состояние, не знаю как правильно написать)?
Просто я перебрал уже сотню вариантов, но каждый раз что-то "идет не так", то в момент нажатия райтклика отжимается модификатор, то описанное выше, то еще что-нибудь, за сим вопрос упростил до азов и хочется послушать что скажут знающие люди.
RButton::
if !GetKeyState("vk06","P")
{
Send, {RButton down}
}
else
{
Send, {F16 Down}
}
Keywait, RButton
return
RButton Up::
Send, {RButton Up}{F16 Up}
return