We had used RGB LEDs earlier in the year and wanted to try to extend their use to the keyboard. In an era where computer proficiency is becoming an increasingly integral part of life, we identified that individuals with dyslexia and other learning disabilities (such as ADHD) struggle to type proficiently and are thus disadvantaged in their personal and professional lives. We aimed to create a predictive keyboard which would utilize RGB LEDs embedded under each key to focus the user and allow them to type more proficiently by visually guiding the user's focus on the word they are attempting to type.

How it works

The keyboard stores the user's current inputs and uses past inputs to guess at which letters the user is more likely to type next. The LEDs below each key are then illuminated in a heat map to guide the user towards potential keys to keep them focused on the tasks and interested in learning new words.

Challenges I ran into

The keyboard lacked an API so we had to modify an unofficial driver to have the functions we need and manipulate the LEDs directly. In addition, we had to write a Python script to create a Markov matrix from a piece of training text in order to initialize the keyboard with some predictive capabilities.

What I learned

We learned about how Linux is able to interface with a keyboard and gained knowledge of how an OS receives signals from an input device and is able to send signals to the LED controller.

What's next for LED Markov Model Predictive Keyboard

Creating better prediction profiles and color choices, as well as having the keyboard respond to video tutorials which show users which shortcut keys should be used in certain software programs to guide their learning. In addition, the keyboard used in this project was fairly expensive. In the future, we plan on 3-d printing the keyboard parts in order to create a cheaper model with the same capabilities.

Built With

Share this project: