LaTeX Speed Typing Keyboard
2024

Revolutionize LaTeX typesetting with our specialized keyboard,
designed to streamline equation input and minimize keystrokes.
Experience effortless equation rendering, as our keyboard seamlessly translates your inputs into LaTeX code for optimal efficiency.
LaTeX is always hard and unintuitive to typeset. In constrast, entering equations on
TI-nspire and similar graphing calculators is much more straightforward. So, why not build
a keyboard that is only for LaTeX and make typesetting in LaTeX as simple as entering
equations on TI-nspire?
The tasks of our project is 2-fold. There is a hardward component and a software component.
The hardware is a simple 8x8 keyboard that is smaller than an iPhone. It sends data
through the serial port to a PC. The software component is a web UI that receives keyboard
events from the keyboard and renders them into LaTeX in real time. The web UI should
support features including moving the cursor and backspacing.
Details:
The keyboard is a customized PCB integrating 8x8 buttons and connecting the signal wires
to a ESP32 MCU. The ESP32 is purchased externally and plugged into the socket on the
PCB. ESP32 constantly scans for keyboard events using pull-down input GPIOs ports,
and sends the index of the key pressed to the PC using the UART port.
The web UI implements a LaTeX editor in Javascript, using a tree data structure to store
the symbols. This is the most non-trivial part of the project, as implementing the data
structure is challenging. For debugging purposes, a 8x8 button grid is also displayed in the
UI, and the user can either click on the virtual keyboard or use the real keyboard. The
equation typed into the UI is rendered in real-time, and its corresponding raw LaTeX is
displayed.
Team
- Melody Huang
- Vento Li
- Adrian Muñoz
- Samuel Sun