Page 192 Table of Contents Index Page 194
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E



CHAPTER 22. EXTENDED STREAM INPUT

=> stream-set-input-focus stream [Generic Function]
Sets the "input focus" to the extended input stream stream and returns the old input focus as
its value.

=> stream-restore-input-focus stream old-focus [Generic Function]
Restores the "input focus" of the extended input stream stream to old-focus.

=> with-input-focus (stream) &body body [Macro]
Temporarily gives the keyboard input focus to the extended input stream stream. By default,
an application frame gives the input focus to the window associated with frame-query-io.

The stream argument is not evaluated, and must be a symbol that is bound to a stream. If
stream is t, *standard-input* is used. body may have zero or more declarations as its first
forms.

=> *input-wait-test* [Variable]
=> *input-wait-handler* [Variable]
=> *pointer-button-press-handler* [Variable]
These three variables are used to hold the default values for the current input wait test, wait
handler, and pointer button press handler. These variables are globally bound to nil.

=> read-gesture &key (stream *standard-input*) timeout peek-p (input-wait-test *input-wait-test*)
(input-wait-handler
*input-wait-handler*) (pointer-button-press-handler *pointer-button-press-handler*)
[Function]
Calls stream-read-gesture on the extended input stream stream and all of the other keyword
arguments. These arguments are the same as for stream-read-gesture.

=> stream-read-gesture stream &key timeout peek-p (input-wait-test *input-wait-test*) (input-
wait-handler
*input-wait-handler*) (pointer-button-press-handler *pointer-button-press-handler*)
[Generic Function]
Returns the next gesture available in the extended input stream stream; the gesture will be either
a character or an event (such as a pointer button event). The input is not echoed.

If the user types an abort gesture (that is, a gesture that matches any of the gesture names in
*abort-gestures*), then the abort-gesture condition will be signalled.

If the user types an accelerator gesture (that is, a gesture that matches any of the gesture names
in *accelerator-gestures*), then the accelerator-gesture condition will be signalled.

stream-read-gesture works by invoking stream-input-wait on stream, input-wait-test, and
timeout, and then processing the input, if there is any. :around methods on this generic function
invoke a gesture preprocessing mechanism on every gesture. For a discussion of this facility, see
the Section 22.6.

timeout is either nil or an integer that specifies the number of seconds that stream-read-


Page 192 Table of Contents Index Page 194
Chapters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
A, B, C, D, E