

Task

Obtain a valid   Y   or   N   response from the keyboard.

The keyboard should be flushed, so that any outstanding key-presses are removed, preventing any existing   Y   or   N   key-press from being evaluated.

The response should be obtained as soon as   Y   or   N   are pressed, and there should be no need to press an   enter   key.




CreateDialog[TextCell["Yes or no?[Y/N]"],
  NotebookEventActions -> {
    "KeyDown" :> Switch[ToUpperCase@CurrentValue["EventKey"],
      "Y", Print["You said yes"]; DialogReturn[],
      "N", Print["You said no"]; DialogReturn[]
      ]}];