Intereting Posts
Доступ к ресурсу SMB без пароля как обнаружить завершение видео в vlc apt-get – Как жаловаться на неудачное обновление? Короткое воспроизведение звука отключено, требуется прогрев или вторичный звук в фоновом режиме Может кто-то уточнить: «случай»: $ PATH: «in» в скрипте? Могу ли я настроить оболочку для печати STDERR и STDOUT в разных цветах? Маскарад Iptables нарушает поиск DNS Проблемы с CMake в CentOS 6 Контейнер-докер не может вытащить репозиторий github, сбой разрешения имени Нет разрешения на создание подкаталога, когда пользователь принадлежит группе каталогов Как подключиться к Интернету в Kali Linux после изменения IP-адреса вручную? Как настроить псевдонимы шрифтов на уровне операционной системы Преобразование списка файлов, разделенных новыми строками, в переменную Могу ли я использовать разрешения или возможности для ограничения создания файлов в каталоге, не ограничивая создание каталогов? Справка по установке в Arch Linux

Сенсорный экран для ncurses, кроме мыши?

Есть ли у ncurses поддержка компьютеров с сенсорным экраном? Будет ли сенсорный экран вызывать те же события в ncurses, что и мышь? Например, вызывает ли нажатие на сенсорном экране событие «щелчка мышью» в ncurses?

Я знаю, что ncurses поддерживает ввод с помощью мыши, поэтому сенсорный экран может действовать как мышь, и я ожидаю, что он может взаимодействовать с ncurses. Таким образом, нажатие подобно щелчку мыши, drag and drop одинаково в обоих.

Но нет колесика прокрутки с сенсорным экраном и щелчка правой кнопкой мыши. Кроме того, сенсорный экран потенциально имеет жесты, которые нет у мыши.

Полезно прочитать главу о программировании ncurses для HOWTO .

В самой первой подглаве представлены все маски событий мыши: существует отчет о положении мыши, который включает координаты x, y и z, поэтому одну из них можно использовать для покрытия одного колеса прокрутки. Есть события до четырех кнопок, и двойные и тройные щелчки для каждой из них. Существуют события для использования клавиш Shift, Control и Alt в качестве модификаторов для событий щелчка. И это вся информация, которую вы можете получить через API мыши ncurses.

Но этому документу более 10 лет – возможно, он не обновлен?

Нету. Поиск слова «touch» в /usr/include/ncurses.h приводит к нескольким попаданиям, но перекрестные ссылки на соответствующие страницы руководства указывают на то, что все они относятся к принятию решений, требует ли обновление содержимого на экране обновления или нет. Ничего специфичного для сенсорного экрана не доступно.

Даже в последней версии 6.1 больше нет расширенной поддержки сенсорного экрана.

Если вы не нашли то, что искали после проверки источников, которые я упоминал выше, вы можете довольно точно определить, что то, что вы ищете, не существует.

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

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

Если у вас есть представление о том, какие элементы пользовательского интерфейса сенсорного экрана на самом деле работают с текстовыми дисплеями (может, вы наберете некоторых студентов университета для выполнения базового проекта по юзабилити для вас?), Возникает следующий вопрос: какая абстракция событий сенсорного экрана? будет наиболее полезным для реализации тех?

Может оказаться, что нет никакой дополнительной ценности в передаче событий сенсорного экрана через сам ncurses: вместо этого может оказаться целесообразным создать отдельную библиотеку элементов сенсорного интерфейса пользователя, которая подключается к ncurses для отображения и драйверу сенсорного экрана для ввода. Кто сказал, что вы должны использовать только один API-интерфейс за раз?