Ncurses deprecated "~master" issue
Paul via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Feb 11 11:10:02 PST 2015
On Wednesday, 11 February 2015 at 18:37:49 UTC, Adam D. Ruppe
wrote:
> 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)).
Perfect, thank you again for a thorough answer.
More information about the Digitalmars-d-learn
mailing list