Extended LilyGO T-Deck Keyboard Firmware


I have added some functionality to the keyboard firmware in the t-deck. The changes add some hopefully useful functionality while retaining the original protocol. More importantly, it should allow others to add features they want for themselves. The hardest part is figuring out how to program it, I did my best to document the process.


This is very useful - thanks.

Does it also fix the peculiar way the sym key works: holding it down only affects the first key you type, whereas holding down ⇧ affects all subsequent key presses?


Note that if you use this extended keyboard firmware, remove the following two lines from the uLisp T-Deck firmware (two occurrences):

if (temp == '@') temp = '~';
if (temp == '_') temp = '\\';

as you can now get these characters from the mic and speaker keys respectively.


I added symlock, which makes all the keys you type symbols until you turn it off. I could add the method you described as well

I can also try “hold the letter for symbol”, which is how my phone works. These are now UI decisions 😮


I think my preference would be:

  • Hold down sym or alt: affects all keys until you let go.
  • Press sym or alt: only affects the next key. Lets you do one-hand typing.

I’m less bothered about a sym-lock or alt-lock mode.


So I did holding down sym affects all keys until you let go. I didn’t mess with alt since its rarely used right now. Also we can long press.

Features I added in this release are :

  • holding sym lets you type symbols continuously
  • long pressing a printable key lets you type a symbol
  • long pressing the backspace key lets you continuously erase