| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |
Arguments: window buttons character
This generic function is called when the user types a graphical character, unless a virtual-key-down method overrides the default behavior. An application may add methods to this generic function to respond to keyboard events in its windows.
window is the window that had the keyboard focus when the event occurred. The keyboard focus is usually indicated by some sort of highlighting.
buttons is an integer indicating which mouse buttons and shift keys were down when the event occurred. The value is the result of applying logior to the values of the following bit-flag variables:
left-mouse-button
middle-mouse-button
right-mouse-button
first-x-button
(see *ignore-mouse-x-buttons*
)
second-x-button
(see *ignore-mouse-x-buttons*
),
shift-key
control-key
alt-key
Other bits might be turned on as well, so functions such as logtest should be used to determine whether a particular mouse button or shift key was down; for example,
(logtest right-mouse-button buttons)
will return true if and only if the right mouse button was down. For "down" events, the value includes the button or key being pressed now; for "up" events, the value does not include the button or key being released.
character is the character that was typed. It is always a Common Lisp character object.
While a keypress will always cause virtual-key-down and virtual-key-up to be called, it will cause character-message to be called only under certain conditions. First, the keypress must indicate a graphical character. second, one of the following must be true:
dialog-mixin
instance or a child or
other descendant of a dialog-mixin
instance.
Therefore, if an application adds a virtual-key-down method for a
window that is not on a dialog, and this method does not call
(call-next-method)
for a particular keypress, then
the default virtual-key-down method is not
called, and therefore character-message will not be
called for that keypress.
See cg-events.htm for information about event handling in Common Graphics.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version |