Приветствую, авантюрист. Продолжаем знакомиться с линуксом и отечественными операционными системами в частности. Сегодня попробуем решить довольно важную задачу для любого учебного заведения и не только. А именно калибровка интерактивной доски.
Мои знания в этом вопросе очень далеки от идеала, но есть некий опыт. Этим опытом я бы хотел с тобой поделиться. Если я в чем-то не прав или у тебя есть что дополнить, то милости прошу в комментарии.
В статье мы будем работать на Альт линукс, но все что здесь будет описано будет актуально для Линукса в целом.
Работа интерактивных досок на Linux
А как вообще работают интерактивные доски на Linux? И работают ли они вообще? Я лично имею опыт работы с несколькими семействами досок: SmartBoard, SmartBoard, Classic Solution, InterWtire, доски от Proptimax. Если, подключив доску к компьютеру, она реагирует на касания, то поздравляю, доской можно будет пользоваться. Если же доска не реагирует, то у вас большие проблемы. Имея 3 доски, которые не реагируют на касания, мне не удалось настроить ни одну из них. Справедливости ради стоит сказать, что доски, которые я не смог настроить довольно старые, а все современные нормально определяются и реагируют на касания. Для тех досок, которые не работают, нужен софт.
Программное обеспечение для интерактивных досок
Доски имеют свой собственный софт для работы. И софт это само собой только под Windows. У досок, для которых есть софт под Linux, он исключительно под Ubuntu ( исключительно мой опыт ) и завести его под Альтом или Астрой очень проблематично. Собственно получилось у меня только один раз, с доской StarBoard FX-82WG. После многих часов «работы» программа действительно установилась и запустилась, но доска как не реагировала на касания так и не стала. Опять же, доска довольно старая. Возможно, а скорее всего так и есть, с современными досками ситуация совсем другая. Опять же милости просим в комментарии, друзья, кто имеет опыт работы с другими досками.
Как итог, я пока не видел ни одной доски с нормальным родным софтом под Linux ( исключительно мой опыт ), но как сенсорные панели они работают. А значит можно установить тот же OpenBoard, о котором я недавно писал статью ( ссылка ), и вполне себе нормально использовать доску.
Инструменты для настройки интерактивных досок под Linux
xrandr – утилита для настройки устройств вывода (мониторы, проекторы и т.д.);
xinput — это программа для настройки устройств ввода, таких как мыши, клавиатуры, тачпады и т.д.;
xinput —list — вывести список устройств, которые в данный момент подключены к компьютеру;
xinput map-to-output — «Прикрепить» устройство ввода к указанному устройству вывода;
xinput watch-props — посмотреть список свойств устройства;
xinput set-prop — задать какое-либо свойство для устройства;
xinput_calibrator — утилита для калибровки сенсорной панели. В нашем случае доски.
Калибровка интерактивной доски. Простой кейс.
Описание кейса. Интерактивная доска SMART Board Interactive Whiteboard - 600 Series подключена к компьютеру под управление Альт линукс 10.3 (X11). Изображение на доску выводится через проектор в режиме «синхронизация».
Первое что нам нужно сделать - это убедиться, что компьютер видит наше устройство. Набираем команду:
xinput —list
Видим, что наша доска определилась. Ее id = 11. Проверяем реагирует ли она на касания. Юлозием пальцем/стилусом. Курсор дрыгается. Отлично.
Теперь нужно откалибровать нашу доску. Первым делом на Альт линукс нужно удалить пакет «xorg-drv-libinput». Не знаю почему, но если не удалить, то настройки калибровки не будут сохраняться. Если знаете, опять же, милости просим сами знаете куда.
apt-get remove xorg-drv-libinput
Перезагружаемся. Теперь запускаем калибровку
xinput_calibrator --device 11
Прокликиваем по точкам на экране, проверяем. Если пишет «misclick detected» то можно попробовать указать параметр --misclick=off.
xinput_calibrator --device 11 --misclick=off
Готово. Доска должна работать корректно.
Калибровка интерактивной доски. Интересный кейс.
Описание кейса. Интерактивная доска SMART Board Interactive Whiteboard - 600 Series подключена к компьютеру под управление Альт линукс 10.3 (X11). Изображение на доску выводится через проектор в режиме «расширенный дисплей».
Разница от предыдущего кейса в том, что картинка на доске не синхронизируется, а выводится в режиме «расширенного» рабочего стола. Если мы попробуем покликать по доске, то курсор будет перемещаться на основном дисплее ноутбука, а не на доске. А если запустить xinput_calibrator, то изображение калибровки запуститься на основном экране. Что нас, естественно, не устраивает. Вроде как, команда xinput map-to-output должна указать какой экран мы хотим ассоциировать с каким устройством ввода, но она не дает желаемого эффекта. И все же без нее нам не обойтись.
Стратегия калибровки следующая. Первым делом мы отключаем основной дисплей. Отставляем только проектор. Запускаем калибровку
xinput_calibrator --device 11
Калибруем доску. Обязательно сохраняем данные, которые нам выдаст консоль после процедуры калибровки. Скрин сохранить мне не удалось, но на выводе в консоли будет что-то типа такого:
Section "InputClass"
Identifier "calibration"
MatchProduct "SMART Technologies SMART Board Interactive Whiteboard - 600 Series Mouse"
Option "Calibration" "-128 2021 124 2139"
Option "SwapAxes" "0"
EndSection
Здесь нам понадобится строчка Option "Calibration" "-128 2021 124 2139».
Теперь включаем обратно основной дисплей, выставляем все нужные разрешения на всех экранах. Создаем скрипт для автонастройки доски. В нем будет 3 команды. Описание каждой команды и ее параметров смотрим ниже.
#!/bin/bash
xinput map-to-output "SMART Technologies SMART Board Interactive Whiteboard - 600 Series Mouse" VGA-1
xinput set-prop "SMART Technologies SMART Board Interactive Whiteboard - 600 Series Mouse" --type=float "Coordinate Transformation Matrix" 0.428452 0 0.571548 0 1 0 0 0 1
xinput set-prop "SMART Technologies SMART Board Interactive Whiteboard - 600 Series Mouse" "Evdev Axis Calibration" -128 2021 124 2139
echo "Easy Linux the best. Script calibrate done"
Первая команда связывает устройство вывода и дисплей. Устройство "SMART Technologies SMART Board Interactive Whiteboard - 600 Series Mouse" с дисплеем VGA-1. Название дисплея берем из команды xrandr
На скриншоте видим, что основной дисплей у нас LVDS-1, а проектор подключенный к разъему VGA это VGA-1
Вторая команда задает Coordinate Transformation Matrix. Вручную эту матрицу рассчитать ты вряд ли сможешь, но линукс силен своим сообществом. И вот на просторах Интернета я нашло просто замечательный скрипт который рассчитывает эту самую матрицу. Для работы скрипа на Альт Линукс необходимо установить ZENITY.
apt-get install zenity
Скачать скрипт для расчета Coordinate Transformation Matrix можно по ссылке
https://disk.yandex.ru/d/SjBueoX45GmXkw
Качаем, запускаем. Выбираем доску, выбираем дисплей. Указываем угол поворота экрана 0 градусов.
В консоли видим значения нашей матрицы.
Последняя команда задает данные калибровки, которые мы получили ранее в результате калибровки.
Готово. Все данные для калибровочного скрипта собраны. В результате запуска этого скрипта мы должны получить откалиброванное устройство с курсором, который будет перемещаться там где нужно.
Проверить все ли настройки применились к нужному устройству можно командой
xinput watch-props 11
Как видим мы поменяли настройки матрицы координат и настройки калибровки. А значит все должно работать корректно.
Итог
Интерактивным доскам на Linux не легко. Да, вы не сможете использовать их так же полноценно как на Windows, по крайне мере пока. Но новые современные доски ужей сейчас вполне могут быть задействованы по назначению, а в дальнейшем все будет становиться все только лучше ( исключительно мнение автора ). Наверняка в скором будущем мы увидим адекватный софт под Линукс. Адекватную калибровку и поддержку расширенно функционала ( исключительно мнение автора ) . По крайне мере так обещают те же Proptimax, например. А пока, в условиях вынужденного импортозамещения, имеет то что имеем.
Удачи авантюрист.