Trackball PIM447 Click problem

I bought the Pimoroni track ball breakout, PIM447, to control an RPi running a Python/Tkinter application on a 3.5” screen. It was intended as a wall-mounted controller for our heating system. The software using xautomation moved the pointer around the screen quite well but there is a problem with clicking. For example, the top left button on the RPi GUI only works if you keep the ball pressed while moving the pointer off the button before releasing the ball. Otherwise, the application menu disappears. The same goes for Tkinter buttons. This is irritating and awkward to carry out. What am I doing wrong? (I haven’t spotted anyone else with this problem).

I can’t for the life of me get the evdev version working (does it only work on Python 2, perhaps?)

Although I’ve been playing with the RPi since version one, I am by no means an expert, especially with Linux. So I would welcome any assistance. Thanks in advance!

I’m using one on my Pi 400. I seem to remember having to do something extra different to get it to install and work correctly. Unfortunately Thats about all I remember?
Try sudo pip3 install trackball if you haven’t already.


git clone
cd trackball-python
sudo ./

and pay close attention to the messages.

I think you have to manually install the python 3 version of evdev?

Yes, I’ve installed trackball as you suggest. I’ve also installed xautomation which is needed. As I say, it works OK except for the click function which only works if you keep pressing while you move the pointer off the button in question (and then release) which is a pain! I’m using a Pi Zero 2 for this, by the way. That might be relevant?

Ok, my click function is working OK on my Pi 400. Pi OS Legacy on the Pi 400. I “think” I had to install evdev for python 3 manually?

Sorry I couldn’t be of more help.
Hel Gibbons @hel might be able to help
Contact Us for Raspberry Pi Technical Support - Pimoroni

I’ve not done anything with one of these recently I’m afraid :(

Thanks for replying! I’ll plod on trying a few things and let you know if I find a solution!