On 05/15/2015 01:40 PM, Kartik Agaram wrote: > Rob, I just had your post from the 27th pop up on my RSS reader: > http://www.landley.net/notes-2015.html#27-04-2015
Technically this is a toybox question. :) > Are you aware of https://github.com/nsf/termbox? A few weeks ago I > replaced ncurses with it in my project > (http://github.com/akkartik/mu#readme), and the version I've inlined > there is even smaller and even more self-contained (no waf-fling). I've looked at a few, but basically the hard part is the keyboard scanning function: https://github.com/landley/toybox/blob/master/lib/interestingtimes.c#L89 Which still isn't actually that hard, especially since I had to rewrite busybox's implementation way back when because they did it wrong, ala these two commits: http://git.busybox.net/busybox/commit/?id=988dd5549bc7 http://git.busybox.net/busybox/commit/?id=5e38cd910aca Already had rather extensive learning experiences here, so I might as well just implement the result. Once you understand it, it's _really_ not that hard, the sequences are documented and everything: http://man7.org/linux/man-pages/man4/console_codes.4.html (There's also xterm's http://invisible-island.net/xterm/ctlseqs/ctlseqs.html and the ANSI x3.64 standard http://sydney.edu.au/engineering/it/~tapted/ansi.html and so on, but the console_codes is mostly a common subset.) Also, back in that bulletin board system I mentioned (written back in 1990), I implemented my own ansi handler that maintained a screen write buffer so I could essentially do virtual terminals in dos. Mine could show you ~3 lines of each (cursor and two lines above it, unless that goes above top of screen in which case top 3 lines). Meaning I got very familiar with the dos version ansi escape sequences at one point because I wrote my own driver for it, and my limiting factor is it's been so long I don't necessarily remember the details and have to look them up again. Rob _______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
