Могу ли я заставить Ctrl + Alt НЕ действовать как AltGr в Windows?

33

Многие приложения, такие как Google Docs, используют Ctrl+ Altярлыки, такие как Ctrl+ Alt+ 2для заголовка 2, Ctrl+ Alt+ mдля комментариев и т. Д. Однако, в случае международных раскладок клавиатуры, Ctrl+ Altсопоставляется AltGr, поэтому многие из этих ярлыков вместо этого производят специальные символы, например Ctrl+ Alt+ 2= @. Поэтому эти ярлыки не могут быть использованы.

Есть ли способ отключить это Ctrl+ Alt= AltGr, так что AltGr+ 2= @ но Ctrl+ Alt+ 2можно использовать как ярлык?


Ранее был пост с ответами, связанными с этой проблемой:

Оба решения, однако, связаны с полным отменой назначения специального символа. Эти решения не отключают привязку Ctrl+ Alt= AltGr. Это означает, что для использования Ctrl+ Alt+ 2в качестве ярлыка я вообще не могу писать @, что, естественно, не вариант.

Bittenus
источник
3
Вы пробовали AutoHotKey
Дейв
Ты когда-нибудь делал сценарий? Если да, не могли бы вы поделиться?
Zackh105

Ответы:

17

Я исследовал дальше и посмотрел на другие ответы. Похоже, короткий ответ: нет! Винда лечит Ctrl + Alt и AltGr одинаково .

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

Этот хак не работает с " мертвыми ключами ", такими как ~или ^.

,

Часть 1. Позвольте AutoHotKey преобразовать AltGr+ Some Key в символы
AutoHotKey может различать AltGrи Ctrl+ Alt. Он также может преобразовывать нажатия клавиш, такие как AltGr+,2 в один символ @, прежде чем Windows применяет раскладку клавиатуры.

  1. Скачайте и установите AutoHotKey
  2. Создайте новый скрипт, т.е. простой текстовый файл с расширением .ahk
  3. Для каждого персонажа вы хотите написать с AltGr+ BUTTON= CHAR, создать строку:
    <^>!BUTTON::SendInput {raw}CHAR
    Пример: AltGr+ 2= @ становится<^>!2::SendInput {raw}@
  4. Сохранить скрипт

Если вы хотите протестировать свой скрипт, вы можете создать произвольное отображение, например <^>!t::SendInput {raw}tttt. Дважды щелкните по сценарию, чтобы применить его, и проверьте, производит ли AltGr+ tчетыре t при вводе.

,

Часть 2.
Удалите окна с пути: мы хотим удалить все назначения AltGr+ Any Keyна их клавиатуре, чтобы Windows никогда не конвертировала их в символы.

Сначала нам нужно создать новую раскладку клавиатуры.

  1. Загрузите Microsoft Keyboard Layout Creator . Это простой инструмент, который позволяет изменять раскладку клавиатуры. ( Ссылка на скачивание )
  2. Откройте инструмент и File -> Load Existing Keyboardвыберите раскладку клавиатуры.
  3. Выберите File -> Save source asи дайте ему новое имя.
  4. Поставьте флажок Alt+Ctrl (AltGr).
    Вы можете выбрать, File -> Save as Imageчтобы сделать заметку об исходных назначениях.
  5. Удалите все назначенные ключи, щелкнув их, удалив символ, и нажмите « OK
    Не очищать мертвые ключи»! (Серые). Проверьте все модификаторы , т.е. AltGr, Ctrl, Altили нет!
  6. Идите Projet -> Propertieи дайте ему достойное имя и описание.
  7. Сохраните это: File -> Save Source Fileчтобы вы могли редактировать его позже
  8. Настройка экспорта: Project -> Build DLL and Setup Package

Затем нам нужно применить эту новую раскладку клавиатуры.

  1. Найдите экспортированные установочные файлы в папке «Документы» и дважды щелкните setup.exe. Это установит вашу новую раскладку клавиатуры.
  2. Откройте настройки ввода, перейдя в Control Pannel -> Change keyboards and other input methods -> Change keybords
  3. Нажмите Addвыберите свою клавиатуру и установите ее по умолчанию.
    Вернитесь сюда и снимите стандартную клавиатуру, как только вы убедитесь, что все работает хорошо.

