Workaround for TrackPoint mouse-cursor issues

I’m a ThinkPad user, and I have been for quite some years. One of my best arguments, is the TrackPoint, which I would argue, is missing on desktop computers. It has multiple modes such as scrolling etc. which, when used, switches the mouse cursor icon to show which mode is currently active. Though, an annoying problem with the current laptop: sometimes the mouse cursor icon gets stuck in some mode and doesn’t return to the default arrow.

This has been bugging me for quite a while and looks something like this.

Searching for solutions, I have only found people having the same problem as me; and it turns out, it is not only this ThinkPad model.

A reddit user writes:

“… One annoying problem is that the cursor will sometimes bug out, and will be stuck on this for some parts of a page (its when you combine the trackpad with the page scroll center button):” and after giving examples concluding “Currently, I resolve the cursor issue by restarting the computer, and sometimes I resort to that for the trackpoint issue (and thus far, it has worked).”

So… no solution to the problem, and rebooting is hardly a workaround. And, although this was 2019, the problem still exists.

It turns out, if you switch cursor style to another, and back, whenever the problem arises, it will turn back to normal. Still hardly considered a workaround, we could of course write a program that does this for us. My initial idea was to try to detect the issue or, just fix it periodically with a decent interarrival time. But for now, I use a shortcut placed in my quick access task-bar.


The code is quite simple: reload the cursor – and there is a call for that. The docs read:

Reloads the system cursors. Set the uiParam parameter to zero and the pvParam parameter to NULL.

So the following code will reload the cursor and fix the problem (SPIF_UPDATEINIFILE is pobably superfluous) :

The full Visual Studio C++ project can be found on github here: and a compiled executable here:

For some reason, the problem doesn’t return quite as often anymore, but it might be dependent on the applications running? who knows…

Thought someone else might enjoy.

Leave a Comment