Сенсорная клавиатура своими руками

Обновлено: 07.07.2024

Программный вызов сенсорной клавиатуры в ОС Windows, для сенсорных мониторов, которые не определяются системой как hid-совместимый сенсорный экран. Тестировалось на платформе 8.3.9.2033, конфигурация Розница 1.0.16.8.

Проблема

Проблема, которая заставила меня написать данную статью, возникла при внедрении функционала в розничные магазины, который предполагает ввод некоторых данных. Исходные данные, сенсорный POS-Теринал, ОС Windows 10, Розница 1.0(Не имеет значения). Сенсор на POS-Терминалах не поддерживает мультитач и работает как обычная мышка. Попытки перевести систему в режим планшета и использовать сенсорную клавиатуру стандартными методами не увенчались успехом, клавиатура не появляется при активации поля ввода, плюс для не мультитач экранов режим планшета, это редкостное извращение. Информации по альтернативным способам работы с сенсорной клавиатурой найдено не было, поэтому пришлось изобретать велосипед.

Решение

И так, в обычном режиме сенсорная клавиатура не доступна и есть возможность использовать лишь экранную клавиатуру, которая в свою очередь менее удобна и так же не подразумевает свое появление при активации поля и закрыв ее придется что-то придумывать, чтобы она опять появилась (на самом деле не что-то, а можно просто выполнить команду osk.exe, экранная клавиатура появиться на экране).


Для того чтобы сенсорная клавиатура запустилась в обычном режиме нужно лишь запустить фоновый процесс:

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

Итоги

Кому это может быть полезно, сейчас в связи с законом ФЗ-54, на кассовых местах может потребоваться ввод адреса электронной почты, я специально опускаю ввод телефона, так как с цифровой клавиатурой особых проблем нет, это решение можно добавить во внешние обработки для работы с кассовыми аппаратами, так же такой способ ввода может упростить жизнь, если требуется заполнять какие-то данные по клиенту на кассовом месте.

Скажу честно, мы не ввели данный функционал в эксплуатацию и не факт, что введем, у нас не запущен процесс explorer на моноблоках, что не позволяет задействовать сенсорную клавиатуру. Будем думать, что нам важнее. Исходники компоненты, выкладывать не буду, так как они делались для теста и не несут, какой-то нужной информации, кому очень захочется пишите в ЛС вышлю без вопросов. В архиве готовая библиотека и тестовая обработка, основные моменты описаны в статье. Надеюсь кому-то это пригодится.

Цитирую автора проекта, при ответе мне в жаббер на этот коммент:

[19:57:23] хах, мелковата картинка просто =)
[19:57:31] белая - это перемычка
[19:57:42] под ней проходит горизонтальный проводник

Посмотрел документ на сайте атмела, понял. На атмеловской плате стоят перемычки, чтобы строки и столбцы были непрерывны.

Сенсорная клавиатура

Я сделал проще используя всего 2 ножки. и того для 16 кнопок надо 8 ног.
для перезаряда использовал диод шотки через него сенсорный кондер и разряжался. а на обратную сторону подавал меандр.
схема такая.
порт (меандр) - кондер (capsens) - порт ацп и + для зарядкаи большого кондера - резистор (3ком) - кондер (22 нф) - земля.
в начальный момент зяряжаем 22 нанафарады потом этот вывод в Z состояние.
и делаем меандр. кондер разряжается большой. через 1/25 сек мереем на нем напряжение через АЦП.
физический принцип тот-же что и у автора. но проще меньше деталей. да и диоды не мешают.

В этой заметке речь пойдет о том как собрать беспроводную клавиатуру для ПК или ноутбука. Данную мини клавиатуру можно использовать для управления проигрывателем Windows Media, либо её не сложно перепрограммировать под любое другое приложение.
Для сборки приемника клавиатуры который будет подключаться к ПК понадобиться плата Ардуино LEONARDO. Обычная плата Ардуино тут не подойдет. Ардуино LEONARDO может прикидываться для ПК клавиатурой, мышкой или джойстиком. Я буду использовать в проекте плату Arduino Micro, которая является аналогом платы Ардуино LEONARDO, но имеет более удобный форм-фактор для работы с макетной платой.
Для сборки передатчика. Подойдет любая плата Arduino – я буду использовать Arduino Nano. Также понадобиться пара UART модулей – для этого проекта я буду использовать HC-11 – они обеспечивают уверенную связь внутри небольшой квартиры – управлять компьютером с расстояния 2 км я думаю, особой необходимости нет, и поэтому использовать дальнобойные UART модули типа HC-12 или APC 220 в таком проекте смысла особого не имеет. Ну и 5 кнопок. 2 кнопки для управления громкостью 2 для переключения треков и одна для старта/приостановки воспроизведения. Приемник будет питься от разъема USB компьютера. Сама клавиатура от PowerBank. Схема подключения простая – она приведена ниже.

Для того чтобы плата Ардуино Leonardo превратилась в клавиатуру потребуется библиотека Keyboard.
Как пользоваться библиотекой Kyboard
Для организации связи я буду использовать свою библиотеку Serial27b. Пример использования этой библиотеки вы сможете найти в этой статье:
Как пользоваться библиотекой Serial27b
Разумеется перед заливкой прошивки необходимо, чтобы обе эти библиотеки были установлены в среду программирования Arduino IDE – как это сделать можно узнать здесь:
Как установить библиотеку в среду Arduino IDE
Все библиотеки можно скачать по этим ссылкам.
Библиотека Serial27b
Библиотека Keyboard
Скетч клавиатуры и приемника вы найдете после установки библиотеки Serial27b в среду Arduino IDE в демонстрационных примерах.

Список железок вы найдете в описании под видео – если статья Вам понравилась не забывайте ставить лайки и оставлять комментарии, чтобы её смогли увидеть другие люди. Приятного просмотра.

Сенсорная клавиатура - по сути это обычная сенсорная панель при включении которой появляется изображение клавиатуры. Есть два вида таких клавиатур: обычная и "а-ля планшет".

Обычная сенсорная клавиатура - это клавиатура, которая исполняет только функций клавиатуры. Иногда есть переключатель, который изменяет отображения клавиатуры, например со стандартного на мультимедийное.



Сенсорная клавиатура "а-ля планшет" - это клавиатура, которая может использоваться как планшет. На "борту" имеется кое-какое "железо", что позволяет не только передавать информацию о том какой символ сейчас был нажат, но и обрабатывать информацию не подключаясь к компьютеру. На таких клавиатурах можно рисовать, слушать музыку, выходить в интернет, играть вообщем делать всё то, что можно делать на планшете.



1) Не обратной связи, то есть надо постоянно смотреть на экран, с целью убедится, что ты нажал на клавишу.

Читайте также: