Len me introduce Virtual-O’s virtual compass physics.
The compass is an old school one. So you must excuse it hasn’t so stable needle.
Most important thing was to get it working pretty realistic. Every physics parameter of the compass is tweakable.
I can change weight of the needle, angular drag, magnetic force. And result is calculated by physics engine.
Now engine is already prepared for thumb compassess. Same system would be used, only with changed parameters.