По моему мнению, есть два возможных способа заставить точку 2 работать.
Метод 1: сохраняет левое смещение стандартное поведение клавиши
смещение + ; приводит к нажатию клавиши двоеточия : . Вы можете заставить пункт 2 работать, добавив тильду «~» перед `; и удалив
else
send `;
С помощью ~ вы можете сохранить поведение клавиши по умолчанию. Новый скрипт будет выглядеть примерно так:
~`;::
if GetKeyState("LShift", "P")
Send `:
return
`; & x::
if GetKeyState("LShift", "P")
...
else
...
return
С помощью этого метода скрипт сможет отправлять : с shift +; .
Метод 2: удаление стандартное поведение клавиши * Shift влево
Добавьте следующий фрагмент в свой код
LShift::
Send, {}
return
Этот фрагмент заставит пункт 2 работать, но сделает клавишу Left Shift практически бесполезной для всего остального.
EDIT
Метод 3 : ;
ожидание x
Добавление KeyWait
в скрипт заставит его подождать некоторое время перед выполнением кода. Во-вторых, использование Lshift
+ ;
в качестве отдельной комбинации горячих клавиш приведет к выводу :
, устраняя необходимость использования ~
взамен.
`;::
KeyWait, `;, T0.2
Send `;
return
LShift & `;::
Send `:
return
`; & x::
KeyWait, `;, T0.2
if GetKeyState("LShift", "P")
...
else
...
return