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

Как глобально отобразить AltGr-ключ в Alt?

Я хочу, чтобы мой ключ AltGr вел себя точно так же, как и левый Alt.
Обычно я делаю такие вещи с Autohotkey, но я открыт для разных решений.

Я пробовал это:

LControl & RAlt::Alt

И Autohotkey отображал ошибку о Alt не распознаваемом действии.
Затем я попробовал следующий код:

LControl & RAlt::
  Send {Alt down}
  KeyWait LCtrl
  KeyWait Ralt
  Send {Alt up}
return

какой вид работ - я могу использовать ключ AltGr для доступа к горячим клавишам, но он по-прежнему ведет себя по-другому:
Когда я нажимаю и отпускаю левый Alt, первый пункт меню в текущей программе получает фокус.
Нажатие и отпускание AltGr с помощью этого script ничего не делает.

Любые идеи? Возможно ли это с помощью Autohotkey? (переопределение справа Ctrl и Shift к их левым братьям и сестрам было куском торта)


Примечание. Я попытался переключить Alt на LAlt в код, и это не имело никакого значения.
4b9b3361

Ответ 1

Спасибо всем за ответы. Я не смог решить эту проблему с помощью AutoHotkey - ответ PhilLho был близок, но мне действительно нужно было то же поведение, что и с левой клавишей Alt.

Тем не менее, реестр действительно работал так, как мне нужно.

Сохраните это как файл AltGR_to_LeftAlt.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,02,00,00,00,38,00,38,e0,00,00,00,00

Или есть инструмент с графическим интерфейсом, который делает это за вас - он называется SharpKeys и работает персиково:
SharpKeys in action

О, и не забудьте перезагрузить компьютер или выйти из системы - до тех пор это не сработает!

Ответ 2

Как указано PhiLho, Windows предоставляет способ переназначить любой ключ через раздел реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout. Основной обзор можно найти на Scan Code Mapper для Windows. Лучшее описание, вероятно, Ответы на скэнкодное сопоставление или изменение значений ключа.

Я использую этот подход, чтобы поместить Windows Key в Caps Lock, потому что у моей клавиатуры нет Windows Key, и мне не нужен Caps Lock.

Ответ 3

Я получил приличное поведение, сочетая две горячие клавиши:

LControl & RAlt::Send {Alt}
RAlt::Alt

Первый предназначен для автономного нажатия клавиш (избегайте удерживать его нажатым...), второй - для комбинации (Alt + F и т.д.).
Это не идеально, вы не можете сделать комбинацию типа Ctrl + Alt + T, но, возможно, этого достаточно для ваших нужд.

Обратите внимание, что вы можете сделать постоянное переназначение с помощью реестра. Смотрите этот пост на форуме для примера. Не уверен, что это относится к составным ключам, как этот, но я подумал, что должен упомянуть об этом...

Ответ 4

Это сработало для меня:

LControl & *RAlt::Send {LAlt Down}
LControl & *RAlt Up::Send {LAlt Up}

И это для сопоставления его с ключом Windows:

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

Изменение реестра с использованием SharpKeys (см. выше) более надежное, хотя (если у вас есть доступ администратора).

Ответ 5

В AHK вы можете:

LControl & RAlt::!

или

<^>!::!

Ответ 6

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

Ответ 7

Редактор реестра Windows версии 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Layout Layout] "Scancode Map" = hex: 00,00,00,00,00,00,00,02,00,00,00,38,00,38, e0,00,00,00,00

  • Сохранить указанный выше код в реестре
  • Объединить его в реестр
  • перезагрузите компьютер
  • теперь проверьте