Подключив клавиатуру Apple Keyboard with Numeric Keypad к компьютеру с ОС Windows 8.1 я столкнулся с стандартной проблемой раскладки. Раскладка клавиатур Apple отличается от Windows, к который мы все привыкли, а так как при печати я смотрю на клавиатуру, постоянно путался со знаками препинания и буквой “Ё”, которую постоянно использую. Поэтому стал смотреть в сторону создания кастомной, в моём случае Apple, раскладки.
Для создания кастомной раскладки, Microsoft предлагает программу Microsoft Keyboard Layout Creator (MKLC). Требует Framework 2.0.50727.
Для примера создадим русскую раскладку клавиатуры Apple.
1. Откроем программу
2. Выберем тип расположения клавиш на клавиатуре в меню View –> Options
3. Чтобы не настраивать каждую клавишу, загрузим существующую в системе русскую раскладку в меню File –> Load Existing Keyboard…
4. Присвоим имя и описание раскладке в меню Project –> Properties. Выполняя одиночный клик на клавишах делаем необходимые изменения. В итоге получится:
И тоже самое, только с “нажатым” Shift
5. Напоследок проверим как работает новая раскладка. Для этого вызовем тест раскладки в меню Project –> Test Keyboard Layout…
6. Если ошибок нет, соберём пакет новой раскладки в меню Project –> Build DLL and Setup Package.
На выходе получим файлы для установки.
7. Для установки с правами администратора запускаем setup.exe, установка пройдёт автоматически, система сообщит об успешной установке
8. В языковых параметрах системы остаётся только настроить раскладки клавиатуры
9. Для того, чтобы новая раскладка работала на экране приветствия и для новых пользователей, необходимо скопировать текущие настройки пользователя в профиль системы и в профиль пользователя по умолчанию.
10. Для восстановления или удаления раскладки из системы, необходимо запустить сформированный на шаге 6 setup.exe и выбрать необходимый параметр.
У такой раскладки только одна проблема. Она кириллицу не правильно печатает в ПО написанном до внедрения UTF.
С нестандартными раскладками кириллица в до-UTF-ных программах печатается абсолютно так же правильно, как и со стандартными. Надо указывать язык в свойствах проекта и проверять в блокноте начало и конец KLC-файла.
Там должно быть так:
LOCALENAME "ru-RU"
LOCALEID "00000419"
И, возможно, ещё так:
LANGUAGENAMES
0409 Russian (Russia)
А какой клавишей в Win клавиатуре Вы заменили "option" от Apple? Ведь клавиша "FN" не задействована в MKLC.
Клавиши Fn и Option не имеют отношения к раскладке, поэтому в приложении они не описываются.
Option -- Клавиша Alt
Command -- Клавиша Win
Спец. символ который в Mac можно вставлять с помощью Shift+Option+K, конечно работать не будет. В приложении есть возможность сделать это, по аналогии можно назначить на Alt+Ctrl+K.
Под вин10 новые раскладки так ставятся и старые удаляются. Но в процессе работы как-то старые сами собой восстанавливаются, в итоге - путаница раскладок. Что делать?
да почему не работает? вроде всё правильно сделал.
Спасибо за статью! Познавательно. Почему-то раскладка не работает на Windows 10. Вы случайно не знаете, в чем может быть причина? Все делал по инструкции, установил от администратора. В настройках языка в "параметрах" она отображается, а на языковой панели - нет. И ввод не работает с нее.
Я застрял на 6 слайде, я нажимаю Project –> Build DLL and Setup Package, потом мне пишет всё ок, и вылетает кучу ошибок и во всех них пишется: CL.EXE returned 1
RC.EXE returned 1
LINK.EXE returned 1
Что в таком случае делать?
та же проблема
С удивлением читаю комментарии о том, что "не работает".
Специально попробовал проделать всё тоже самое на Windows 11 -- работает. Расклада добавляется и работает нормально.
Единственное отличие в том, что в параметрах новая расклада начинает отображаться только после ребута/релогина. Скорее всего это связано с тем, что спустя за прошедшие ~7 лет обновлений MKLC не было, а ОС как мы все знаем обновляется стабильно.
А как бы повесить эту всю прелесть на ЛЕВЫЙ альт ?
Всё таки так привычнее, что ли, модификаторы левой рукой кнопать.