Încerc să fac ca un ecran tactil în vechiul meu CF-18 să funcționeze corect cu driverul standard de intrare libină, dar nu am reușit până acum. Există cineva care a făcut ceva similar sau a înțeles bine această parte a sistemului (adică nucleul, porturile seriale și configurațiile libinput) în Ubuntu-32 bit 18.04.6 LTS cu kernel 5.4.0-91-generic.
Problema, după cum văd eu, este cu ecranul tactil LBPS/2 Fujitsu Lifebook. Știi, este o durere de lungă durată în gât (vezi https://github.com/okias/xf86-input-fujitouch și https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/fujitsu-p1610-serial-touchscreen-driver-install-4175643165/ sau https://tldp.org/HOWTO/XFree86-Touch-Screen-HOWTO-5.html)
În CF-18-ul meu, cu o versiune ieșită din cutie a lubuntu 18.04 (după upgrade-ul apt), un ecran tactil este activ și chiar trimite ceva la /dev/event6. Dar indicatorul mouse-ului glisează de-a lungul axei X numai în partea de jos a ecranului (undeva peste linia panoului, astfel încât pot vedea pictograma completă a indicatorului mouse-ului peste linie)
văd pe lângă $ libinput list-dispozitive
că dispozitivul a fost detectat și înregistrat de subsistemul X
Dispozitiv: Ecran tactil LBPS/2 Fujitsu Lifebook
Kernel: /dev/input/event6
Grupa: 7
Seat: seat0, implicit
Capabilitati: atingere
Atingeți pentru a face clic: n/a
Atingeți și trageți: n/a
Atingeți blocarea glisării: n/a
Stângaci: n/a
Nat.scrolling: n/a
Emulație mijlocie: n/a
Calibrare: matrice de identitate
Metode de defilare: niciuna
Metode de clic: niciuna
Dezactivați tastarea-w: n/a
Profiluri Accel: n/a
Rotație: n/a
dar am găsit următoarele rânduri suspecte:
...
[ 37.324] (II) eveniment6 - Ecran tactil Fujitsu Lifebook LBPS/2: dispozitivul a fost eliminat
...
[ 37.329] (II) Niciun driver de intrare specificat, ignorând acest dispozitiv.
[ 37.329] (II) Este posibil ca acest dispozitiv să fi fost adăugat cu un alt fișier de dispozitiv.
în /var/log/Xorg.0.log (referitor la evenimentul6):
[ 37.305] (II) config/udev: Adăugarea dispozitivului de intrare LBPS/2 Fujitsu Lifebook TouchScreen (/dev/input/event6)
[ 37.305] (**) Ecran tactil Fujitsu Lifebook LBPS/2: se aplică InputClass „libinput touchscreen catchall”
[ 37.305] (**) Ecran tactil Fujitsu Lifebook LBPS/2: se aplică „calibrare” InputClass
[ 37.306] (II) Utilizarea driverului de intrare „libinput” pentru „LBPS/2 Fujitsu Lifebook TouchScreen”
[ 37.306] (**) Ecran tactil LBPS/2 Fujitsu Lifebook: raportează întotdeauna evenimentele principale
[ 37.306] (**) Opțiunea „Dispozitiv” „/dev/input/event6”
[ 37.306] (**) Opțiunea „_source” „server/udev”
[ 37.308] (II) event6 - LBPS/2 Fujitsu Lifebook TouchScreen: este etichetat de udev ca: Touchscreen
[ 37.324] (II) eveniment6 - Ecran tactil Fujitsu Lifebook LBPS/2: dispozitivul este un dispozitiv tactil
[ 37.324] (II) eveniment6 - Ecran tactil Fujitsu Lifebook LBPS/2: dispozitivul a fost eliminat
[ 37.324] (**) Opțiunea „config_info” „udev:/sys/devices/platform/i8042/serio3/input/input11/event6”
[ 37.324] (II) XINPUT: Adăugarea dispozitivului de intrare extins „LBPS/2 Fujitsu Lifebook TouchScreen” (tip: TOUCHSCREEN, id 11)
[ 37.324] (**) Opțiunea „AccelerationScheme” „niciunul”
[ 37.325] (**) LBPS/2 Ecran tactil Fujitsu Lifebook: (accelerare) schemă selectată nici unul/0
[ 37.325] (**) LBPS/2 Ecran tactil Fujitsu Lifebook: (accelerare) factor de accelerație: 2.000
[ 37.325] (**) LBPS/2 Ecran tactil Fujitsu Lifebook: (accelerare) prag de accelerare: 4
[ 37.327] (II) event6 - LBPS/2 Fujitsu Lifebook TouchScreen: este etichetat de udev ca: Touchscreen
[ 37.327] (II) eveniment6 - Ecran tactil Fujitsu Lifebook LBPS/2: dispozitivul este un dispozitiv tactil
[ 37.329] (II) config/udev: Adăugarea dispozitivului de intrare LBPS/2 Fujitsu Lifebook TouchScreen (/dev/input/mouse1)
[ 37.329] (**) Ecran tactil Fujitsu Lifebook LBPS/2: se aplică „calibrare” InputClass
[ 37.329] (II) Niciun driver de intrare specificat, ignorând acest dispozitiv.
[ 37.329] (II) Este posibil ca acest dispozitiv să fi fost adăugat cu un alt fișier de dispozitiv.
în același timp, se poate găsi în 40-libinput.conf că un ecran tactil trebuie să aibă un driver de libinput:
# Se potrivește pe toate tipurile de dispozitive, cu excepția joystick-urilor
Secțiunea „InputClass”
Identificator „libinput pointer catchall”
MatchIsPointer „activat”
MatchDevicePath „/dev/input/event*”
Driver „libinput”
EndSection
Secțiunea „InputClass”
Identificator „libinput keyboard catchall”
MatchIsKeyboard „activat”
MatchDevicePath „/dev/input/event*”
Driver „libinput”
EndSection
Secțiunea „InputClass”
Identificator „libinput touchpad catchall”
MatchIsTouchpad „activat”
MatchDevicePath „/dev/input/event*”
Driver „libinput”
EndSection
Secțiunea „InputClass”
Identificator „libinput touchscreen catchall”
MatchIsTouchscreen „activat”
MatchDevicePath „/dev/input/event*”
Driver „libinput”
# Driver „Fujitsu”
EndSection
Secțiunea „InputClass”
Identificator „libinput tablet catchall”
MatchIsTablet „activat”
MatchDevicePath „/dev/input/event*”
Driver „libinput”
EndSection
Am încercat să fac următoarele:
- Calibrați driverul:
xinput_calibrator --dispozitiv „LBPS/2 Fujitsu Lifebook TouchScreen” -v > /etc/X11/xorg.conf.d/99-calibration.conf'
Din păcate, un calibrator mi-a dat următoarele:
Secțiunea „InputClass”
Identificator „calibrare”
MatchProduct „Ecran tactil LBPS/2 Fujitsu Lifebook”
Opțiunea „MinX” „4901”
Opțiunea „MaxX” „59898”
Opțiunea „MinY” „65194”
Opțiunea „MaxY” „65194”
Opțiunea „SwapXY” „0” # cu excepția cazului în care a fost deja setată la 1
Opțiunea „InvertX” „0” # dacă nu a fost deja setată
Opțiunea „InvertY” „0” # dacă nu a fost deja setată
EndSection
așa că am schimbat „Opțiunea „MinY” „65194”” în Opțiunea „MinY” „4900” în /etc/X11/xorg.conf.d/99-calibration.conf. O repornire a dus la nimic nou - am văzut un indicator al mouse-ului deplasându-se peste linia de stare doar de-a lungul axei x.
- Compilați un nou driver serial de la 1 și a schimbat fișierele de configurare urmând recomandările date acolo, dar s-a prăbușit la pornirea X-server-ului.
Ei bine, există vreo idee ce poate însemna faptul că „MinY” „65194” este egal cu „MaxY” „65194” după procedura de calibrare? Pot fi sigur că portul meu serial conectat la driverul ecranului tactil funcționează corect și că driverul (sau absența acestuia în mediul X, așa cum se spune mai sus în ultimele două rânduri ale Xorg.0.log) este cel care provoacă problema și, prin urmare, ar trebui să încerc în continuare să o reglez cu mai multă atenție (prin intermediul unor schimbări în matricea de identitate, de exemplu)?