Я исследовал дальше и посмотрел на другие ответы. Похоже, короткий ответ: нет! Винда лечит Ctrl + Alt и AltGr одинаково .
Но есть взлом. По сути, мы не позволяем Windows обрабатывать AltGrпривязки клавиш и вместо этого используем сторонний инструмент, который знает разницу. Мы делаем это вручную для каждого ключа.
Этот хак не работает с " мертвыми ключами ", такими как ~или ^.
,
Часть 1. Позвольте AutoHotKey преобразовать AltGr+ Some Key в символы
AutoHotKey может различать AltGrи Ctrl+ Alt. Он также может преобразовывать нажатия клавиш, такие как AltGr+,2 в один символ @
, прежде чем Windows применяет раскладку клавиатуры.
- Скачайте и установите AutoHotKey
- Создайте новый скрипт, т.е. простой текстовый файл с расширением
.ahk
- Для каждого персонажа вы хотите написать с AltGr+ BUTTON= CHAR, создать строку:
<^>!BUTTON::SendInput {raw}CHAR
Пример: AltGr+ 2= @ становится<^>!2::SendInput {raw}@
- Сохранить скрипт
Если вы хотите протестировать свой скрипт, вы можете создать произвольное отображение, например <^>!t::SendInput {raw}tttt
. Дважды щелкните по сценарию, чтобы применить его, и проверьте, производит ли AltGr+ tчетыре t при вводе.
,
Часть 2.
Удалите окна с пути: мы хотим удалить все назначения AltGr+ Any Keyна их клавиатуре, чтобы Windows никогда не конвертировала их в символы.
Сначала нам нужно создать новую раскладку клавиатуры.
- Загрузите Microsoft Keyboard Layout Creator . Это простой инструмент, который позволяет изменять раскладку клавиатуры. ( Ссылка на скачивание )
- Откройте инструмент и
File -> Load Existing Keyboard
выберите раскладку клавиатуры.
- Выберите
File -> Save source as
и дайте ему новое имя.
- Поставьте флажок
Alt+Ctrl (AltGr)
.
Вы можете выбрать, File -> Save as Image
чтобы сделать заметку об исходных назначениях.
- Удалите все назначенные ключи, щелкнув их, удалив символ, и нажмите «
OK
Не очищать мертвые ключи»! (Серые). Проверьте все модификаторы , т.е. AltGr, Ctrl, Altили нет!
- Идите
Projet -> Propertie
и дайте ему достойное имя и описание.
- Сохраните это:
File -> Save Source File
чтобы вы могли редактировать его позже
- Настройка экспорта:
Project -> Build DLL and Setup Package
Затем нам нужно применить эту новую раскладку клавиатуры.
- Найдите экспортированные установочные файлы в папке «Документы» и дважды щелкните
setup.exe
. Это установит вашу новую раскладку клавиатуры.
- Откройте настройки ввода, перейдя в
Control Pannel -> Change keyboards and other input methods -> Change keybords
- Нажмите
Add
выберите свою клавиатуру и установите ее по умолчанию.
Вернитесь сюда и снимите стандартную клавиатуру, как только вы убедитесь, что все работает хорошо.
,
Часть 3: Пусть AutoHotKey вступит во владение:
Теперь давайте приведем все в действие:
- Убедитесь, что ваша новая клавиатура выбрана в языковой панели задач, и AutoHotKey не работает свернутым в панели уведомлений.
- Попробуйте ввести свои специальные символы. Это не должно работать.
- Дважды щелкните по сценарию AutoHotKey. Так что запускает
- Попробуйте ввести специальные символы еще раз. Это должно теперь работать AltGrтолько с.
- Чтобы скрипт загружался при запуске Windows, создайте для него
Start Menu\Programs\Startup
ярлык в папке
Это оно! (ツ) Вы можете поделиться файлами настройки раскладки клавиатуры и .ahk
сценарием с другими компьютерами, чтобы пропустить большинство шагов.
Другие ресурсы:
http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/replace-default-windows-keyboard-shortcut-behavior/0c5ff2a4-6bea-49a9-88bc-669049a1e107
http: // office.microsoft.com/en-us/word-help/alt-gr-keys-HP005259063.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2004/03/29/101121.aspx
http: //www.autohotkey.com/board/topic/61625-how-to-avoid-that-ctrl-alt-altgr/