Add support for touch shape and orientation
Kernel and Wayland support it, but libinput doesn't. Some of the challenges are outlined below.
10:53:46 <emersion> the kernel seems to support it
10:54:00 <emersion> ABS_MT_TOUCH_MAJOR, ABS_MT_ORIENTATION, etc
10:56:41 <emersion> whot: why is kernel and wayland support implemented, but not libinput? missing patch, or something else?
10:58:11 <emersion> luyn: you could try `sudo libinput record /dev/input/eventXXX`
10:58:31 <emersion> then grep for the evdev constants i mentionned above
10:58:36 <whot> emersion: "no demand". there was a patchset for it a few years ago but that was dropped
10:59:00 <whot> emersion: well, sort of. we got to a v8 in the discussion and when I tried it it didn't even compile...
10:59:01 <emersion> luyn: ^ sounds like there'd be an opportunity to send a libinput patch if you need this
10:59:18 <emersion> ack!
10:59:35 <davidre> luyn: evtest and see if you get those events maybe?
10:59:36 <emersion> a bit of a shame we merged the wayland part of it then
10:59:54 <whot> i'm not fundamentally opposed to it, the biggest problem is that major/minor are usually rubbish so they don't work without quirks for every single device
11:00:12 <emersion> whot: i orientation any better?
11:00:14 <emersion> is*
11:00:35 <whot> so libinput is a bit in the weird place where we *want* to only export things that make sense to the caller but we can't do this generically here
11:00:50 <emersion> by "every single device", do you mean every piece of hw needs calibration?
11:00:51 <whot> touchpads use major/minor for palm/thumb detection in libinput but only if a quirk is avaialble
11:01:16 <whot> not calibration in the traditional sense, more "specified ranges"
11:01:22 <emersion> ah, no, every model then
11:01:26 <emersion> so it's not _that_ bad
11:01:48 <whot> yeah, generally once the quirks is in you're good for that device (except ppl who disagree on touch sizes etc)
11:01:49 <emersion> just need to grow that quirk database :S
11:02:01 <whot> the problem is - what are we converting it to?
11:02:11 <whot> palm detection is a threshold so that's easy
11:02:14 <emersion> the wayland protocol says… "surface coords"…
11:02:33 <whot> right, so that conversion will be fun
11:02:54 <whot> need to write all the tools etc to actually make this possible to measure first
11:03:17 <whot> re: orientation - most orientation is just a 0 or 1 (vert or horiz), sometimes you get 2 bits of information
11:03:39 <whot> can't remember what the apples do, they may be more fine-grained with 4-8 directions?
11:03:45 <emersion> okay, so no quirk, but not very precise
11:03:58 <whot> yeah, it's generally reliable enough
11:04:18 <whot> but I kinda feel bad about giving you a "90 degree" angle when it's anywhere between 45 and 135
11:04:29 <whot> plus the whole mirroring thing
11:04:44 <emersion> mirroring?
11:04:59 <whot> turns out human fingers are symmetrical, so upside down is downside up
11:05:10 l4s8g has joined
11:05:15 <emersion> hm
11:05:24 <whot> which means 0 deg angle is the same as 180 and I don't know which
11:05:51 <emersion> can i create an issue about this so that it doesn't get forgotten?
11:06:04 l4s8g has quit
11:06:05 <whot> none of these problems are unsolvable, it just needs someone with the hardware and motivation to actually dig down and figure it out. so far that hasn't happened and the shouting about it was limited, so I figured it may not be *that* important
11:06:07 <whot> sure