Разработка пользовательской виртуальной клавиатуры для Windows 10

Я хотел бы создать настраиваемую виртуальную клавиатуру для сенсорного ввода в Windows 10. Я в первую очередь разработчик, но если Windows 10 Dev похожа на предыдущую версию, мне, вероятно, придется вернуться к C / C ++. Я хочу иметь возможность определять все, форму, области и данные, которые он выплевывает при нажатии клавиш.

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

введите описание изображения здесь

Я опытный программист бизнес-приложений, но я не знаю, с чего начать. Я видел этот статья для клавиатуры Windows 7, но я надеюсь, что все изменилось для Windows 10.

Мои вопросы:

  1. Можно ли создать обычную виртуальную клавиатуру, которая интегрируется изначально?
  2. Как интегрировать его с селектором виртуальной клавиатуры Windows 10 (на фото)?
  3. С чего мне начать?

Любая помощь / направление / слова мудрости будут оценены.

Обновление: я думаю, возможно, я не объяснил это очень хорошо. Я хочу создать виртуальную клавиатуру, которая не имеет форму, отличную от обычной, и по сути работает как быстрая клавиатура. Вы нажимаете клавишу, и она вставляет предустановленный фрагмент текста в контекстное окно. И выбирается из виртуальных клавиатур изображенных вариантов (синий бит).

8

Решение

Обновить:

Я просто пытался использовать Диспетчер раскладки клавиатуры… OMG, намного проще в использовании, чем MSKLC, и он работает на Windows 10; но я все еще видел сообщение «Недоступный метод ввода».


На самом деле, я просто добавил пользовательский макет, используя MS Keyboard Layout Creator.

Изменение макета также изменяет способ отображения клавиш на физической клавиатуре..

Хитрость заключается в том, что вы можете разработать новый макет в Windows 10, но вы не можете использовать метод «Сборка DLL и установочный пакет» в Windows 10, потому что программе нужны .NET Framework 2.0. Я попытался установить v2.0 в моей системе, но он просто не сделал бы этого. Мне удалось собрать файлы в системе Windows 8.1.

Шаги, чтобы принять:

  1. Скачать & установить MS Keyboard Layout Creator на Windows 8.1 или более раннюю систему
  2. Убедитесь, что установлен .NET Framework 3.5 (включая .NET 2.0 и 3.0) или более ранней версии.
  3. Создай свой макет; перед сохранением обязательно запомните, какой базовый язык установлен.
  4. Проект> Проверить макет
  5. Проект> Сборка DLL и установочный пакет
  6. Будет создана папка, содержащая следующую структуру («mylayout» будет именем, которое вы выбрали)

    mylayout
    |_ amd64
    |  |_ Mylayout.dll
    |_ i386
    |  |_ Mylayout.dll
    |_ ia64
    |  |_ Mylayout.dll
    | wow64
    |  |_ Mylayout.dll
    |_ Mylayout_amd64.msi
    |_ Mylayout_i386.msi
    |_ Mylayout_ia64.msi
    |_ setup.exe
    
  7. Установите соответствующий файл

  8. Настраиваемая клавиатура теперь должна отображаться в виде раскрывающегося списка на виртуальной клавиатуре, если не выбрано «Языковые настройки».
  9. Теперь вы должны быть на странице «Страна или регион». Отсюда, если клавиатура основана на языке, язык будет отображаться здесь, или он может быть добавлен на существующем языке (например, «Английский (США)») … нажмите на язык, затем выберите «Опции» ,
  10. Вы должны увидеть вашу собственную клавиатуру, добавленную здесь. Если нет, выберите «Дополнительная дата, время» & региональные настройки », затем« Изменить методы ввода ». Затем нажмите« Параметры »на пользовательском языке. Это позволит вам предварительно просмотреть макет отсюда.

Предостережение: Изначально я выбрал базовую «британскую» раскладку & появилась опция гэльского языка. это сделал добавить опцию к виртуальному переключателю языка клавиатуры, но во второй раз я начал с базовой раскладки Dvorak в США, и выбор мне не показался. В разделе метода ввода панели управления я увидел сообщение «Недоступный метод ввода». Я не уверен, как обойти эту проблему.

Может быть, вам повезет больше.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]