I'm a software engineering student who's developed a finger condition that makes it impossible to type with my fingers without causing pain and inflammation. I get around this using Typing Aids, but this is sub-optimal because it's slow, and still causes strain.

What it does

Takes in speech voice commands and outputs text, macros, code, etc. It's seen as a USB keyboard by computers, and doesn't require any drivers to be installed.

How I built it

Patch my phone's kernel to allow it to be seen as a USB keyboard using Linux's HID Gadget functionality. An app uses this to send key presses. CMUSphinx (an open-source speech-to-text engine) interprets speech, which is turned into key presses and commands.

Challenges I ran into

Learning how to build a kernel took 5+ hours. Patching it took a lot of research about Linux's USB subsystem.

Accomplishments that I'm proud of

What I learned

What's next for Android Phone As A Speech-To-Text USB Keyboard

Built With

  • c
  • cmusphinx
  • kotlin
  • linux-kernel-patches
Share this project: