Повторно отобразите ключ в зависимости от того, был ли он нажат один или нет

Я знаю, как использовать Автогорячую клавишу для переотображения ключей и сочетаний клавиш. Если я свяжу Capslock с Ctrl, то Capslock+Anykey будет работать как Ctrl+Anykey.

Как я могу связать один только CapsLock с другой горячей клавишей (Ctrl+1, например), но связать Capslock+Anykey с Ctrl+Anykey?

3
задан 21.12.2010, 17:12

2 ответа

Хорошо, у меня есть несовершенное обходное решение:

Capslock::Control  ;--Holding Caps = holding Ctrl

Capslock Up:: ;--If you press Caps fast, it types "No"
SendInput, {Control Up}  ;--For stability
If A_TimeSincePriorHotkey < 100  ;--Vary the time as it suits you
{
Sendinput, No  ;--Replace with what you want Caps to do on its own
}
Else
return
return

Если Вы придавите Caps для дольше, чем 100 мс, то выпустите его, то ничего не произойдет. Если Вы потребуете у него меньше затем 100 мс, то выпустите его, то это введет "Нет". При нажатии какой-либо Клавиши при удержании его это выполнит control+Key. Если Вы удержите заглавные буквы меньше чем для 100 мс и сумеете нажать какую-либо Клавишу прежде, чем выпустить заглавные буквы, то она выполнит control+Key и введет "Нет". Можно варьироваться синхронизация. Это является лучшим, я мог сделать, возможно, существует лучший путь.

1
ответ дан 08.12.2019, 01:44

Я записал программу в C++, который делает эту самую вещь. Это повторно отображает ключ Приложений, а не Capslocks, но это было бы тривиально для изменения. Исходный код (и больше информации) находится на GitHub в https://github.com/russelldavis/KeyFix4000

1
ответ дан 08.12.2019, 01:44

Теги

Похожие вопросы