Friday, 2022-03-04

spiiroin@HengYeDev great, I'll make a task about having such feature available in mainline06:41
T42<smallville7123> how does sailfish convert touchscreen input into a x/y location09:06
T42<elros34> qt evdevtouch do this09:28
T42<smallville7123> where can i find info on the exact process that evdevtouch uses09:34
T42<smallville7123> as i somehow doubt the screen sends raw pixel touch location to the api driver09:35
T42<smallville7123> as i somehow doubt the screen sends raw pixel touch location to the api driver (as that would just be too convinent) (edited)09:35
T42<elros34> what you are trying to fix? https://github.com/sailfishos/qtbase/tree/upgrade-4.3.0/src/platformsupport/input09:37
T42<smallville7123> as i somehow doubt the screen sends raw pixel touch location to the api driver (as that would just be too convinent)09:38
T42<smallville7123> eg the screen sending an X/Y of 500x1070 directly to the driver would simply be way to convenient (edited)09:38
T42<smallville7123> there is https://stackoverflow.com/questions/53299595/calibrating-and-configuring-evdevtouch-on-embedded-qt-project which seems to suggest09:39
T42<smallville7123> qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: -109:39
T42<smallville7123> qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: -109:39
T42<smallville7123> there is https://stackoverflow.com/questions/53299595/calibrating-and-configuring-evdevtouch-on-embedded-qt-project which seems to suggest09:39
T42<smallville7123> qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: -109:39
T42<smallville7123> qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: -1 (edited)09:39
T42<smallville7123> there is https://stackoverflow.com/questions/53299595/calibrating-and-configuring-evdevtouch-on-embedded-qt-project which seems to suggest09:40
T42<smallville7123> qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: -109:40
T42<smallville7123> qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: -109:40
T42<smallville7123> but i do not know if this applies to the trackpad or the touch screen or some other input device (edited)09:40
T42<elros34> I do not get. is that your issue?09:40
T42<smallville7123> does the screen feed normalized positional input to the input driver?09:43
T42<smallville7123> does the screen feed normalized positional input to the input driver? eg 0 to 1 or 0 to -1 (edited)09:43
T42<smallville7123> does the screen feed normalized positional input to the input driver? eg 0 to 1 or 0 to -109:44
T42<smallville7123> eg the percentage of the screen that the detected touch is located at (edited)09:44
T42<elros34> this IRC channel, by editing you are spaming it with repeated messages09:44
T42<smallville7123> sorry09:45
T42<elros34> if you want to know how it works excatly the read linked source code or enable debugging. IIRC from evdevmouse cooridnates were normalized to screen size09:46
T42<smallville7123> https://github.com/sailfishos/qtbase/blob/ab11442ca6e9d8850ca62944e91a11cb41652f63/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp#L30209:48
T42<smallville7123> now i’m confused 🙁09:48
T42<smallville7123> are min and max given in normalized or unnormalized? and in pixel or float?09:49
T42<elros34> it would really help if you tell what you are trying to fix. So you have ti-tsc driver name?09:51
T42<smallville7123> or can the input device just send whatever values it wants and the driver must interperate these values correctly09:52
T42<smallville7123> eg the input device is not REQUIRED to send it’s input in some specific standard format ?09:52
T42<smallville7123> i’m trying to convert normalized touchpad input (0.0 to 1.0) into… something that can be used for multi-touch input (re @elros34: it would really help...)09:55
T42<smallville7123> basically i want to enable multi-touch detection in a non-multi-touch environment that has a multi-touch capable screen09:57
T42<elros34> What is "non-multitouch environment". For touchpad maybe evdevtablet would be better, you need to see what kind of events your driver sends: evdev_touch -t then find which plugin: evdevtouch/mouse/tablet would works best for you09:59
T42<smallville7123> eg, where in this environment the only input is for a single touch point09:59
T42<smallville7123> eg, where in this environment the standard input API only returns info for a single touch point *10:00
T42<elros34> I do not see other way than reading source code the for such a unusual and cryptic goal10:02
T42<smallville7123> with the standard input API being dependant on the GUI system in use, for example, the system’s GUI may have an input API that does not bother detecting multi-touch input or only tracks the first touch input and ignores all other inputs10:03
T42<smallville7123> eg finger 1 will be tracked and finger 2 will be ignored until finger 1 is no longer being tracked in which case finger 2 may be transfered to the primary input being tracked until finger 2 is no longer tracked10:06
T42<smallville7123> eg press finger 1 down, finger 1 is tracked, press finger 2 down, finger 1 is still tracked, lift up finger 1 and finger 2 is now tracked, and so on10:07
T42<smallville7123> (tho it would be implementation defined)10:08
T42<smallville7123> anyway, what i want to do is make my own touch API to substiture the GUI touch API, where the new touch api would be capable of multi-touch input10:09
T42<smallville7123> (as long as the api can DETECT multi-touch input from the driver)10:09
T42<smallville7123> (or rather, the API will detect multi-touch if the underlying input device itself is capable of emitting multi-touch information such as per-touch touch identifiers and per-touch touch input)10:11
T42<smallville7123> i can currently detect and read this information, in which the input device returns normalized coordinates ranging from 0 to 1, which maps directly to the input’s touch surface and is in a percentage value (equivilant to Device Normalized Coordinates for those farmiliar with OpenGL)10:13
T42<smallville7123> my problem is what to do next such that i can use this normalized coordinate info to track a touch10:19
T42<smallville7123> like, would i simply use it as a delta value to offset the main touch’s input position by as the second finger moves around the touch surface, and then scale the normalized delta to the coordinate system in which the main touch API uses10:19
T42<smallville7123> such that if the finger moves from say 50 to 150, then this delta can be used to obtain the same result of moving from 50 to 15010:19
T42<smallville7123> eg, the user would be able to tell that the finger position is 150 by using the delta, and the start input position of the main input at the time the finger was pressed down10:20
T42<smallville7123> however there is two problems with this10:24
T42<smallville7123> 1: the input device may be manipulating an on-screen cursor and the cursor may reach the end of the screen and not move any further while the input device continues to move10:24
T42<smallville7123> 2: the system may have cursor acceleration, where the faster the touch is moved around the input device, the more screen space the input covers, for example if the user moves slowly on the device then the input location may change from say 20 to 80, but if the user moves the same distance very quickly than the input may be accelerated such that it changes from 20 to 15010:24
T42<smallville7123> how would i go about dealing with all this?10:26
T42<smallville7123> (also, if the input is accelerated than the computed delta would be invalid since even though on the input device the same distance is moved, on the GUI the input is accelerated resulting in more distance being covered)10:27
T42<smallville7123> eg if we move such that the delta is 0.5 (from start of input device to middle of input device) then we may only move to the middle of the GUI and the delta would reproduce that10:33
T42<smallville7123> but if we move quicker such that the movement becomes accelerated, then even though we have a delta of 0.5 and we moved from start to middle of input device, our delta will only calculate movement to the middle, while the GUI input may have moved to the end of the screen if enough acceleration was detected10:33
T42<edp_17> @elros34 : Is the following normal/expected? I've connected a BT keyboard which works some apps (e.g. Notes) but I cannot control the Settings app with it. (The evdev_trace -t shows all event generated by a button click on the BT keyboard though.)10:40
T42<TheVancedGamer> @smallville7123 easy with the spam, this is linked to IRC10:42
T42<elros34> @edp_17 so bt keyboard but you are asking about mouse events from it? What do you mean control settings app10:45
T42<edp_17> I meant something like this: when pressing the arrow keys I can step on the options or pressing the Esc key exits the app or select and start an app from app drawer with the keyboard. All/any of these are possible?10:47
T42<elros34> no. Iw oulkd use it with hw keyboard if that would be the case. Maybe it was implemented in jolla's feature phone prototype but not in sfos we use10:50
T42<elros34> I would*10:50
T42<edp_17> I see. So what I experienced was normal. Thanks for confirming.10:50
T42<elros34> wheel scrolling should works:)10:51
T42<edp_17> On the keyboard there is no wheel. :)10:51
T42<elros34> see https://www.youtube.com/watch?v=X3cyLhoUpc0&t=25s10:52
T42<edp_17> Wow. :)10:54
T42<TheVancedGamer> wait what11:37
T42<edp_17> And seemingly the Ctr+Alt+Del also works. 😃 I was in the note app and pressed it, then the device restarted. Hidden Windows support? 😂 (re @elros34: wheel scrolling shou...)15:19
T42<edp_17> *Windows=Microsoft15:20
T42<elros34> or harbour-taskswitcher15:23
T42<edp_17> I have a question. It is bt related. On OBS build bluez5 was included into the droid-config-n7000 and I don't understand why.15:35
T42<edp_17> When rebuild that locally, it used bluez.15:37
jules[m]<T42> "<edp_17> jules: I fetched/pulled..." <- Build and installation done but same issue =/15:44
T42<edp_17> It seems doesn't always work. On my S2 (i9100) port, didn't help either. The device still reboots immediatelly when I start camera app. Even if I start it from the command line. :(15:53

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!