LINUX.ORG.RU

Избранные сообщения Moonman

Форум — Linux-hardware

Автоматический ввод матрицы координат тачскрина.

Здравствуйте. Установил на планшет irbis tw20 дебиан 12, из драйверов для винды скомпилировал драйвер тача для линукса. Тач mssl1680, он успешно завелся. Но работал некорректно.
xinput_calibrater не дал результатов, просто никак не реагирует на выданный блок кода. Попробовал подобрать матрицу координат, вот такая вышла: xinput set-prop «silead_ts» –type=float «Coordinate Transformation Matrix» 2.0, 0.0, 0, 0.0, -2.66, 1, 0.0, 0.0, 1 Успешно работает, тач работает изумительно, но после перезагрузки приходится заного забивать. Создал баш скрипт, добавил в него эту команду, проверил работает. Добавил в cron -e его, и ничего не изменилось. сделал так что скрипт дергается каждую минуту и добавил в него создание файла. фаил создается, но вот матрица не применяется. Подскажите как можно автоматически подгружать эту матрицу?

 , ,

Voron_Kor
()
Форум — Linux-hardware

Калибровка тачскрина [MSSL1680]

Здравствуйте. Есть недопланшет IOTA 2120, с установленным archlinux. Для включения поддержки тачскрина собран пакет mssl1680-firmware. Тач определяется и работает (реагирует на нажатия), вот только откалибровать его не получается. Тачскрин ведет себя некорректно, на нажатия реагирует совершенно в противоположной стороне от прикосновения пальца.

Прочитав арч-вики (раздел Touch area) получилось: xinput set-prop "silead_ts" --type=float "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1, но ничего не изменилось, на нажатия, реакция так же неправильная.

xinput_calibrator выдает значения для записи в xorg.conf.d, но они так же не работают (возможно из-за внесенных мной изменений в xinput)

Пробовал калибровку через ts_calibrate, но что делать с /etc/pointercal я к сожалению не понял. Интересный факт, что после сборки пакета xf86-input-tslib, lightdm не хочет запускаться, по этому данный пакет был удален из системы.

Немного информации:

xrandr:

Screen 0: minimum 8 x 8, current 1920 x 1200, maximum 32767 x 32767
DSI1 connected primary 1920x1200+0+0 right X and Y axis (normal left inverted right x axis y axis) 135mm x 216mm
   1200x1920     60.00*+
   1024x768      60.00  
   600x960       60.00  
   800x600       60.32    56.25  
   640x480       59.94  
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

xinput --list:

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ HAILUCK CO.,LTD USB KEYBOARD            	id=10	[slave  pointer  (2)]
⎜   ↳ silead_ts                               	id=11	[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)]
    ↳ HAILUCK CO.,LTD USB KEYBOARD            	id=9	[slave  keyboard (3)]
    ↳ Intel HID events                        	id=12	[slave  keyboard (3)]
    ↳ gpio-keys                               	id=13	[slave  keyboard (3)]
    ↳ HAILUCK CO.,LTD USB KEYBOARD            	id=14	[slave  keyboard (3)]

xinput --list-props 11

Device 'silead_ts':
	Device Enabled (140):	1
	Coordinate Transformation Matrix (142):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Calibration Matrix (295):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Calibration Matrix Default (296):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Send Events Modes Available (260):	1, 0
	libinput Send Events Mode Enabled (261):	0, 0
	libinput Send Events Mode Enabled Default (262):	0, 0
	Device Node (263):	"/dev/input/event9"
	Device Product ID (264):	0, 0

dmesg | grep silead_ts

[    2.843691] silead_ts i2c-MSSL1680:00: Silead chip ID: 0x80360000
[    4.320975] input: silead_ts as /devices/pci0000:00/808622C1:05/i2c-5/i2c-MSSL1680:00/input/input9

lsmod | grep silead

silead                 16384  0

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

P.S Это мой первый опыт работы с тачскрином на linux, по этому не судите строго. Спасибо.

 ,

flappyright
()