Generic Function | Package: cg | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version

## handle-scrolling-keys

Arguments: window

Returns whether a window or widget will automatically interpret certain keystrokes for scrolling. The value may be set by passing the handle-scrolling-keys initarg when creating the window or widget, or any time later by calling (setf handle-scrolling-keys).

window-or-widget should be either a regular window (an instance of `basic-pane` or any of its subclasses other than `widget-window`) or a `lisp-widget`. This facility does not apply to os-widgets because they always handle their own scrolling internally.

If the value is `nil`, then the window or widget will not scroll when the usual scrolling keys are pressed; an application would need to handle this itself in a virtual-key-down method. If the value is `:page`, then the PageUp and PageDown keys will scroll the window vertically by a page, or horizontally by a page if the control key is held down. If the value is `:vertical` then the up and down arrow keys will scroll by a line vertically, in addition to PageUp and PageDown being handled vertically as with `:page`. For any other true value, the left and right arrow keys will scroll horizontally by a line, in addition to all of the `:vertical` keys being handled. For any true value, the Home and End keys will scroll to the top and bottom of the scrollable canvas respectively, and for any true value other than `:vertical` the Home and End keys will scroll to the left and right of the scrollable canvas respectively if the control key is held down. The default value is `nil`.

The scrolling is done by calling scroll. The scrolling distance that is passed to scroll is found by calling scroll-increment.

This facility is implemented in the default virtual-key-down method for `basic-pane`. If a more specific virtual-key-down method overrides the default for these keystrokes, then the automatic scrolling will not be done.

Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version