Подтвердить что ты не робот

Сделать AutoHotKey игнорировать Alt как клавишу меню

Я пытаюсь использовать autohotkey для имитации элементов клавиатуры Mac на клавиатуре ПК (Windows). Моя мышечная память достигает ключевого слова Command для выполнения простых задач, таких как копирование и вставка, поэтому я хотел бы переделать комбинацию клавиш с левым Alt + буквой в соответствующую ctrl + letter.

<!c::Send ^c

В большинстве случаев он отлично работает, за исключением части времени в приложениях IE и Office. Когда вы нажимаете левый Alt, он нажимает на офисную ленту/меню (т.е. Строка меню отображается в IE, или появляются буквы ленты в Office 2010), а комбинация ctrl + letter не достигает адресата.

Я прочитал форумы AHK FAQ +, попробовал пару опций с UP и $модификаторами для горячей клавиши, но это не устранило проблему. Есть идеи?

4b9b3361

Ответ 1

Это не позволяет левой клавише Alt активировать панель меню для большинства приложений (под Windows 7 и AutoHotkey 1.1.11.01):

~LAlt Up:: return

Он не работает с Internet Explorer, но я все равно не использую IE.:)

Кстати, я также убил раздражающее всплывающее меню с помощью:

~LWin Up:: return
~RWin Up:: return

Ответ 2

Использование

LAlt::LCtrl

поместите его в файл ahk, скомпилируйте его и запустите .exe с правами администратора

щелкните правой кнопкой мыши → Запуск от имени администратора

Я тестировал его на Windows 7, и он работает, LAlt больше не срабатывает нигде и полностью заменяется на LCtrl.

Ответ 3

Просто проверил это на Win-7, и он работает даже с IE.

00 00 00 00 00 00 00 00 03 00 00 00 1d 00 38 00 38 00 1d 00 00 00 00 00 00

Вот текст SwapCtrlAlt.reg.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,38,00,38,00,1d,00,\
  00,00,00,00,00

Ответ 4

Похоже, вам нужен модификатор подстановки. Это сделает так, если ваша горячая клавиша нажата в сочетании с другой клавишей. Отображение все еще работает. Попробуйте следующее:

*LAlt::LCtrl

Это сделает Alt огонь Ctrl для любой комбинации Alt +.

Ответ 5

Использование

LAlt::LCtrl

это заменит LAlt на LCtrl

Ответ 6

вы также можете поменять две кнопки.

Что-то вроде:

LAlt::LCtrl
LCtrl::LAlt

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

Ответ 7

Я боюсь, что IE ведет себя иначе, чем большинство других приложений. Вы можете попробовать следующие инструкции. Это НЕ autoHotKey, но изменения regedit. B.t.w. Я проверил, будет ли ScanCodes работать (SC38 для LAlt), но IE все еще игнорирует это.

Не уверен, что это работает в Vista/Win7/8, но стоит посмотреть.

http://www.designcodeexecute.com/2006/11/04/swap-alt-and-ctrl-keys-in-windows-xp/