1

Я использую Autohotkey для сопоставления Ctrl+w с Alt+w для Cloud9, чтобы закрыть внутренние вкладки с помощью Ctrl+w, как обычно, вместо их Alt+w. Я попытался использовать следующее простое сопоставление

^w::!w

Но он посылает Ctrl+Alt+w с закрытием всех вкладок, кроме текущей, что было не то, что я хотел.

Как я могу сказать autohotkey на самом деле не отправлять клавишу Ctrl, которую я нажимаю для этой горячей клавиши?

2 ответа2

2

Вместо этого попробуйте следующее:

Ctrl & w::Send !w

AutoHotKey имеет специальную обработку для переназначения клавиши Ctrl на клавишу Alt :

Когда исходным ключом является LCtrl, а целевым ключом является клавиша Alt, строка Send {Blind} {LAlt DownTemp} заменяется на Send {Blind} {LCtrl Up} {LAlt DownTemp}. То же самое верно, если источником является RCtrl, за исключением того, что используется {RCtrl up}.

Эта специальная обработка специально разработана для предотвращения наблюдаемого вами поведения. Если вы думаете о более простом переназначении, таком как p::v , вы, вероятно, захотите, чтобы Ctrl P обрабатывался как ^v чтобы вы могли вставить его с помощью P. В общем, AutoHotKey пытается разрешить модифицирующим клавишам делать свое дело при запуске горячей клавиши.

0

Это может быть связано с этим:

^ x::^ c Делает Control-X производящим Control-C. Это также заставляет Control-Alt-X производить Control-Alt-C и т.д.

Он взят со страниц справки AutoHotkey.

Что вы сделали, так это: Control-W производит Alt-W.

Вы сказали, что хотите использовать Ctrl+W, чтобы закрыть вкладки.

Если Ctrl-W выдает Cltrl-Alt-W, поскольку одновременно выдает Alt-W и Cltr-W, это означает, что приложение успевает перехватить внутренний сигнал.

Это может быть из-за того, что приложение ищет ключи BIOS или из-за того, что эта горячая клавиша реагирует недостаточно быстро.

Я помню, что была возможность поставить автоотключатель в режим ожидания для x-времени или заставить отправлять больше сигналов одновременно.

Одновременная отправка большего количества сигналов не позволит ключу из биоса добраться до приложения. AutoHotkey всегда переводит штрих, поэтому приложение будет считывать только правильные клавиши / сигналы AutoHotkey.

Надеюсь, мое длинное объяснение помогло вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .