Many are familiar with the awesome abilities of the TI-84 calculator to run custom programs for simulation, math and science, and even games. However, most of these programs are written just to be run on the calculator itself. Many are unaware that the TI-84 CE calculator includes a USB port that supports interfacing with external devices using HID. This means the TI-84 calculator can simulate computer mice, keyboards, and even magic carpets.
This program can be loaded on to the TI-84 Plus CE graphing calculator to make the calculator act as an external mouse and keyboard by implementing the USB HID protocol.
Contributors: Peter Lilley and Eric Butcher
This program was written in C and compiled using the CE C/C++ Toolchain. This allowed us to use USB libraries to handle communication and focus on creating the HID communication between the host and calculator.
The USB HID protocol ended up being much more complicated than we initially thought it was. The HID protocol itself and all the open-source repositories implementing HID we found as inspiration were filled with large byte arrays of magic hex values which were very difficult to decipher. After hour reading cryptic documentation, we figured out how the protocol works and were successfully able to create HID report descriptors to configure mouse and keyboard input from the calculator to the host.
Learning the HID protocol from scratch and getting a calculator to work as a USB input device.
We learned the HID protocol.
