BUILD18
Garage

LaTeX Speed Typing Keyboard

2024

LaTeX Speed Typing Keyboard

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