AutoHotkey (клавиатура ЕС): как переназначить LCtrl при сохранении AltGr

Я искал прошлые вопросы, но я не нашел решение переключить LAlt с LCtrl (или CapsLock с LCtrl), сохраняя полностью AltGr, что соответствует Ctrl + Alt (или, может быть, LCtrl + RAlt?).

Это самый близкий вопрос, но я не могу использовать Registry, у меня ограниченные привилегии. Переключить Ctrl и Alt с помощью AutoHotKey без использования переключателя Alt-Tab?

Также связаны: https://code.google.com/p/uawks/issues/detail?id=2

Я использую любой из этих простых скриптов:

LAlt::LCtrl LCtrl::LAlt 

Второй:

 LCtrl::CapsLock CapsLock::LCtrl 

Всякий раз, когда я нажимаю AltGr с любым другим ключом, что-то застревает, и я должен нажать случайным образом Alt, Ctrl, пока не смогу написать снова. Если я использую второй скрипт, CapsLock активируется!

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

Обновить

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

 <^>!::RAlt 

Почему переназначение AltGr как RAlt ALONE все еще создает эффект регулярного AltGr?

1) В то время как простой характер, логика этого поста трудно следовать для тех из нас, без клавиатуры AltGr, чтобы просто пройти тест. Я говорю для себя во всяком случае … для понимания, это может помочь прояснить, какой из двух строк вы говорите, а затем список ключей, которые вы нажимаете (и в каком порядке), а затем список того, что Результаты вы получите. Затем перечислите следующий скрипт, ключи и результаты. Или, может быть, другим это не нужно, но мне было немного сложно следовать, хотя я считаю, что у вас есть вся важная информация, перечисленная.

2) Вы просматривали переназначения горячих клавиш в файлах справки? Я заметил две вещи, с которыми вы, возможно, захотите поиграть. Во-первых, использование * в качестве модификатора. Во-вторых, использование «Up» для запуска по восходящему движению для отправки другого восходящего удара (т. Е. Посылать восходящий ход для другого модификатора). Посмотрите на переопределение LWin, указанное в разделе «Горячие клавиши» в файле справки:

 *LWin::Send {LControl Down} *LWin Up::Send {LControl Up} 

3) Иногда ситуация застревает, и когда это происходит, вы иногда можете обойти это, отправив команды «Вверх», даже если ключ уже вставлен. Технически это может не понадобиться, но иногда оно работает (а иногда и не бывает).

4) Он может (или не может) служить для просмотра в списке истории ключей через меню «Вид». Часто вы можете найти, почему вещи застревают или почему они пропускают пропуски, просматривая ключи заказа, обрабатываются (т. Е. Порядок, в котором они перечислены) и независимо от того, проигнорированы ли они по различным причинам.

5) Как показывает пример переопределения LWin, вы можете использовать команду «Отправить» или «SendInput» для большей гибкости во время устранения неполадок (если вы не нуждаетесь в ней, вы можете обойтись и сделать код чище, но Это ничего не болит). Например, использование команды «Отправить» упрощает привязку другого символа или нажатия клавиши на одно назначение горячей клавиши, затем посмотрите порядок стрельбы в списке истории ключей, чтобы увидеть, что он думает, нажал и в каком порядке.

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

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

 *LAlt::Send {LCtrl Down} *LAlt Up::Send {LCtrl Up} *LCtrl Up::Send {LAlt Up} *LCtrl:: Send {LAlt Down} Pause ; once the script is paused you can go look at Key History Return 
  • Как я могу изменить ярлык по умолчанию в Windows для закрытия программ?
  • Связывание Super + C Super + V для копирования и вставки
  • Как предотвратить Alt + Shift от переключения раскладки клавиатуры перед клавиатурой?
  • Как создать FileFolder в Windows?
  • Ярлык для манипуляции с текущим URL-адресом
  • Как создать ярлык для настроек ПК?
  • Как вы настраиваете быстрые клавиши Excel 2010?
  • Запуск в качестве другого пользователя в ярлыке
  • Как набрать французские акценты на английской клавиатуре с помощью «ALT»
  • Создание ярлыка для несуществующей папки в Windows XP
  • Есть ли список специальных каталогов / ярлыков Windows (например,% TEMP%)?
  • Давайте будем гением компьютера.