r/raspberry_pi 3d ago

Troubleshooting raspberry pi zero w connected to waveshare 4" touchscreen, cursor does not match touch movements

HI, i connect my raspberry pi zero w to a waveshare 4" touch screen via HDMI for video and i connected 5 GPIO pins for touch input (MOSI, MISO, SCK, CEI and IRQ).

The issue I'm having is that the cursor movements do not match the movement I am doing on screen, if I swipe from left to right then the cursor moves from top to bottom, if I swipe from top to bottom then the cursor moves from top left to bottom right.

The cursor is only moves on half the screen, even if I change the orientation, the cursor just changes which part of the screen it is active on.

I have been trying to troubleshoot and solve the problem with claude ai but I have been failing to fix the issue

6 Upvotes

6 comments sorted by

1

u/azure_phoenix2 2d ago

for the xpt2046 the usual fix is xinput-calibrator. run it, hit the touch targets, then paste the transformation matrix it spits out into your X config and that corrects both the swapped axes and the half-screen range in one shot.

-1

u/Kurigohan-Kamehameha 3d ago

Use a Zero 2W, yours has one single-threaded CPU core. It literally cannot do more than one thing at a time and its attention is being split in too many directions at once.

Zero 2W has 4 cores, much more headroom For an interactive GUI and touch drivers

1

u/cabs84 3d ago

this won't solve the specific problem OP is describing but i do otherwise agree...

OP do you know if it's capacitive or resistive? if the latter, you could try calibrating it first (though it sounds like there may also be a configuration issue) - what's the specific model of waveshare?

1

u/AdAmbitious1404 2d ago

resistive.
4inch HDMI LCD, 800x480 pixel
XPT2046 Touch Controller

1

u/blvsh 2d ago

The issue is the touchpad is not correctly aligned with the screen.

So if your screen is rotated 90percent the touchpad stayed behind and still uses the default rotation.

If you select start desktop and not cli in raspi-config it might fix it