Можно ли сделать так, чтобы сочетание клавиш Ctrl+Alt НЕ действовало как AltGr в Windows?

Можно ли сделать так, чтобы сочетание клавиш Ctrl+Alt НЕ действовало как AltGr в Windows?

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

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


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

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

решение1

Я провел более глубокое исследование и посмотрел на другие ответы. Кажется, что короткий ответ такой:Нет! Windows лечит 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. Это простой инструмент, позволяющий изменять раскладку клавиатуры. (Ссылка для скачивания)
  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
https://devblogs.microsoft.com/oldnewthing/20040329-00/?p=40003
http://www.autohotkey.com/board/topic/61625-как-избежать-этого-ctrl-alt-altgr/

решение2

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

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

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

решение3

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

решение4

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

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

Я сам им не пользовался, но знаю человека, который им пользовался и остался им вполне доволен.

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

Связанный контент