Page 58 Table of Contents Index Page 60
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 8. SHEET PROTOCOLS

All subclasses of device-event must take the :sheet and :modifier-state initargs, which are
used to specify the sheet and modifier state components for the event.

=> event-sheet device-event [Generic Function]
Returns the sheet associated with the event device-event.

=> event-modifier-state device-event [Generic Function]
Returns a value that encodes the state of all the modifier keys on the keyboard. This will be
a mask consisting of the logior of +shift-key+, +control-key+, +meta-key+, +super-key+,
and +hyper-key+.

All device event classes must implement methods for event-sheet and event-modifier-state.

=> keyboard-event [Class]
=> :key-name [Init Arg]
The class that corresponds to any sort of keyboard event. This is a subclass of device-event.

All subclasses of keyboard-event must take the :key-name initarg, which is used to specify the
key name component for the event.

=> keyboard-event-key-name keyboard-event [Generic Function]
Returns the name of the key that was pressed or released in a keyboard event. This will be a
symbol whose value is port-specific. Key names corresponding to the set of "standard" characters
(such as the alphanumerics) will be a symbol in the keyword package.

=> keyboard-event-character keyboard-event [Generic Function]

Returns the character associated with the event keyboard-event, if there is any.

All keyboard event classes must implement methods for keyboard-event-key-name and keyboard-
event-character
.

=> key-press-event [Class]
=> key-release-event [Class]
The classes that correspond to a key press or release event. This is a subclass of keyboard-
event
.

=> pointer-event [Class]
=> :pointer [Init Arg]
=> :button [Init Arg]
=> :x [Init Arg]
=> :y [Init Arg]
The class that corresponds to any sort of pointer event. This is a subclass of device-event.

All subclasses of pointer-event must take the :pointer, :button, :x, and :y initargs, which


Page 58 Table of Contents Index Page 60
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