Меня просят установить Сенсорный экран для работы над настольной установкой 18,04. На данный момент я выбрал минимальный режим установки. Я попробовал столько, сколько я мог найти для калибровки touchscreen/-pad для работы правильно, но он не работает.
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=12 [slave pointer (2)]
⎜ ↳ MicroTouch Systems, Inc. MicroTouch USB Touchscreen - EX II id=10 [slave pointer (2)]
Тот последний объект в списке является предметом здесь.
Я установил и использовал xinput_calibrator
что сказало мне включать следующее в: /usr/share/X11/xorg.conf.d/99-calibration.conf
Section "InputClass"
Identifier "calibration"
MatchProduct "MicroTouch Systems, Inc. MicroTouch USB Touchscreen - EX II"
Option "MinX" "11516"
Option "MaxX" "54762"
Option "MinY" "53541"
Option "MaxY" "11258"
Option "SwapXY" "0" # unless it was already set to 1
Option "InvertX" "0" # unless it was already set
Option "InvertY" "1" # unless it was already set
EndSection
Я сделал это перезагруженный, но существует все еще некоторое полное смещение и зеркально отраженная ось y.
Большинство шагов сделано отсюда, но это для человечности 12.04, таким образом, я предполагаю устаревший. Там, автор предлагает поместить конфигурацию в: /usr/share/X11/xorg.conf.d/10-evdev.conf
но тот файл не существует, и весь» evdev «материал не делает шва, чтобы быть в системе вообще.
Что я могу сделать здесь???
Спасибо во вперед …
ОБНОВЛЕНИЕ
на основе некоторого дальнейшего исследования:
$ xinput list-props
Device 'MicroTouch Systems, Inc. MicroTouch USB Touchscreen - EX II':
Device Enabled (139): 1
Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix (279): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix Default (280): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Send Events Modes Available (262): 1, 0
libinput Send Events Mode Enabled (263): 0, 0
libinput Send Events Mode Enabled Default (264): 0, 0
Device Node (265): "/dev/input/event16"
Device Product ID (266): 1430, 1
Посредством чего запись Coordinate Transformation Matrix
результат a xinput set-prop
. Так как осязаемая область должна совпасть с областью дисплея, матрица преобразования должна быть:
1 0 0
0 1 0
0 0 1
Но ось y зеркально отражается, таким образом, я попробовал:
1 0 0
0 -1 0
0 0 1
Но это не работало …
Как я могу найти осязаемую область?
Вам необходимо определить смещение для оси Y.
Таким образом, ваша матрица должна выглядеть следующим образом:
1 0 0
0 -1 1
0 0 1
Таким образом, вы можете поместить это в конфигурацию xorg:
Section "InputClass"
Identifier "calibration"
MatchProduct "MicroTouch Systems, Inc. MicroTouch USB Touchscreen - EX II"
Option "TransformationMatrix" "1 0 0 0 -1 1 0 0 1"
EndSection
Для реальной калибровки, используя опцию libinputs CalibrationMatrix. Эти точки x0 и x3 являются щелчками 1 и 3, выводимыми xinput_calibrator -v
.
a = (width * 6 / 8) / (x3 - x0)
c = ((width / 8) - (a * x0)) / width
e = (height * 6 / 8) / (y3 - y0)
f = ((height / 8) - (e * y0)) / height
Option "CalibrationMatrix" "a 0 c 0 e f 0 0 1"