Ncurses deprecated "~master" issue
Adam D. Ruppe via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Feb 11 10:37:48 PST 2015
On Wednesday, 11 February 2015 at 18:13:10 UTC, Paul wrote:
> How do I get/process input?
Construct the real time input struct outside your loop then use
getch if you're only interested in the core keyboard ascii stuff
or nextEvent if you want everything.
The esc key, in particular, is considered a non-character key
event by terminal.d, so it will not be there on a simple call to
getch(). (this might have been a mistake but is the way it is)
Search the code for "void handleEvent" to see an example
function. There's various event types you can react to and to get
the info, you do
auto specialized_event = generic_event.get!(InputEvent.Type.TYPE
HERE);
and look at the members. character event has ev.character.
noncharacter event has ev.key which is an enum, defined on line
2057.
PasteEvent doesn't work perfectly so dont' rely on it.
MouseEvent, if you opt into them, has buttons, x, y, and
modifierState which might be available.
See the source for each struct to see more.
If you're happy with keys from the middle part of the keyboard,
getch is the easiest way though, they are sent as simple dchars.
You can also fetch lines at a time with terminal.getline (it is
on terminal rather than real time input because it is still
conceptually line buffered (though the implementation turns that
off to allow editing)).
More information about the Digitalmars-d-learn
mailing list