Patent ID: 8335876

Claim:
A peripheral device for a computer, including: a microcontroller running a peripheral action language program, said microcontroller having: means for receiving input events generated by a user; action lookup means for correlating input events with dissimilar output actions; said action lookup means including a library of peripheral emulation functions stored in a non-volatile memory and adapted to run under the peripheral action language program; output means for transmitting said output actions to the computer; said device being adapted to be moved by a user on a surface in an XY plane and including a movement sensor for detecting movement of the device on the surface in the XY plane, and one of said input events comprising a movement signal from said movement sensor: said movement sensor including an optical movement detector, and said input event comprising a lift event in which the user raises said device from said XY plane and lifts and separates said device from said surface a sufficient distance so that said optical movement detector breaks optical contact with said surface in the XY plane.