Fórum Root.cz
Hlavní témata => Desktop => Téma založeno: Jirka_V 17. 04. 2019, 19:24:02
-
Zdrovim vespolek. Dostal sem se k Tabletu 2v1 TrekStore Surftab 11.6. Aktualn na nem provozuji ubuntu 18.04 LTS a az na BT ktere nepouzivam a Dotykovou obrazovku em jede vsechno OK. Aktualne bych chtel poprosit o radu jak by se dal zkalibrovat dotykovy display.
Chovani je nasledujici: dotek je invertovan takze kdyz se dotku v pravem dolnim rohu dotek se detekuje v levem horni rohu. dal kdyz se dotknu a tahnu prstem prez plochu tak to oznacuje misto toho aby to pouze presouvalo kurzor.
Dotek behem instalace fungoval bez normalne po instalaci chovani viz muj popis :( Uz tu googlim nekolik dni a nic moc jsem k nastaveni dotykove obrazovky nenasel.
-
Stane se neco kdyz zkusis tablet pouzivat otoceny o 90, 180 nebo dokonce o 360 stupnu?
Tech 360 jsem si dovolil maly vtip, i kdyz pro fyziky co znaji spinor to chtip nemusi byt :-)
-
No evidentne mam i spatna data v senzoru orientace :) kdyz otocim tablet o 90 stupnu obraz se me otoci dobre kdyz ho vratim obraz mam vzhuru nohama ale to otocim prez "xrander -o inverted" bohuzel dotykova plocha se chova ve vsech polohach stejne a je invertovana.
Nasel jsem postup jak odstavit senzor aby se neotacela obrazovka ale to neresi problem dotykove plochy.
Edit: doplnim ze stejne chovani ma i mys takze mys je ivertovana v pohybu ale i v klikani. Mys mam v levo dole kliknu a registruje se to v pravo nahore.
-
Nejde nastavit otočení obrazu a otočení dotyku každé zvlášť? Tedy dotyk nechat být, ale otočit obraz o 180 stupňů (nemyslím senzorem, ale v konfiguraci).
-
Kdyz pouziji xrander -o normal tak se obraz otoci normalne ale mys zustane invertovana. Jeste jsem zkousel ten dotak v otocene poloze na vysko tedy o 90 a tam me dotyk funguje korektne a mys je invertovan... uz z toho zacinam sedivej :)
Nejvice me irituje to ze behem instalace jsem to ovladal cele prez dotekovou obrazovku a vse OK obraz byl otocony korektne a dotyk taky reagoval korekten po prvnim nabootovani se to zacne chovat takhle divne :(
-
asi blbost, ale za pokus nic nedas :-) i kdyz v instalaci bylo jiste take pouzite libinput, zkus prehodit na drive pouzivane evdev:
# v pripade ze NEmas HWE (jadro 4.15)
sudo apt purge xserver-xorg-input-libinput
sudo apt install xserver-xorg-input-evdev
# v pripade ze mas HWE (jadro 4.18)
sudo apt purge xserver-xorg-input-libinput-hwe-18.04
sudo apt install xserver-xorg-input-evdev-hwe-18.04
-
Udelat si relevantni vypisy v terminalu pri instalaci a porovnat s nastavenim v hotovem systemu.
-
asi blbost, ale za pokus nic nedas :-) i kdyz v instalaci bylo jiste take pouzite libinput, zkus prehodit na drive pouzivane evdev:
# v pripade ze NEmas HWE (jadro 4.15)
sudo apt purge xserver-xorg-input-libinput
sudo apt install xserver-xorg-input-evdev
# v pripade ze mas HWE (jadro 4.18)
sudo apt purge xserver-xorg-input-libinput-hwe-18.04
sudo apt install xserver-xorg-input-evdev-hwe-18.04
Otestovaano bohuzel nepomohlo chovani stale stejne
-
V Xkách se dají souřadnice na vstupu i výstupu vynásobit libovolnou maticí (homogenní souřadnice). Hledej Coordinate Transformation Matrix. Nepomohlo by to?
https://wiki.ubuntu.com/X/InputCoordinateTransformation
https://wiki.archlinux.org/index.php/Calibrating_Touchscreen#Calculate_the_Coordinate_Transformation_Matrix
Z moudra.txt (https://jenda.hrach.eu/f/moudra.txt):
v man xrandr u parametru --transform jsou vysvětlené homogenous coordinates
--transform a,b,c,d,e,f,g,h,i
Specifies a transformation matrix to apply on the output. Automatically a bilinear filter is selected. The mathematical form corresponds
to:
a b c
d e f
g h i
The transformation is based on homogeneous coordinates. The matrix multiplied by the coordinate vector of a pixel of the output gives the
transformed coordinate vector of a pixel in the graphic buffer. More precisely, the vector (x y) of the output pixel is extended to 3 val‐
ues (x y w), with 1 as the w coordinate and multiplied against the matrix. The final device coordinates of the pixel are then calculated
with the so-called homogenic division by the transformed w coordinate. In other words, the device coordinates (x' y') of the transformed
pixel are:
x' = (ax + by + c) / w' and
y' = (dx + ey + f) / w' ,
with w' = (gx + hy + i) .
Typically, a and e corresponds to the scaling on the X and Y axes, c and f corresponds to the translation on those axes, and g, h, and i
are respectively 0, 0 and 1. The matrix can also be used to express more complex transformations such as keystone correction, or rotation.
For a rotation of an angle T, this formula can be used:
cos T -sin T 0
sin T cos T 0
0 0 1
As a special argument, instead of passing a matrix, one can pass the string none, in which case the default values are used (a unit matrix
without filter).
Good luck!
-
Ohavná self-promotion (http://support.fccps.cz/download/adv/frr/matrix_calibrator/matrix_calibrator.htm). Popravdě tomu dal korunu kolemjdoucí Petr Mikše (na odkazované stránce je zmíněn).
Toto zkalibruje souřadnice. Ohledně logiky dotyku (posouvat vs. drag and drop) z hlavy neposloužím. Mohl by na to mít fidlátka buď xinput nebo HW-specifický ovladač. Debilní logiku dotyku jsem řešil spíš u nativní podpory pod Windows, v Linuxu se mi to zatím vždycky chovalo použitelně... Nebyl by případně nějaký popis, co je zač ten dotykový kontrolér? Visí to na USB, 232, I2C ? Nebyl by útržek logu, kde ho kernel nebo xwindows nadetekovaly ?
-
Ohledně chování dotyku jsem našel jedno debatní vlákno (https://www.raspberrypi.org/forums/viewtopic.php?t=189855) a v něm úplně na konci asi jedinou praktickou radu:
usbhid.mousepoll=0
Což ovšem může mít vliv pouze v případě, že je dotykový řadič vidět uvnitř systému jako zařízení třídy USB HID.
Dotaz do googlu (https://www.google.com/search?q=XWindows+xinput+touchscreen+touch+drag+release) vrátil nějaké další výsledky...
-
Ja to vzdavam ;D Povedlo se me rozbehat dotek prez xinput ale mys zustala invertovana. Po provedeni prvniho restartu OK po zamrznuti a nastartovani dotek zase rozhazenej a uz to neslo nastavit. CO to jako je uplne stejny postup ale proste to ignoruje konfiguraci v /usr/share/X11/xorg.conf.d/99-calibration.conf :(
-
Pokud stále platí, že při instalaci (liveUSB?) to bylo OK a po instalaci se to rozhodí, tak to musí být jen nějaká ptákovina. IMO by neměl být zásadní problém porovnáním zjistit, co je z live bootu jinak než z nainstalovaného.
-
Pokud stále platí, že při instalaci (liveUSB?) to bylo OK a po instalaci se to rozhodí, tak to musí být jen nějaká ptákovina. IMO by neměl být zásadní problém porovnáním zjistit, co je z live bootu jinak než z nainstalovaného.
Verim ze zkuseny uzivatel by to asi zvladl ale ja jako zacatecnik nemam tuseni kde stim zacit
-
[...] ale proste to ignoruje konfiguraci v /usr/share/X11/xorg.conf.d/99-calibration.conf :(
asi to s tim nesouvisi, ale pro info, user xorg nastaveni se NEdava do /usr/share... ale do /etc/X11/xorg.conf.d/cokoliv.conf ;-)
-
Pokud stále platí, že při instalaci (liveUSB?) to bylo OK a po instalaci se to rozhodí, tak to musí být jen nějaká ptákovina. IMO by neměl být zásadní problém porovnáním zjistit, co je z live bootu jinak než z nainstalovaného.
muze jit o to ze po instalaci jsou aktualizovane balicky kde je neco jiz jinak (new/bug?), ale souhlas s porovnanim (/var/log/Xorg.0.log, lsmod, xinput( list --long), taky bych zkusil instalovat z LiveUSB(a pak nastartovat z disku) BEZ pripojene LAN/Wifi, aby se zabranilo aktualizacim
-
CO to jako je uplne stejny postup ale proste to ignoruje konfiguraci v /usr/share/X11/xorg.conf.d/99-calibration.conf :(
Zkus místo konfiguráků tu matici předat přímo přes xinput. Já bohužel nemám touchscreen, jenom myš, ale třeba to bude podobné. Dělám tohle:
xinput --set-prop 'SteelSeries CSGO Gaming Mouse' 'Coordinate Transformation Matrix' 1.00, 0.000000, 0.000000, 0.000000, 1.0000, 0.000000, 0.000000, 0.000000, 3
-
[...] ale proste to ignoruje konfiguraci v /usr/share/X11/xorg.conf.d/99-calibration.conf :(
asi to s tim nesouvisi, ale pro info, user xorg nastaveni se NEdava do /usr/share... ale do /etc/X11/xorg.conf.d/cokoliv.conf ;-)
To je divne, xinput_calibration me primo vyhodil po calibraci nastaveni s informaci ze to mam umistit tam. Po ulozeni a restartovani to fungovalo pak se tablet seknul tak sem ho restartoval a znova to neslo a uz nepomohla ani kalibrace.
-
Nemohl byste prosím dodat vzorek toho konfiguráku, co Vám navrhl xinput_calibrator ?
Momentální obsah aktivní kalibrační matice (resp. matic, ono jich může být víc) by měl ukázat příkaz
xinput list-props
Neznám podrobnosti, jak se chová xinput_calibrator konkrétně v Ubuntu 18.04. Pokud je mi známo, xinput_calibrator je už několik let unmaintained, a přestože je teoretická šance, že drobné oděrky fixnou balíčkoví maintaineři v distrech, moje dosavadní zkušenost byla, že v distribučním repu bývá nadrzo stará verze, s aktuálním stylem konfigurace vrstvy xinput již nekompatibilní.
Historicky xinput_calibrator navrhoval útržek konfiguráku (xorg.conf) ve dvou různých formátech pro klasické kartézské souřadnice (min_X, max_X, min_Y, max_Y) - dnešní X tuto konfiguraci ignorují. Naposledy když jsem se v tom vrtal (pár měsíců zpátky) tak platilo, že xinput_calibrator neuměl vypotit přímo "matici" (devět hodnot v jednom řádku). Kromě toho jak správně říkáte, různá distra můžou mít ten modulární konfigurák v různých adresářích. Takže pokud Vám konfigurace doporučená konkrétní verzí xinput_calibratoru "nefunguje", tak není divu.
Proto znovu uvádím odkaz na svůj perlový skript (http://support.fccps.cz/download/adv/frr/matrix_calibrator/matrix_calibrator.htm), který zneužije xinput_calibrator jako zdroj vstupních dat (dotyků) a spočítá "matici". Tuším i navrhne správnou cestu a název souboru pro Debian/Ubuntu. Ten skript je destilát mých mnoha pokusů a omylů (a pokročilé matematiky z pera pana Mikšeho). Na konci toho webu je pár odkazů na výživné návazné čtení, podle kterého jsem to lepil dohromady.
-
Vzhledem k tomu ze to resim uz tyden s nulovim vysledkem hodil jsem tam zpet Win10 a smiril jsem se stim ze to je pomalejsi ale funkcni :)
-
Hm, tak nějak jsem to čekal.
(Už jsem si zvykl, že ne všechno z widlí funguje i pod linuchem. Je to smutné, ale je to tak.)
Btw, toto jsi viděl?
https://forums.fedoraforum.org/showthread.php?320779-Touchscreen-(Input)-trouble-on-Trekstor-Surftab-Twin-11-6&p=1820237#post1820237
-
Btw, toto jsi viděl?
https://forums.fedoraforum.org/showthread.php?320779-Touchscreen-(Input)-trouble-on-Trekstor-Surftab-Twin-11-6&p=1820237#post1820237
Za tento odkaz děkuji. Hezkypěkně - kalibrace skrz udev = ještě o něco hlouběji pod kapotou.
Wayland sice neprovozuji, ale ono se to nejspíš hodí i na další věci, prakticky cokoli co neběží pod X.
Trochu mě mate, že ta transformační matice má jenom 6 členů. Matice v Xinputu má 9 členů. Až se jednou budu opravdu nudit, měl bych si o tom něco přečíst...
-
Hm, tak nějak jsem to čekal.
(Už jsem si zvykl, že ne všechno z widlí funguje i pod linuchem. Je to smutné, ale je to tak.)
Btw, toto jsi viděl?
https://forums.fedoraforum.org/showthread.php?320779-Touchscreen-(Input)-trouble-on-Trekstor-Surftab-Twin-11-6&p=1820237#post1820237
Nato sem narazil taky. Fedoru jsem zkousel protoze na nemeckych forech meli s fedorou hodne uspechu ale v mem pripade zadne pozitivni vysledky.