1
0
mirror of synced 2026-01-13 15:37:38 +00:00
Interlisp.medley/lispusers/WHEELSCROLL.TEDIT
rmkaplan 02a6d7ad1b
Updated Tedit files for a few Lispusers packages--formatting and typos (#1246)
* Updated Tedit files for a few Lispusers packages--formatting and typos

* Format OBJECTWINDOW.TEDIT, delete WHEELSCROLL.TXT

* Create CLIPBOARD.TEDIT

Small (formatted) documentation file
2023-07-07 12:25:18 -07:00

35 lines
3.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Medley WHEELSCROLL
2
4
1
WHEELSCROLL
1
4
By Ron Kaplan
This document was last edited in June 2023.
This small file adds the ability to scroll (scrollable) windows by rotating the wheel on a wheel mouse or by moving (2?) fingers on a track pad. The capability is enabled when WHEELSCROLL.LCOM is loaded. It is toggled on and off by
(ENABLEWHEELSCROLL ON) [Function]
Initially (ENABLEWHEELSCROLL T).
The vertical scrolling speed is controlled by the variable
WHEELSCROLLDELTA [Variable]
The number of points to scroll for each click of the wheel. Higher values give faster scrolling. A negative value reverses the scrolling direction. Initially value: 20.
HWHEELSCROLLDELTA [Variable]
If non-NIL, this is the delta used for horizontal scrolling.
Implementation:
Lisp receives a key transition on PAD1 or PAD2 for vertical scrolling when the wheel rotates and no other keys are down. (ENABLEWHEELSCROLL T) modifies the keyaction table so that it maps these transitions to characters 156 and 157. Those characters are defined as interrupts that invoke the vertical scrolling action. For horizontal scrolling sideways pushes of a wheel (if it has that) produce transitions on PAD4 and PAD5, which map to interrupt-characters 158 and 159. (156-159 are the highest right-panel characters of character-set 0 that correspond to left-panel control characters, so typically have no other conflicting meaning.)
(ENABLEWHEELSCROLL NIL) causes PAD1, PAD2, PAD4, and PAD5 to be ignored.
Current negative features:
1. When the wheel is depressed for middle-button effect (and no other keys are down), an accidental rotation of the wheel during the transition (up and/or down) may cause unintended scrolling.
We need to develop a strategy, either in Lisp, Maiko, or X, to discriminate intended middle-button pushes from intended scrolling. This is not an issue for track-pad scrolling.
2. When the wheel is rotated over a window that partially occludes a Tedit window with a caret blinking in its unoccluded region, both the target window and the partially obscured Tedit window may scroll.
4<01>$<01>1<01>$1<00><00>8$1<00><00>8$J<01>$<01> PAGEHEADING RUNNINGHEAD.MODERN
TERMINAL
MODERN MODERN

TIMESROMAN$_Q(DEFAULTFONT 1 (TERMINAL 12) (TERMINAL 8) (TERMINAL 8) (POSTSCRIPT (TERMINAL 8)))   HRULE.GETFNMODERN
 HRULE.GETFNMODERN
 HRULE.GETFNMODERN
  HRULE.GETFNMODERN  HRULE.GETFNMODERN !<00> 
 :
<00>
 1"LI<00><00><00><00>-z<7F>