[.NET, Open source, Компьютерное железо, Разработка под Windows] LINKa смотри. Система выбора карточек при помощи айтрекера и не только

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
14-Июл-2020 20:36


Вспомним кто я?
Привет, хабр. Я Иван Бакаидов. Много лет назад я писал про свой школьный проект программы, которая позволяет печатать одной кнопкой людям с тяжелой физической инвалидностью. Вот та статья.
С того момента много что изменилось, умерла девочка, для которой я написал эту программу, проект стал называться LINKa. Я сделал много программ для других форм двигательного поражения. Понял, что потерял волну волонтеров, возникшую при прошлом хаброхайпе, так как Open source проекты надо мейнтейнить.
Но тему разработки программ для коммуникации я не оставил. И на деньги из “гранта Дудя” разработал новый коммуникатор, который позволяет выбирать карточки взглядом. И мне нужна помощь дописать несколько фич. Стек: C#, WPF.
Взглядом? o_O! Как это? У тебя же голова дергается?
Собственно, мне давно в комментариях хабра писали про технологию айтрекинга, а я скипал эти комменты, так как думал что это дорого и с трясущийся головой не сможет работать. Я ошибался!
С 2016 года фирма Tobii (aka. Apple от мира айтрекинга) начала разработку дешевых устройств для рынка геймеров. Эти устройства дешевле в 10 раз девайсов для “инвалидов” (закон наклейки Special device). За пару лет они дошли до прекрасной модели Tobii 4с, которую можно купить в обычном гипермаркете электроники и воткнуть в USB 2.0.

Мне один из фондов закинул этот девайс со словами “Попробуй, парень”. Я положил на полку со словами “Айтрекинг и ДЦП — не заработает, потом как-нибудь посмотрю”. Он еще работает только с Windows, а у меня Mac. Но фонды это такие прекрасные организации, которые требуют отчеты.
Bootcamp, поставил, настроил и понял, что айтрекеры этого поколения научились отслеживать положение головы, а уже от него положение глаз. На очень большой частоте. И всё работает, тряси головой сколько влезет.
Основное ПО для этого трекера геймерское, в Доке 2 врагов помечать взглядом. Все встроенные демки показывают геймерские функции. Но есть открытое API для работы в сторонних программах.
Открывается простор для создания интерфейсов, управляемых глазами. Такие интерфейсы устроены предельно просто: они состоят из сетки кнопок. При удержании взгляда на кнопке происходит клик. И тут многие уже отличились. В самой Windows 10 встроена клавиатура и эмулятор мыши для айтрекера (Правда там в локализации нет букв “Х” и “Б”. Не попросить даже Хлеба!).

Никак!
Есть довольно толковая клавиатураBB2K, о ней писал разработчик на хабре. Мне лично очень нравится Optikey, это хорошо локализованная клавиатура от британского разработчика. Имеет несколько вариантов, в том числе с пиктограммами для непишущих детей.

Ну так если уже есть оптикей, зачем писать свое?
Закономерный вопрос. Как вы помните из прошлых статей, специалистам, которые работают с людьми из речи, очень важно иметь возможность создавать самим контент выбираемый подопечным, а не работать с готовым кирпичом, в который вшиты даже очень хорошие карточки. Это происходит из-за того, что зачастую людей без речи только предстоит научить еще писать, или просто понимать что рисунок кружки обозначает ту самую чашку на кухне из которой его поят. А в тот же Оптикей создавать набор карточек нужно через PowerPoint.
Именно поэтому в основу Линка смотри легла идея, которую я хорошо усвоил учась в школе для детей с инвалидностью — “Всё должно быть настраиваемым”. Исходя из идеи, встала очень простая задачка: Сделать сетку карточек, из которой карточки можно будет выбирать глазами, но при этом способ выбора, карточки и сетка должна легко настраиваться. Я оформил всё это в ТЗ и нашел C# программиста, который понимал в WPF (лучше меня). В это время еще Юра Дудь перевел денег и вообще всё сложилось.
Что в итоге получилось?

Получилась программа, которая показывает набор карточек из файла .linka в сетке и позволяет выбирать их при помощи: айтрекера Tobii, мышки, клавиатуры и игрового джойстика. Также есть режим при котором выбор карточки осуществляется взглядом, а подтверждение кнопкой.

Программа содержит в себе редактор файлов .linka.
→ Скачать можно отсюда бесплатно: linka.su/looks
Так, а что доделать надо?
Несмотря на простоту и лаконичность программы, я надеюсь, ее гибкость поможет наладить коммуникацию в самых разных случаях.
У меня есть несколько мелких идей, которые я бы хотел внедрить программу и я был бы очень рад, если бы вы в этом помогли. Эти задачки описаны в этом issue, но я вынесу часть из них сюда и поясню о чем речь.
  • Доработать синтезатор речи, сделать выбор голосов Яндекс и добавить фоллбек чтоб при отсутствии интернет соединения.
    Для озвучивания наборов в линке используется API Yandex TTS. Линка смотри спроектирована так, что озвучка карточек задается во время создания набора. Создавая карточку вы можете или использовать озвучку Яндекс или выбрать файл с компьютера. То есть озвученный заранее набор может работать оффлайн. Но линка смотри поддерживает наборы, состоящие не из целых слов, а к примеру из букв, и в таком случае программа читает текст из поля вывода с помощью Яндекса в реалтайме. И я бы хотел, чтоб когда нет интернета программа использовала говеный виндовый синтезатор. Еще б хорошо добавить выбор из голосов яндекса.
  • Сделать систему выбора карточек одной кнопкой.
    Несмотря на магию айтрекера, я встречал товарищей, с которыми он не срабатывал. И я бы хотел добавить перенести для них алгоритм выбора карточки с помощью одной кнопки из старой доброй линка нажми (и прекратить поддержку последней).
  • Сделать возможность печатать в сторонних программах.
  • Локализация на языки стран СНГ.

Также я буду рад если вы просто потестите программу и напишите свои идеи.
GitHub
Patreon
Спасибо!
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_.net, #_open_source, #_kompjuternoe_zhelezo (Компьютерное железо), #_razrabotka_pod_windows (Разработка под Windows), #_bakaidov (Бакаидов), #_ajtreking (айтрекинг), #_tobii, #_programmy_dlja_invalidov (программы для инвалидов), #_alternativnaja_kommunikatsija (альтернативная коммуникация), #_sintez_rechi (синтез речи), #_dtsp (ДЦП), #_blog_kompanii_linka (
Блог компании LINKa
)
, #_.net, #_open_source, #_kompjuternoe_zhelezo (
Компьютерное железо
)
, #_razrabotka_pod_windows (
Разработка под Windows
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 20:37
Часовой пояс: UTC + 5