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.