The overall goal is to create a trackball for gaming, CAD and digital drawing. As such, it has many programmable buttons and will have a very good set of bearings to roll freely for extremely high accuracy.
I would prefer to use three bearings as it is very difficult to get more than that to balance out properly. Not impossible, but three is just so much easier.
I agree with you regarding sensors. If I have two along the sides, each would be only using one axis under normal operations for X & Y movements. The other axis would sense the twist. I think height of the trackball will be challenging, thus sensors on the side is tempting for this reason.
The list of possible values that can be programmed on any key:
Any combination of key modifiers: Shift, Ctrl, Alt
-Plus-
Any of these:
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, SPACE, TAB, PgUp, PgDn, LCTRL, RCTRL, L.ALT, R.ALT, L.SFT, R.SFT, ;, ', [, ], ~, ., , /, \, =, +, -, *, M.1, M.2, M.3, S.UP, S.DN, Up, Down, Left, Right, 200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2400, 2800, 3200, 3600, 4000, 4400, 4800, 5200, 5600, 6000, 6400, 6800, 7200, 7600, 8200
Most of the list is based upon the Teensy's ability to send keystrokes. M.1, M.2, M.3 are mouse buttons. S.UP & S.DN are scroll buttons.
The numbers at the end of the list are sensor CPI values. Any key (or multiple keys) can be set to toggle to an alternate CPI. As an example, my CAD profile has a normal CPI of 2000 with toggles for 200, 800 and 1200; each on their own separate buttons. It sure makes it handy to get the trackball into a very slow mode for pixel crawling on those detailed area with just a click of a button and back fast again by tapping that same button again. In a gaming environment, such as a FPS using a sniper rifle, it would help with long distance targeting.