Я пропоную використовувати AutoHotkey .
Він дозволяє перезавантажувати ключ, з або без його споживання (тобто він все ще може функціонувати як сам) по всій системі або лише тоді, коли певне вікно знаходиться в фокусі (наприклад, Vim).
По-перше, вам слід зробити ярлик для переходу конкретно на англійський макет, а не переходити на "інший". У мене на комп’ютері є 4 макети (мови); Alt+ Shiftпереходить на наступний, але Ctrl+ 1завжди переходить на англійську. Для цього перейдіть до Панелі управління> Годинник, мова та регіон> Мова> Додаткові налаштування (на бічній панелі), потім в розділі "Переключення методів введення" натисніть на "Змінити гарячі клавіші мовної панелі" та виберіть ярлик для переходу на Англійська.
Ось приклад сценарію AutoHotkey, який змушує Escapeключ надсилати Ctrl+ 1кожного разу, коли його натискати, поки активне вікно зі словом "Vim":
#IfWinActive, Vim
~Escape::^1
Завантажте програму, покладіть код у файл сценарію (* .ahk) та запустіть його. Якщо ви хочете, щоб відображення працювало в системі, видаліть перший рядок.
Ви можете знайти більше інформації про те, як використовувати різні клавіші в скрипті тут .