AutoHotKey прерывает AltGr при замене Ctrl на Capslock - PullRequest
0 голосов
/ 04 августа 2020

Я хочу поменять местами LCtrl и Capslock keys, но у меня нет прав администратора на машине, поэтому я выбрал маршрут AutoHotKey. Я использовал следующий сценарий, как это предлагается в официальных документах (за исключением того, что я не хочу shift + capslock, а действительно меняю их местами):

LCtrl::Capslock
Capslock::LCtrl

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

Как правильно поменять местами LCtrl и Capslock ключи?

РЕДАКТИРОВАТЬ: На самом деле, даже если бы я использовал +Capslock::Capslock, упомянутый в документации, тогда AltGr+e печатает (обратите внимание на 2 дополнительных пробела).

1 Ответ

0 голосов
/ 07 августа 2020

Вы можете сделать переназначение контекстно-зависимым:

#If !GetKeyState("RAlt") ; if AltGr is not pressed

    LCtrl::Capslock
    Capslock::LCtrl
    
#If

https://www.autohotkey.com/docs/commands/_If.htm

...