Как создать собственную раскладку клавиатуры Windows XP?

Мой отец нашел раскладку клавиатуры для русского языка, которая ему очень нравится здесь. Однако он нестандартен и поэтому не отображается в разделе «Языки» (Панель управления->Язык и региональные стандарты->Языки->Подробности->Текстовые службы и языки ввода->Добавить) раскрывающийся список для выбора раскладки клавиатуры. Насколько я понимаю, создание нового сопоставления должно быть простой задачей - возможно, редактирование XML-файла и перезагрузка. Кто-нибудь знает как это сделать?

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

Любой совет?


person George Mauer    schedule 28.11.2008    source источник
comment
Стоит отметить, что на этот вопрос также есть ответ здесь.   -  person 7heo.tk    schedule 29.05.2017


Ответы (2)


Существует эта утилита от Microsoft

Microsoft Keyboard Layout Creator (MSKLC) расширяет международную функциональность систем Windows 2000, Windows XP, Windows Server 2003 и Windows Vistas, позволяя пользователям:

  • Создавайте новые раскладки клавиатуры с нуля
  • Создайте новый макет на основе существующего
  • Измените существующую раскладку клавиатуры и создайте на ее основе новую раскладку.
  • Многоязычные локали ввода в полях управления редактированием.
  • Создавайте библиотеки DLL раскладки клавиатуры для платформ x86, x64 и IA64.
  • Упакуйте полученные раскладки клавиатуры для последующей доставки и установки.
person The Archetypal Paul    schedule 28.11.2008
comment
Я только что применил свое гугл-фу. Я не знал ответа, но был уверен, что Microsoft что-то здесь сделала :) - person The Archetypal Paul; 28.11.2008
comment
Чтобы установить созданную клавиатуру, перейдите в меню Project и выберите Build DLL and Setup Package внутри MSKLC, затем установите сгенерированный MSI. - person Evgeni Sergeev; 21.10.2013
comment
Если вы хотите переключаться между раскладками одним нажатием клавиши (я назначил для этого F12) и не хотите переназначать для этого ` (две другие опции Ctrl+Shift и Left Alt+Ctrl не являются однократными нажатиями клавиш ), см. эту страницу autohotkey.com/ board/topic/83557-need-r-to-send-alt-shift, чтобы узнать, как использовать AutoHotkey, чтобы нажать F12 для имитации Alt+Ctrl. (В приведенном там ответе назначено r, но замените r на F12 в двух местах, и это сработает.) - person Evgeni Sergeev; 21.10.2013

Попробуйте AutoHotKey (http://www.autohotkey.com/), я использую его для получения привязок клавиш emacs в обычном режиме. текстовые редакторы, я уверен, что это тоже справится.

редактировать: бит, который вы ищете, находится в кратком руководстве здесь: http://www.autohotkey.com/docs/Tutorial.htm#Send

person James Orr    schedule 28.11.2008