A bit of a cruftectomy; removed most of the reportage displays,
and enabled dynamic scanning of the device list so that the
stylus & eraser now remap automatically, even after they've
been added dynamically via modprobe. Signficantly reduced
the number of shell-outs as well
As is my usual nature, I removed almost all the case handling and
replaced it with a table, which is DRY: Every piece of knowledge must
have a single, unambiguous, authoritative representation within a system.
The table has a name, number, transformation matrix, and x and y
orientation check functions. Everything else is just checking on
that.
Quick and dirty fix... Script now looks for an external display before trying to rotate the screen. If one is present it will automatically deactivate autorotation of the internal screen.