Як поєднувати три клавіші як гарячу клавішу з Autohotkey?


14

Я хочу об'єднати CapsLock Alt kклавіші в одній гарячій клавіші, такій як:

CapsLock & !k:: Send !{Up}

Це не працює, оскільки Autohotkey не дозволяє комбінувати більше двох клавіш, крім клавіш модифікатора.

Шукаючи рішення, я виявив, що використання скануючих кодів у лівій частині може бути проблемою, наприклад:

SC035 & !k:: Send !{Up}

Я також перевірив це рішення, але це також не працює належним чином. У цьому випадку натискання CapsLock+kзапускає швидку клавішу .


(В AutoHotkey Ctrl є ^, Alt є !. Ви можете уточнити, який саме ви хочете.)
Bavi_H

Я виправив помилку.
Мерт Нухоглу

Відповіді:


13

Як щодо цього?

Capslock & k:: 
GetKeyState, state, Alt
if state = D
SendInput !{Up}
Return 

Дякую. Це справді працює. Але зараз є невелика затримка при використанні CapsLock у поєднанні з ключем, наприклад "CapsLock & a :: =". Ця затримка, ймовірно, пов’язана з функцією GetKeyState, чи не так?
Мерт Нухоглу

Я тестував, але не зміг відновити цю затримку. Сценарій повинен бути самостійним і не впливати на продуктивність інших сценаріїв. Сценарії, у яких GetKeyState слід додати третю гарячу клавішу (як та, яку я маю вище), не буде поводитись так, як сценарії із звичайними клавішами швидкої клавіші, і може запобігти повторенню сценарію так швидко, як зазвичай. Сподіваюся, що це допомагає.
snitzr

3
Я віддаю перевагу цьому більш лаконічному синтаксису і думав, що поділюсь би з вами: якщо не GetKeyState ("Alt", "P") ... Змініть відповідно до своїх потреб. Ура.
Маріо Авад
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.