Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

See, for an example, apps/graphics/nxwm/src/cnxterm.cxx.  In this case, the behavior will change, depending on the selection of CONFIG_NXTERM_NXKBDIN:  If CONFIG_NXTERM_NXKBDIN is not selected, then the behavior will be similar to apps/examples/nxterm; stdin will not be redirected an keyboard input will come directly from the the system console.

But is CONFIG_NXTERM_NXKBDIN is select, NSH's stdin is will be re-redirected to the to the NxTerm character driver. Keyboard input will arrive on stdin from the NxTerm driver rather than from the system console.  The following sequence describes the keyboard input in this latter case:

  • Character input driver receives input,
  • Some keyboard listener thread received input an injects it into NX vi nx_kbdin(),
  • NX sends and event to the registered kbdin() method of the window that has focus, providing the keyboard input to the window application.  In this case, the window application of interest is the NxTerm character driver,
  • If the NxTerm is the window with focus, the NxTerm character driver receives, buffers, and provides that keyboard input on the next read,
  • NSH receives input on stdin which was re-directed to the NxTerm character driver.  NSH processes the input, and
  • NSH outputs data to stdout which was re-directed to the NxTerm character driver.

...