HyperPixel Touchscreen Calibration Issue

And that’s half the battle :D Briefly:

The touch screen is driven by a discrete grid of electrodes wired up to an ADC. As such it doesn’t have 800x480 actual points of sensitivity, but rather (IIRC) 13 x 7 lines.

The line row/column intersection that your finger is closest to will read the highest value, and the next closest will have the next highest value and so on. If your finger is exactly between two intersections then they should, in theory, both read the same value. So, to get the position of a finger you find the adjacent intersections that have a highest value, and interpolate between their locations depending on their values.

IE: If you have point A and point B that are reading 75 and 25 (totally arbitrary values you wont see in reality) then you can approximate that the finger is 3 times closer to A than it is to B.

There’s no electrical limit to the number of touches you can track simultaneously on this display, but there are practical ones - sooner or later it becomes impossible to tell the difference between fingers.

I agree with right-click emulation, it’s something I miss from the official display. There is an app to make it work, but it’s a bodge. See: GitHub - pimoroni/raspberry-pi-two-finger-touch: Simple installer and binary for running the twofing application on the official Raspberry Pi 7" touchscreen, to enable two-finger right click

(Note: This doesn’t work well on HyperPixel because it’s native tracking of two-fingers leaves a little to be desired)

As it happens I saw your post late last night and thought I should link you to this code example to confirm. Looks like you’ve taken the initiative though and beat me to it.

It sound like a bug, not a feature. I think you might need a replacement.

Yeah, I’m not sure 100% why there’s a total lack of support for gestures in Pixel, but then I haven’t used many Linux desktops, much less touchscreen-enabled ones so I don’t know what the wider state of support is like.

It’s a shame, because all 10 points of multi-touch are there and supported in my Python-MultiTouch examples to do things like dual-analog onscreen controls and multi-player pong: GitHub - pimoroni/python-multitouch: Multi-touch pure Python driver for the official 7" touchscreen display.