Mouse Cursor Reporting1

Like Mouse Hot Spots, Mouse Cursor Reporting has been largely superceded by the use of real GUI controls.

Yet another protocol for sensing mouse clicks, also originating with inSight and currently supported by A-Shell/Windows, ZTERM, and AlphaLAN, is known as "mouse cursor reporting". It differs from the hot spot protocol in that once activated, it transmits control bytes into the keyboard buffer for every mouse click, no matter where it is on the screen. The control bytes indicate the position of the mouse and the button that was clicked (or double-clicked), leaving it to the application to decide how to respond. Unlike the hot spot protocol, this protocol requires that you use a single-byte-at-a-time input routine (such as ACCEPT.SBR, TINKEY.SBR, GET.SBR, GETKEY(), etc., and preferably one with a time-out feature) so that you can properly handle the variable-length sequences sent by the mouse and separate them from other keyboard activity.

To activate mouse cursor reporting, use Tab(-1,158). See the sample program MOUSEC.BAS in EXLIB:[908,36] for a good demonstration/example.

Special thanks go to James Jarboe IV for the sample program MOUSEC and for his help in clarifying how mouse cursor reporting works.