From fa07df297b4feb197ea6fd9e513b9954836a381e Mon Sep 17 00:00:00 2001 From: nick black Date: Wed, 26 Aug 2020 22:12:28 -0400 Subject: [PATCH] ncdirect_getc() #919 --- src/lib/input.c | 12 ++++++++++++ src/lib/notcurses.c | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/src/lib/input.c b/src/lib/input.c index 7964de168..cbe31cde2 100644 --- a/src/lib/input.c +++ b/src/lib/input.c @@ -382,6 +382,18 @@ char32_t notcurses_getc(notcurses* nc, const struct timespec *ts, return r; } +char32_t ncdirect_getc(ncdirect* nc, const struct timespec *ts, + sigset_t* sigmask, ncinput* ni){ + char32_t r = ncinputlayer_prestamp(&nc->input, ts, sigmask, ni, 0, 0); + if(r != (char32_t)-1){ + uint64_t stamp = nc->input.input_events++; // need increment even if !ni + if(ni){ + ni->seqnum = stamp; + } + } + return r; +} + int prep_special_keys(ncinputlayer* nc){ static const struct { const char* tinfo; diff --git a/src/lib/notcurses.c b/src/lib/notcurses.c index 75da092de..4c0bdcf4b 100644 --- a/src/lib/notcurses.c +++ b/src/lib/notcurses.c @@ -2137,6 +2137,10 @@ int notcurses_inputready_fd(notcurses* n){ return fileno(n->input.ttyinfp); } +int ncdirect_inputready_fd(ncdirect* n){ + return fileno(n->input.ttyinfp); +} + uint32_t* ncplane_rgba(const ncplane* nc, ncblitter_e blit, int begy, int begx, int leny, int lenx){ if(begy < 0 || begx < 0){