cdk_process - curses widget pre/post-processing
Perform pre- and post-processing of data which is injected into a
Character input is handled by each widget by its injection function.
That is typically a large case-statement consisting of the actions to
be taken for editing and scrolling keys. The calling application can
modify the behavior of the injection function by defining either or
both preprocess and postprocess functions.
Preprocessing is performed before doing anything with the injected
keystroke. If the preprocess function returns zero, no further action
is taken in the injection function. Note that the preprocess function
may do more than filter out characters; it can fill in logic to
coordinate different widgets.
Postprocessing is performed after all other actions have been done in
the injection function. Like the other actions, it is performed only
if the preprocess function returns a nonzero value. Unlike the
preprocess function, its return value is ignored.