tb - line discipline for digitizing devices
pseudo-device tb [count]
This line discipline provides a polled interface to many
common digitizing
devices which are connected to a host through a serial
line. When
these devices stream data at high speed, the use of the line
discipline
is critical in minimizing the number of samples that would
otherwise be
lost due to buffer exhaustion in the tty(4) handler.
The line discipline is enabled by a sequence:
#include <sys/tablet.h>
int ldisc = TABLDISC, fildes; ...
ioctl(fildes, TIOCSETD, &ldisc);
A typical application program then polls the digitizing device by reading
a binary data structure which contains: the current X and Y
positions (in
the device coordinate space), up-down status of the buttons
or pen stylus,
proximity information (when available), and a count of
the number of
samples received from the input device since it was opened.
In addition,
devices such as the GTCO append tilt and pressure information to the end
of the aforementioned structure. For the Polhemus 3-D digitizer the
structure read is completely different. Refer to the include file for a
complete description.
While in tablet mode, normal teletype input and output functions take
place. Thus, if an 8 bit output data path is desired, it is
necessary to
prepare the output line by putting it into RAW mode using
ioctl(2). This
must be done before changing the discipline with TIOCSETD,
as most
ioctl(2) calls are disabled while in tablet line-discipline
mode.
The line discipline supports ioctl(2) requests to get/set
the operating
mode, and to get/set the tablet type and operating mode by
or-ing the two
values together.
Calling read(2) on the device always succeeds, returning the
last sample,
although the select(2) and poll(2) system calls will correctly report the
read state for new samples.
The line discipline supports digitizing devices which are
compatible with
Hitachi, GTCO, or Polhemus protocol formats. For Hitachi
there are several
formats with that used in the newer model HDG-1111B the
most common.
None.
tty(4)
The tb interface appeared in 4.3BSD.
OpenBSD 3.6 March 27, 1991
[ Back ] |