AutoHotKey: клавиши-модификаторы клавиатуры в стиле MacOS в Windows?

272
Ryan Hart

Я новый пользователь AutoHotKey, и последние пару часов я гуглю в поисках существующих примеров того, что я пытаюсь сделать, но ничто из того, что я нашел, не сработало.

Я только что переключился с MacOS на Windows 10 на Surface Pro 6, и я пытаюсь изменить клавиши-модификаторы Windows, чтобы они больше походили на раскладку клавиатуры Mac, где вместо Ctrl + [что угодно] это Command + [что угодно]. На клавиатуре, которую я использую, текущая клавиша Alt находится в том месте, где клавиша Command была бы на Mac, рядом с пробелом. Я хочу использовать эту клавишу Alt для всех сочетаний клавиш Ctrl + [заполнить пробел] для общесистемной замены клавиш Alt и Ctrl.

Сложная часть это. Я хочу оставить Alt + Tab, Shift + Alt + Tab, Ctrl + Tab и Shift + Ctrl + Tab такими, какими они были, без изменений.

Это так близко, как я смог получить, но у него все еще есть проблемы. Если я оставлю первые 2 строки, я получу замену клавиш Ctrl и Alt, но с 3 строкой кажется, что она отменяет первую строкуAlt::Ctrl

Alt::Ctrl Ctrl::Alt LAlt & Tab::AltTab 

Я обычно не один, чтобы публиковать вопросы в Интернете. Я предпочитаю искать ответы других людей, но пока не повезло. Любая помощь будет оценена.

Редактировать:

Итак, у меня есть в основном полное решение для себя. Я использовал SharpKeys для переназначения поменять местами Left Control и Left Alt.

После этого все, что мне нужно сделать, это поменять местами клавиши Ctrl + Tab и Alt + Tab с помощью AutoHotKey. В основном я забочусь о внедрении, AltTabпоскольку я бы редко использовал ShiftAltTab. Я также редко использую Ctrl + Tab для переключения между вкладками. Так что мое неполное решение таково:

#If GetKeyState("Shift", "P") LCtrl & Tab::ShiftAltTab  #If !(GetKeyState("Shift", "P")) LCtrl & Tab::AltTab 

В настоящее время только LCtrl & Tab::AltTabработает, и #Ifусловия, кажется, игнорируются. Любой совет, почему это и как это исправить?

Редактировать:

Теперь, когда я редактировал это пару раз. Я вижу, что я использовал LAlt & Tab::AltTabвместо LCtrl & Tab::AltTab. Это была одна из проблем.

0
Обычно я публикую это для людей, которые только что перешли с Win на Mac, но суть та же ... Привыкайте к этому. Не боритесь с этим, просто изучите смену парадигмы. Это будет намного проще в долгосрочной перспективе. Tetsujin 2 года назад 1
Дело не в том, чтобы привыкнуть к этому. Положение клавиши Command эргономически лучше, чем использование Ctrl для 99% сочетаний клавиш. Зачем мне заставлять свои руки танцевать, когда я могу просто использовать клавиши, на которых уже лежат мои пальцы? Ryan Hart 2 года назад 1
Кроме того, я только что вернулся на эту страницу после идеи. Я могу использовать SharpKeys (я использовал его на своем игровом ПК), чтобы поменять местами Ctrl и Alt. На данный момент AutoHotkey не будет знать разницу, и тогда я могу просто переключить Alt + Tab на Ctrl + Tab. Ryan Hart 2 года назад 0
Если вы используете Windows, используйте ее. Не пытайтесь это сделать, потому что результат будет только плохим. Клавиатура слишком тесно связана с приложениями на Windows и Mac. Купите другую клавиатуру с лучшей эргономикой, если хотите. harrymc 2 года назад 0
Все возможно. И если ничего не сломалось, ты просто еще не придумал ничего лучшего. Ryan Hart 2 года назад 0
я думаю, что это почти невозможно достичь, см. [соответствующий ответ здесь] (https://superuser.com/a/1360531/456981) После того, как вы поменялись местами Alt и Ctrl, невозможно использовать Ctrl-Tab, он станет конечно Alt-Tab также. Возможно, вам повезет, если вы перепрограммируете ключи через реестр. Но, честно говоря, если вам нравятся комбинации клавиш Alt +, я бы порекомендовал вам просто установить важные и связать их отдельно, например, `! C :: send ^ c` и т. Д. Mikhail V 2 года назад 0
Я пробую альтернативное решение - просто поменять местами левый ctrl и клавишу caps lock, что является довольно распространенной настройкой, которую обычно делают пользователи EMACS, поскольку все время используется так много горячих клавиш ctrl + ____. Таким образом, я могу оставить все нетронутым и все еще иметь эргономику, которую я искал. Ryan Hart 2 года назад 0

0 ответов на вопрос