In a LilyGo T-Deck device with uLisp uploaded, how can you use the symbols: <>?
LilyGO T-Deck arithmetic symbols <>
Unfortunately the T-Deck keyboard is a bit limited. Unless another T-Deck user has a better idea, my suggestion is to use the Serial Monitor to define synonyms for the functions you want to access, such as <, <=, >, >= as follows:
(defvar lt <)
(defvar le <=)
(defvar gt >)
(defvar ge >=)
You can then make them available when you’re using the T-Deck away from the computer; see Preloading functions in uLisp.
You can update the keyboard firmware with whatever characters you want, but it takes some effort. I wrote how to do it in this repo. It doesn’t have those symbols, but if you find a good place for them or have other ideas let me know.
T-Deck keyboard comes with ability to produce all those alt foreign characters, doesn’t it? Hasn0life, do you know the modifier sequence it currently uses to access those (hangul on mine), and is it possible to reprogram those slots with all the missing symbols needed for uLisp (and presumably more)?
Otherwise, alternately, it would probably be best if uLisp OOB came with synonyms (maybe like C trigraphs? or how bash does -lt -le -gt -ge -eq -ne) to represent the missing symbols. Also, if we’re doing those, there are some other symbols (think various CL-usual special forms) which need… some solution, not far down the road, at best, and generally earlier than anyone plans.
Alas, not all are “word-compatible”, esp. the “bracketing forms” (backquote is a classic example). They wind up needing distinct tokens of their own, a distinct atom/symbol name isn’t adequate in those cases.
Embedded will encounter this problem a LOT, due to the constrained nature of most embedded keyboards. Its unsafe to bet much beyond punctuation for any embedded keyboard. Better to durably solve these issue now when breaking changes are still somewhat “tractable”, than wait for significant infrastructure and library populations to form built atop the existing foundation.
Does it come with the ability to produce alt characters - if by alt you mean pressing alt+letter then no except for like 2 of them.
Can you reprogram it? Yes, I explain how in my repo
I am thinking about ways to get more characters out of it without reprogramming but haven’t come up with much except maybe a modal interface where you press a character as a modifier for the other ones. So like pushing the $ makes it so that the next character will put out an alt letter or something
I’d argue this isn’t an embedded problem, it’s just that lilygo shipped a really dumb default firmware for the keyboard and also made it prohibitively annoying to reprogram.
I might attempt a more full featured keyboard firmware that breaks backwards compatibility in the future but right now I’m mostly using the M5 cardputer which doesn’t have these issues (tho it has other ones). If you really want I can make writing a better keyboard firmware for the t-deck a higher priority but I believe that reprogramming it isn’t something that most people can do
Good news, I came up with a way to get more characters out of the keyboard. There’s a hidden button I haven’t considered before; the touchscreen! So what we can do is hold the screen and hit certain keys to access alternate characters. I coded this up and it works, and threw in a function to get the touchpoints while I was at it. Let me know what you think
Touch UI example