Однажды, на уроке информатики, я задумался: "Почему у нас на каждый отдельный символ отдельная кнопка? Можно же сделать клавиатуру из 10-ти кнопок и вводить не каких-то 100-200 различных символов, а 1023 символа без перемещения пальцев по клавиатуре!".
А представьте, насколько с такой клавиатурой удобно будет работать на смартфоне людям, которые много печатают.
Я немного расскажу в общем об аккордных клавиатурах и самое интересное - покажу свою разработку.
Аналоги
Как и многие другие гениальные идеи, эта уже оказалась частично реализована в клавиатуре "Октодон", но там немного другая концепция, от моей отличается большим количеством кнопок.
Первым, кто попытался реализовать эту идею, был изобретатель компьютерной мыши - Дуглас Энгельбарт.
Правда похожа на небольшое пианино?
Наверно от такого вот внешнего вида первых аккордных клавиатур и произошло их название.
Аппаратная часть
Сначала я хотел реализовать свою задумку чисто программно, то есть в используемой ОС (операционная система) просто добавить или особую раскладку или написать некую "прослойку" для обработки нажатий нескольких кнопок. Но во-первых это решение будет работать только на одной ОС, а для меня важно поддержка как минимум одной настольной и мобильной системы. Во-вторых это было дороже, т.к. usb-клавиатуры начинаются примерно от 300 р., а вот подходящий контроллер можно было раздобыть всего за 120 р..
Я уже был знаком с ардуино, но как выяснилось они не могут быть usb-клавиатурами, поэтому выбор пал stm32f103
Готовый прототип
Наверно, в таком виде устройство слишком громко называть "готовым прототипом", но он достаточен, чтобы можно было протестировать концепцию, по ходу разработки я решил оставить только 8 кнопок, вместо 10, т.к. оставшиеся два больших пальца планировалось использовать для сенсорного управления, например тачпада или тачскрина.
Подключается к компьютеру через micro-usb, а прошивается программатором.
Я успешно протестировал работу устройства в Android, Linux, Windows.
Что дальше?
Ещё осталось много работы, нужно создать такую систему кодов, которая будет удобна для запоминания.
Также осталось доработать аппаратную составляющую не только для более презентабельного вида, но и сделать её более компактной.
P.S.
Если вам интересна данная разработка, я могу поделиться исходниками и схемой, я не жадный, пишите мне в комментариях или личным сообщением.