Используя Xubuntu 19.10, я пытаюсь калибровать сенсорный экран Toughbook CF-19 MK5. Я использовал xinput_calibrator
как другие предположили, который завершает и дает мне отрывок для копирования в xorg.conf файл, но существует проблема:
chris@helmhorn:~$ sudo xinput_calibrator -v
Calibrating standard Xorg driver "Fujitsu Component USB Touch Panel Pen (0)"
current calibration values: min_x=0, max_x=16777215 and min_y=0, max_y=16777215
If these values are estimated wrong, either supply it manually with the --precalib option, or run the 'get_precalib.sh' script to automatically get it (through HAL).
DEBUG: Name 'Fujitsu Component USB Touch Panel Pen (0)' does not match any in '/sys/class/input/event*/device/name'
--> Making the calibration permanent <--
copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
Identifier "calibration"
MatchProduct "!!Name_Of_TouchScreen!!"
Option "MinX" "1267029"
Option "MaxX" "16165546"
Option "MinY" "615310"
Option "MaxY" "14567195"
Option "SwapXY" "0" # unless it was already set to 1
Option "InvertX" "0" # unless it was already set
Option "InvertY" "0" # unless it was already set
EndSection
Change '!!Name_Of_TouchScreen!!' to your device's name in the config above.
Калибровка не становится прикладной, и вставление отрывка /usr/share/X11/xorg.conf.d/99-calibration.conf
вместе с другими файлами Xorg и перезагрузкой не имеет никакого эффекта. Я подозреваю сообщение об ошибке о Name 'Fujitsu Component USB Touch Panel Pen (0)' does not match any in '/sys/class/input/event*/device/name'
ключ, но нет большой информации для нахождения через Google.
Сравнение имен устройств из двух подходящих источников:
chris@helmhorn:~$ cat /sys/class/input/event*/device/name | grep Fujitsu
Fujitsu Component USB Touch Panel
chris@helmhorn:~$ sudo xinput_calibrator --list
Device "Fujitsu Component USB Touch Panel Pen (0)" id=13
Имена устройств не соответствуют точно, и помещающий любое из тех значений в xorg.conf.d файле не имеет никакого эффекта.
Править: лучшей информацией, которую я мог найти на Google, был этот сайт на корейском языке, который я должен был читать с переводчиком; в основном это рекомендует использовать другой matcher как MatchUSBID "28bd: 000c"
.
Это - самая ясная информация, которую я нашел до сих пор:
chris@helmhorn:~$ sudo xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=11 [slave pointer (2)]
⎜ ↳ Fujitsu Component USB Touch Panel Pen (0) id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Fujitsu Component USB Touch Panel id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ Panasonic Laptop Support id=12 [slave keyboard (3)]
chris@helmhorn:~$ sudo xinput_calibrator --list
Device "Fujitsu Component USB Touch Panel Pen (0)" id=13
Это все еще не говорит мне еще что случилось, но это показывает сенсорную панель и перо как отдельные устройства, и калибратор пытается работать с пером.
Править: Я нашел недавнее сообщение в блоге от кого-то с очень похожей проблемой на тех же аппаратных средствах. После того, как xorg.conf не работал, они решили создать вызов сценария xinput set-prop
во время входа в систему. Я буду видеть, работает ли их решение на меня. В качестве награды они говорили об экранных клавиатурах, в которых я буду также нуждаться.
Это сообщение в блоге было лучшим обходным решением, которое я мог найти. Вместо того, чтобы помещать конфигурацию в xorg.conf файлы, это решение вызывает xinput set-prop
в сценарии, который затем называют во время входа в систему. Это обходит потребность выяснить хороший способ сказать xorg.conf, о каком устройстве мы говорим. Это не симпатично, но это работает.
#!/bin/sh
# Coordinate touch panel to screen
xinput set-prop "Fujitsu Component USB Touch Panel" --type=float "Coordinate Transformation Matrix" 1.115 0 -0.073 0 1.14 -0.04 0 0 1
Как обсуждено в сообщении в блоге, лучший способ настроить параметры матрицы, кажется, метод проб и ошибок. Значения от сообщения в блоге были довольно близкой начальной точкой для меня.
Я все еще любил бы слышать решение, которое вместо этого использует xorg.conf и делает xinput_calibrator счастливый, поскольку это сделало бы намного легче настроиться.