В ходе обзора сенсорного экрана SunFounder 10.1 дюйма с Raspberry Pi 5 под управлением Raspberry Pi OS опыт использования оказался не таким гладким, как ожидалось, поэтому здесь приведены советы для экономии времени.
Первым аспектом является программная клавиатура. Ранее основным решением была Matchbox keyboard, но два года назад предпочтение сместилось в сторону Onboard keyboard . К сожалению, с последней версией Raspberry Pi OS на композиторе labwc Wayland она работает нестабильно, поэтому сейчас рекомендуется squeekboard. Утилита не предустановлена, но установка достаточно проста:
sudo apt install squeekboard
Автоматическое появление при фокусировке на текстовом поле не срабатывало, возможно из-за использования сторонней сенсорной клавиатуры, однако в Raspberry Pi Configuration активация параметра On-screen Keyboard в значение Enabled always На вкладке Display это исправлено.
Возможно вводить URL-адреса или поисковые запросы непосредственно в адресную строку браузера Firefox. Панель также можно вручную отображать/скрывать с помощью значка в правом верхнем углу.
Если вам требуется только работа с сенсорным экраном в Raspberry Pi OS, настройка завершена. Однако для приложений, требующих мультитач, я обнаружил, что тестовое HTML5-приложение WBBMTT перестало корректно работать в Raspberry Pi OS, поскольку никакие касания или события ввода не регистрировались.
Независимо от количества пальцев на сенсорном экране, индикатор WBBMTT Touch Screen Tester оставался чёрным.
Причина в том, что « в labwc включена эмуляция мыши для сенсорного ввода для обеспечения совместимости, но это отключает мультитач». Действительно, в файле ~/.config/labwc/rc.xml видно, что эмуляция мыши активна:
pi@raspberrypi:~ $ cat ~/.config/labwc/rc.xml
<?xml version="1.0"?>
<openbox_config xmlns="http://openbox.org/3.4/rc">
<touch deviceName="ILITEK ILITEK-TP" mapToOutput="HDMI-A-1" mouseEmulation="yes"/>
</openbox_config>
Отредактируем файл, отключив эмуляцию мыши:
<?xml version="1.0"?>
<openbox_config xmlns="http://openbox.org/3.4/rc">
<touch deviceName="ILITEK ILITEK-TP" mapToOutput="HDMI-A-1" mouseEmulation="no"/>
</openbox_config>
Проверим снова.
На сенсорном экране всё заработало идеально: детектируется 10 касаний с точным отслеживанием перемещения пальца по дисплею.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.