Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

PAD_$CPR_ENABLE                   Domain/OS                    PAD_$CPR_ENABLE


NAME
     pad_$cpr_enable - enable cursor position reports

SYNOPSIS (C)
     #include <apollo/base.h>
     #include <apollo/pad.h>

     void pad_$cpr_enable(
          ios_$id_t &stream_id,
          short &report_cpr_type,
          status_$t *status)

SYNOPSIS (Pascal)
     %include '/sys/ins/base.ins.pas';
     %include '/sys/ins/pad.ins.pas';

     procedure pad_$cpr_enable(
          in stream_id: ios_$id_t;
          in report_cpr_type: integer;
          out status: status_$t);

SYNOPSIS (FORTRAN)
     %include '/sys/ins/base.ins.ftn'
     %include '/sys/ins/pad.ins.ftn'

           integer*4 status
           integer*2 report_cpr_type, stream_id

           call pad_$cpr_enable(stream_id, report_cpr_type, status)

DESCRIPTION
     Pad_$cpr_enable controls the type of cursor position reports supplied by
     ios_$get calls on the pad.  Subsequent cursor position reports will use
     the scale factors in effect when pad_$cpr_enable is called.

     stream_id
          The stream ID of an input pad in raw mode.

     report_cpr_type
          The type of cursor position report requested.  Specify one of the
          following:

          pad_$cpr_none
               Do not supply cursor position reports.  Only single bytes
               representing raw keystrokes will be supplied by ios_$get.  This
               is the default.

          pad_$cpr_change
               Report cursor position only when the cursor has moved since the
               last position report or output call.  Use this to avoid redun-
               dant cursor position reports while in raw mode.

               With pad_$cpr_change the present keyboard cursor is compared
               with the last output cursor position.  In raw mode, the posi-
               tion of the output cursor is under program control.  Therefore,
               if a program does not move the output cursor to follow the
               input cursor, it may receive a series of cursor position
               reports showing the same position for as long as the keyboard
               cursor is not in the same position as the output cursor.

          pad_$cpr_all
               Report cursor position with every input character.

               The Display Manager does not automatically echo typed keys-
               trokes, nor does it move the cursor while the pad is in raw
               mode.  If a program requests pad_$cpr_all but does not move the
               cursor (typically by displaying typed keystrokes), then each
               keystroke produces a cursor position report - usually describ-
               ing the same cursor position.  Request pad_$cpr_change instead
               of pad_$cpr_all to avoid redundant cursor position reports when
               not echoing keyboard input in raw mode.

          pad_$cpr_pick
               Report a cursor position when the cursor has settled after
               movement via a locator device (touchpad, bitpad, or mouse) or
               Display Manager command (TR, TL, TB, arrow keys, tabs).

          pad_$cpr_draw
               Requests a cursor position report for all cursor positions dur-
               ing cursor movement via a locator device (touchpad, bitpad, or
               mouse) or Display Manager command (TR, TL, TB, arrow keys,
               tabs).

     status
          The completion status.

SEE ALSO
     pad_$cooked, pad_$raw, pad_$set_scale.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026