,

Часть 3: Пусть AutoHotKey вступит во владение:
Теперь давайте приведем все в действие:

  1. Убедитесь, что ваша новая клавиатура выбрана в языковой панели задач, и AutoHotKey не работает свернутым в панели уведомлений.
  2. Попробуйте ввести свои специальные символы. Это не должно работать.
  3. Дважды щелкните по сценарию AutoHotKey. Так что запускает
  4. Попробуйте ввести специальные символы еще раз. Это должно теперь работать AltGrтолько с.
  5. Чтобы скрипт загружался при запуске 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/

Bittenus
источник
Другим ценным ресурсом является блог Майкла Каплана .
Петр Доброгост,
1
Удаление назначений клавиш AltGr + Key будет работать только в том случае, если ваш язык не требует использования AltGr
phuclv
Я получил это на вид работы. Проблема в том, что создатель раскладки клавиатуры содержит ошибки. Будьте готовы установить и удалить макеты несколько раз. Иногда деинсталляции не работают в первый раз. Описание не обновляется должным образом, что вы можете исправить в реестре Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts`, the DLLs can be found in System32`. Я отказываюсь сделать эту работу на 100% в этот момент
CervEd
Похоже, что Windows нужно перезагрузить компьютер, чтобы выполнить некоторые связанные с клавиатурой действия, например отразить обновленные описания и удалить удаленные клавиатуры с панели управления. Это было больше боли в заднице, чем я надеялся. Кажется, теперь все в порядке. Пришлось создавать явные команды с заглавными буквами в AutoHotKey, т. Е. Оба <^>!q::SendInput {raw}äи<+<^>!q::SendInput {raw}Ä
CervEd
1

Я бы порекомендовал вам взглянуть на AutoHotKey . Это бесплатный инструмент, и вы также можете легко менять эффекты быстрого доступа. Взгляните на Hotkey-Documentation на их сайте. Это действительно легко понять и действительно легко использовать. Вы можете переназначить каждый ключ / ярлык.

Кристиан Вёрц
источник
0

Я бы порекомендовал SharpKeys:

SharpKeys - это взлом реестра, который используется для того, чтобы определенные клавиши на клавиатуре действовали подобно другим клавишам. Например, если вы часто нажимаете Caps Lock, вы можете использовать эту утилиту, чтобы привязать Caps Lock к клавише Shift или даже полностью отключить ее. Этот официальный выпуск включает поддержку до 104 сопоставлений, обширный список доступных ключей и опцию «Тип ключа», которая помогает при управлении сопоставлениями.

Я не использовал это лично, но знаю кого-то, кто использовал это в прошлом и вполне доволен этим.

Я не уверен, но, возможно, может помочь переключение раскладки клавиатуры на (английский, Великобритания). Вот ссылка на то, как .

Август Фрэнсис
источник
Взглянул на SharpKeys, но кажется, что он отображает только одно нажатие клавиши на другое и не делает комбинаций, поэтому это не помогает :( Переключение раскладки клавиатуры не вариант, так как большинство символов находятся в других местах - даже число Ключи разные. Но спасибо за предложения
Биттенус
0

Я обнаружил, что цифровая клавиатура может использоваться вместо обычных цифровых клавиш для активации ярлыков Google Docs. Используя AHK, это работает и на ноутбуках без цифровых клавиш. Например,

<^<!2::SendInput ^!{Numpad2}

активирует заголовок 2 без печати @. Нет необходимости использовать MSKLC.

Себастьян I
источник
-3

нажмите и удерживайте клавишу NumLock в течение 5 секунд.

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

Я нашел ответ на компьютере здесь: «Панель управления \ Все элементы панели управления \ Удобство центра доступа \ Сделать клавиатуру проще в использовании» ... У меня есть галочка рядом с «Включить тумблеры, нажав и удерживая NUMLock для 5 секунд'....

user762656
источник
Пожалуйста, уточните и добавьте немного больше контекста к этому ответу, чтобы точно передать то, что вы предлагаете. Вы знаете, подумайте над добавлением ссылки на этот ответ в поддержку того, что вы заявляете. В противном случае, прочитайте «Почему мне нужно 50 репутации, чтобы комментировать», чтобы понять, как вы можете начать комментировать.
Сок Pimp IT