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

30.04.2019 Проблемы

11 января 2011 в 20:33

Разработка сенсорной клавиатуры для своих устройств

  • DIY или Сделай сам

В данной статье я опишу процесс разработки сенсорной клавиатуры, которую можно использовать в своих девайсах. Такую клавиатуру нетрудно собрать, т.к. в ней отсутствуют механические части, а отсутствие механической обратной связи компенсируется изяществом использования.

В процессе разработки одного проекта мне потребовалась удобная клавиатура на 8 кнопок. Я решил прибегнуть к известному подходу – реализовать емкостные сенсоры.
Физическую теорию я уже описал в своей статье про девайс-сувенир, которой чувствовал, когда его берут в руку (http://habrahabr.ru/blogs/DIY/111627/)
Принцип остается совершенно тем же самым, единственное отличие в реализации – используются не два вывода микроконтроллера а один.
Для начала, видео того, к чему мы будем стремиться:

Шаг 1: Схемотехника

Схемотехника сенсоров слегка изменилась, в связи с тем, что необходимо использовать только одну ногу микроконтроллера на сенсор, а не две. Впрочем, если вам не жалко лишних ног, то можно все оставить по-старому.

Порядок опроса сенсора будет слегка отличаться. Изначально на пин PD0 подан лог. 0.
Таким образом, ток течет от источника питания через мегаомный резистор и втекает в пин. Если сенсор был заряжен, то ток с него также будет стекать в пин PD0.

В момент опроса мы переключаем пин с выхода на вход (подтяжки отключены!). В этот момент, пин переходит в высокоимпедансное состояние, с сопротивлением порядка нескольких десятков(а то и сотен) МОМ. Ток в направлении пина практически прекращает течь, и начинает течь в сторону сенсора. Как только сенсор зарядится до напряжения свыше уровня лог. 1, данный вход микроконтроллера покажет единицу.
Измерив время, которое прошло с момента перевода PD0 в высокоимпедансное состояние до появления на нем лог 1, можно сделать вывод об изменении емкости сенсора, а значит, отловить момент прикосновения.

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

Ниже представлена фотография законченной печатной платы. Плата заказная, но изготовить такую в домашних условиях также не составляет труда. При использовании макетных плат в роли сенсора может выступать кусочек фольгированного стеклотекстолита, приклеенный поверх платы.

Над каждым сенсором расположен SMD диод для индикации нажатия.
Управляется все это микроконтроллером ATMega88, заведенном на частоте 20 МГц.
Таким образом, выход с этой клавиатуры можно сделать любой, какой вам будет нужен и какой потянет мега. В моем случае был удобен SPI (я прошивал и тестил не отключая от программатора, да и в устройстве уже была задействована эта шина), но вы может использовать встроенный в мегу наравне с SPI UART, I2C, или воспользоваться программной реализацией USB от ObjDev. Да, собственно, можно и аппаратной, типа FTDI преобразователя USB->UART.

Итоговая схема (скриншот из Altium) представлена ниже.

Опять-таки, ничего сложного, ничего лишнего – мега, тактирующая ее цепь, пара сглаживающих питание кондеров, разъем для программирования/подключении, 8 диодов и 8 сенсоров.

Что интересно: расстояние, на котором сенсор может почувствовать руку зависит от разрядности таймера, его частоты, а также сопротивления, через которое подключен сенсор. Объясняется это просто – более быстрый таймер сможет засечь более мелкие интервалы времени, а при отсутствии гальванического контакта с сенсором время зарядки существенно снижается. 20 МГц меги и ее 16-разрядного таймера хватает на то чтобы уверенно обнаруживать прикосновение через слой пластика (плексигласа) около 1 мм.
Можно слегка разогнать мегу и немного увеличить сопротивление, но лучше этим не увлекаться – стабильность работы разогнанной меги не гарантируется, а слишком большое сопротивление может сравнять ток заряда с током утечки, что сделает сенсор вечно неактивным.
Как бы то ни было, нормального режима работы вполне хватит для прикрытия сенсоров тонким кусочком пластика. Идеальным бы был вариант с напылением токопроводящего покрытия на стекло, но у меня не было особой возможности поэкспериментировать в этом направлении.

Шаг 2: Код

В принципе все уже описано выше, но для некоторой ясности приведу код проекта.

#include #include unsigned char KBD_STATUS=0x00, TMP_STATUS=0x00; //Текущий статус клавиатуры и переменная, куда запишем новый статус unsigned short SensorTimes={0,0,0,0,0,0,0,0}; //Времена откликов сенсоров unsigned short SensorHI={0,0,0,0,0,0,0,0}, //Для ускорения вычислений - заранее посчитанные SensorLO={0,0,0,0,0,0,0,0}; //верхний и нижний пороги void CheckSensors(); unsigned short SensToLED={8,16,32,1,4,2,1,2}; //Доп. массив, т.к. диоды висят на рандомных ногах) ISR(TIMER0_OVF_vect) { CheckSensors(); //Проверяем сенсоры for(unsigned short i=0;i<8;i++) { if(KBD_STATUS&(1<SensorHI[k]) //Гистерезис, чтобы не дрыгалось при граничном значении емкости TMP_STATUS|=i; else if(TCNT1<=SensorLO[k]) TMP_STATUS&=~i; k++; i<<=1; } KBD_STATUS=TMP_STATUS; } int main() { DDRD=0xFF; PORTD=0x00; PORTC=0xFF; DDRC=0xFF; TCCR0=0b00000101; TCNT0=0x00; TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; TIMSK=0x01; ACSR=0x80; SFIOR=0x00; InitSPIMode3(); for(int i=0;i<1024;i++) //Просто чтобы не калиброваться сразу как подадут питание CheckSensors(); // подрыгаем сенсорами) KBD_STATUS=0x00; TMP_STATUS=0x00; Calibrate(); //Калибруемся sei(); while(1); }

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

Как правило, есть две основные причины, из-за которых пользователи используют виртуальные клавиатуры вместо настоящих.

Доступность

Использование клавиатуры в качестве замены:

  • Пользователь не может использовать настоящую клавиатуру. Например, наличие у людей устройств, которые не подразумевают физического наличия клавиатуры, такие как коммуникаторы и устройства с сенсорными экранами.
  • Поиск альтернативного способа ввода текста. Например, для того чтобы была возможность набрать текст на своем родном языке (например, на реальной клавиатуре нет наклеек родного языка). Или, например, проблемы с существующей клавиатурой (сломался драйвер в системе, блокировка устройства и т.д.).

Безопасность

Для повышения уровня безопасности и защиты от различного вредоносного программного обеспечения (например, от клавиатурных шпионов):

  • Безопасные экранные клавиатуры станут хорошими помощниками в деле повышения уровня безопасности при использовании общественных, незащищенных или подозрительных компьютеров (например, учебные классы, интернет-кафе и т.д.).
  • Безопасные виртуальные клавиатуры могут помочь защитить ваш компьютер от вредоносного программного обеспечения следующих типов:
    • Кейлоггеры (клавиатурные шпионы) - фиксируют все нажатия клавиш
    • Логирование экрана - создают скриншоты экрана с регулярными периодами или по каким-либо определенным действиям пользователя
    • Логирование буфера обмена - контролируют содержимое буфера обмена
    • Фиксация положения курсора мыши - сохраняют все координаты, где были зафиксированы клики мышкой. В основном, этот тип используется для взлома банковских экранных клавиатур.
    • Захват значений в текстовых полях - получают все значения из текстовых полей, даже скрытых маской пароля (всем знакомые ****)

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

В данном обзоре рассматриваются виртуальные клавиатуры, решающие вопросы доступности .

Обзор бесплатных экранных/виртуальных клавиатур

Экранная клавиатура Click-N-Type отличный аналог коммерческим предложениям

Microsoft On-Screen Keyboard

Поддержка трех способов ввода. Начиная с Windows 7 автоматическое переключение языков при смене активного окна.
Нельзя изменить размер клавиатуры (исправлено начиная с Windows 7).
-------------
211KB 2.0 Unrestricted freeware Windows
Входит в состав Windows


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


В компании HP уверены, что пришла пора забыть о клавиатуре для настольных персональных компьютеров как о физическом предмете. Ведь ее можно сделать виртуальной. Речь идет не о полном переносе клавиатуры на сенсорный экран ПК, а о создании принципиально новой технологии.



– это персональный компьютер, в котором нет клавиатуры и мышки. Их функцию выполняет специальная емкостная панель Touch Mat, лежащая на столе, и, частично, сам 23-дюймовый монитор десктопа.



Компьютер HP Sprout обладает встроенным проектором, который превращает панель Touch Mat в клавиатуру, дополнительный экран, панель инструментов разных программ, электронный мольберт и множество других устройств. Емкостная камера и датчик глубины Intel RealSense отслеживают движение рук пользователя относительно этой панели, захватывая их и превращая в сигналы для управления компьютером.



Взаимодействовать с Touch Mat можно не только пальцами, но и при помощи специального пера – панель поддерживает до двадцати точек прикосновения.

Проект с названием 101touch также подразумевает превращение клавиатуры в многофункциональное компьютерное устройство, которое может заменить собой множество других девайсов, которые раньше представляли собой отдельные гаджеты.



По внешнему виду и техническим параметрам клавиатура 101touch является «потомком» планшетного компьютера. Вместо клавиш у этого устройства находится вытянутый горизонтально сенсорный дисплей, который умеет отображать не только кнопки с буквами и цифрами, но и любое другое изображение.



Это может быть планшет для рисования, панель управления игрой или программой, виртуальная клавиатура пианино или микшерский пульт для диджея – количество функций ограничено лишь потребностями пользователя.



Клавиатура 101touch обладает вытянутым горизонтально сенсорным экраном с диагональю 18,3 дюйма и работает под управлением фирменной оболочки 101touch для операционной системы Android.

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



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

А вот за вычислительные возможности и память устройства будут совокупно отвечать процессоры смартфона и планшета, являющихся интегрированными частями Bento, а также их оперативная и постоянная память. Вместе они станут работать быстрее.



Помимо этого, в ноутбук Bento можно вставить модули, отвечающие за дополнительную память, а также внешний аккумулятор или солнечную панель.

AirType – это клавиатура для людей, которые в совершенстве овладели методом слепого набора текста, ведь данное устройство вообще избавляет нас от визуальной составляющей клавиш.



В AirType нет никакой клавиатуры в привычном нам понимании этого слова. В данном устройстве она реализована в виде двух небольших ремешков, которые крепятся к ладоням пользователя в области костяшек его пальцев на правой и левой руках. Чтобы набирать текст человеку нужно лишь начать имитировать движение кисти при работе с реальной клавиатурой – устройство AirType будет считывать эти импульсы и преобразовывать их в электронные сигналы.



Конечно, AirType – это девайс не для начинающих пользователей. Это устройство для людей, которые уверенно себя чувствуют при работе с текстом, которым клавиатура нужна каждый день и практически каждый час, но они не хотят носить физический вариант этого гаджета с собой.



AirType – это идеальная внешняя клавиатура для планшетных компьютеров, смартфонов и других подобных устройств.

Puzzle Keyboard – это клавиатура, которая добавляет в вашу работу с компьютером элемент игры и фантазии. Ведь она не является единым устройством, а представляет собой нечто вроде паззла –состоит из множества отдельных кнопок, которые можно собирать в любом порядке и форме.



Сейчас большинство среднестатистических пользователей компьютера вообще не понимает, зачем им несколько десятков «лишних» клавиш на клавиатуре, которыми они никогда не пользовались. В случае же с Puzzle Keyboard человек сам может собирать идеальное устройство для ввода текста, рассчитанное именно под его нужды и требования.



Концепция Puzzle Keyboard предлагает пользователю собирать из клавиш «пиксельные» картинки, давать им на клавиатуре разные углы по отношению друг к другу, располагать кнопки так, как человеку удобно, и даже смещать их в стороны целыми рядами или группами.



Устройство с названием Qii – это клавиатура, которую легко носить с собой в кармане штанов или даже в дамской сумочке. При этом устройство имеет совершенно не карманные размеры – в развернутом виде оно вполне сравнимо с полноценной клавиатурой для настольного персонального компьютера.



Многократное уменьшение клавиатуры Qii в размерах достигается за счет ее гибкой конструкции. Устройство можно сматывать в трубочку, которая, собственно, и помещается легко даже в нагрудном кармане рубашки.



Optimus Popularis Keyboard – это еще одна клавиатура для людей с фантазией, это устройство для тех пользователей, которые не хотят, чтобы им навязывали правила, а собираются сами их создавать.



В клавиатуре Optimus Popularis Keyboard ни одна из клавиш не имеет своего постоянного места или постоянной функции. Вы можете разместить на любой из них любую букву, цифру, пиктограмму или даже цветное изображение – клавиши настраиваются в считанные секунды.



Каждая кнопка на клавиатуре Optimus Popularis Keyboard – это полноценный цветной дисплей с разрешением 72 на 72 пикселя. А в верхней части устройства, между обычными клавишами и функциональными, находится горизонтально вытянутый сенсорный дисплей для отображения и ввода важной информации.



Устройство Optimus Popularis Keyboard создано для писателей, журналистов, дизайнеров, архитекторов, инженеров, программистов и любых других людей, которые хотят, чтобы их компьютерная клавиатура максимально соответствовала их профессиональным и техническим запросам, для людей, которым не хватает кнопок на стандартных устройствах подобного рода.

Кнопочное разнообразие: еще один от современных дизайнеров.

Сегодня компьютер – настолько неотъемлемая часть нашей жизни, что найти семей, в которых его нет, все труднее и труднее. Как известно, ПК состоит из различных комплектующих и периферийных устройств. Несмотря на то, что трудно назвать главной составляющей, без нее довольно трудно пользоваться компьютером полноценно. Плоская конструкция, оснащенная клавишами, исполняет важную функцию – именно она осуществляет непосредственную связь между компьютером и вами. Достаточно нажать необходимые клавиши, и на мониторе отобразиться то, что нужно вам прямо сейчас.

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

Как устроена сенсорная клавиатура для компьютера?

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

По типу подключения в продаже можно встретить два типа клавиатуры. Проводные подключаются в USB-разъем системного блока вашего ПК, через него и питаются. Сенсорная беспроводная клавиатура, чья работа основана на Bluethooth-технологии, освободит от зависимости от длины шнура. Питание в таких моделях осуществляется через батареи или аккумуляторы.

Преимущества сенсорных клавиатур

Конечно, традиционных и таких привычных щелчков при нажатии нет, зато сенсорная клавиатура обладает рядом преимуществ.

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

Кроме того, интересное изделие дает большую свободу пользователям. При необходимости его можно использовать как эквалайзер, пульт для управления в любимой игре или снова как клавиатуру.

При всех преимуществах пользоваться сенсорной клавиатурой нужно аккуратно. Как и все дисплеи, она чувствительна к ударам.

Какие еще бывают сенсорные клавиатуры?

Помимо описываемого вида сенсорной клавиатурой также называют приложение, используемое в ПК. Такой сенсорной клавиатурой Windows удобно пользоваться, если, к примеру, у вас неожиданно вышла из строя обычная клавиатура, а вам еще нужно поработать. Сама клавиатура выводится на экране, как на планшете. Правда, важно чтобы компьютер, а точнее его монитор поддерживал технологию Multi-touch.

Такая же сенсорная клавиатура на ноутбуке применяется в том случае, если имеется необходимость напечатать сообщение или текст письма в электронной почте.