Commit Graph

79 Commits (11287b608152c9eca71c67284219276183fb8409)

Author SHA1 Message Date
nick black 48025cd794
report Alt in ncinput #228 5 years ago
nick black 14d7bed6db
notcurses-input: fix banner display #263 5 years ago
nick black ed980f1059 pull _get from all accessors 5 years ago
nick black bd034c983a input: handle modifiers+mouse (alt, shift, ctrl) #226 5 years ago
nick black 452e1d302e
output API enhancements #210 #209
Allow -1 in move specification to remain where we are on that
axis (#210), necessary for context-sensitive aligned output.
Add _aligned forms to printf and vprintf. Invert various output
functions so that simpler form is static inline wrapper around
more complicated form, rather than complicated form being a
static inline composition, facilitating atomic move+output. All
output forms now have a simple form (no alignment, placement at
cursor), an _aligned() form, and a _yx() form.
5 years ago
nick black f742676aee Mouse support using button event tracking #165
Request and parse up mouse messages. We handle up to 11 mouse
buttons, 3 modifiers (currently thrown away), motion while
holding down a button, and loss/gain of focus. I've added twelve
new NCKEYs: one for each button, and one for release. In addition,
I've introduced the 'ncinput' struct, which encodes the nckey plus
extra data. The only extra data thus far is coordinates for mouse
events. It is not necessary to provide a ncinput to all input
functions; NULL can be provided if the caller doesn't care about
details. All demos are updated. notcurses-input has been updated
to decode full information of returned ncinputs.

The primary resource for this work was Dickey at al's "XTerm Control
Sequences", https://invisible-island.net/xterm/ctlseqs/ctlseqs.html.
5 years ago
nick black aceda89261 input: add NCKEY_MOUSEEVENT, match against CSI prefix #165 5 years ago
nick black b4b4b3684a yaml 5 years ago
nick black ae52d04435
notcurses-input: dim previous lines 5 years ago
nick black 5403642764
notcurses-input: throw up a banner 5 years ago
nick black b257f40a35 sync input documentation for char32_t #172 5 years ago
nick black 4ea62e3c67
input: handle function keys through f30 5 years ago
nick black 3b2f72538e
decode more special keys in notcurses-input #134 5 years ago
Nick Black ff463d464e
Channels API sanity #119 (#138)
* orthogonalize channel/channels/cells APIs #119
* sync README.md with new ncplane channels api #119
5 years ago
nick black 1821867e35
move outfp out of notcurses_options #130 5 years ago
nick black 624ab35b8f
close bracket in output #121 5 years ago
nick black e45df10dca
input: handle unicode #121 5 years ago
nick black 93231c26eb input: use SPUA-B for special keys #118 5 years ago
nick black 949e531038
notcurses-input: colorize output 5 years ago
nick black 7566af57e3
introduce ncplane_set_[fb]g 5 years ago
nick black 8afcd04446
sync cell/ncplane fg/bg API naming 5 years ago
nick black ac845b28a4
handle function keys, insert, end/home, etc #78 5 years ago
nick black 37b0e416c0 get everything prepped for reliable keyboard escapes #78 5 years ago
nick black 8c6d0495ee
input: decode special keys, call notcurses_resize() #79 5 years ago
nick black e391bfbb81
input: add pass_through_esc option, otherwise run smkx #78 5 years ago
nick black cb60c11f09
input: factor out handle_getc(), export cell_simple_p() #8 5 years ago
nick black 51a86ece7b
input: print keypresses #8 5 years ago
nick black c76735cb2a
notcurses_getc(): read from stdin 5 years ago
nick black a037cdfe5a
add new notcurses-input binary #8 5 years ago