Как мне получить значение ключа после того, как я отпущу ключ - PullRequest
1 голос
/ 29 мая 2020

Я понимаю, используя, например,

Space & a::b

Я могу получить b, удерживая Space, а затем нажимая a. Однако это отключает вывод Space. Как получить символ Space, например, отпустив клавишу Space или дважды нажав клавишу Space.

Ответы [ 2 ]

1 голос
/ 02 июня 2020

Вы должны связать пробел, чтобы отправить себя:

Space & a::b
Space::Send {Space}

Однако я бы не советовал использовать общий ключ в качестве префикса: префиксная клавиша потеряет любые возможности «при нажатии» и повтора. Таким образом, с этим скриптом Space не будет записывать много пробелов, только один и только при выпуске (и вы некоторое время задаетесь вопросом, почему вы больше не можете прыгать в своей любимой игре, каждый раз !).

Просто набирать текст сейчас неудобно, небольшая задержка после каждого пробела вызывает ошибки.

Я бы рекомендовал по крайней мере использовать белый список, чтобы ограничить горячие клавиши для программ, в которых вы нужно:

SetTitleMatchMode RegEx
#IfWinActive "i)notepad|word|thunderbird"
Space & a::b
Space::Send {Space}    

Или что-то в этом роде.

0 голосов
/ 29 мая 2020

Попробуйте следующее:

#If GetKeyState("Space")
a::b
...