Manual page for vuidmice(7M)
vuidmice, vuidm3p, vuidm4p, vuidm5p, vuid2ps2, vuid3ps2 - converts mouse protocol to Firm Events
SYNOPSIS
#include <sys/stream.h>
#include <sys/vuid_event.h>
int ioctl(fd, I_PUSH, vuidm3p);
int ioctl(fd, I_PUSH, vuidm4p);
int ioctl(fd, I_PUSH, vuidm5p);
int ioctl(fd, I_PUSH, vuid2ps2);
int ioctl(fd, I_PUSH, vuid3ps2);
AVAILABILITY
x86
DESCRIPTION
The
STREAMS
modules
vuidm3p,
vuidm4p,
vuidm5p,
vuid2ps2,
and
vuid3ps2
convert mouse protocols to Firm events.
The Firm event structure is described in
<sys/vuid_event.h>.
Pushing a
STREAMS
module does not automatically enable mouse protocol conversion
to Firm events. The
STREAMS
module state is initially set to raw or
VUID_NATIVE
mode which performs
no
message processing. The user will need to change the state to
VUID_FIRM_EVENT
mode in order to initiate mouse protocol conversion to Firm events.
This can be accomplished by the following code:
-
int format;
format = VUID_FIRM_EVENT;
ioctl(fd, VUIDSFORMAT, &format);
The user can also query the state of the
STREAMS
module by using the
VUIDGFORMAT
option.
-
int format;
int fd; /* file descriptor */
ioctl(fd, VUIDGFORMAT, &format);
if ( format == VUID_NATIVE );
/* The state of the module is in raw mode.
* Message processing is not enabled.
*/
if ( format == VUID_FIRM_EVENT );
/* Message processing is enabled.
* Mouse protocol conversion to Firm events
* are performed.
The remainder of this section describes the processing of
STREAMS
messages on the read- and write-side.
Read Side Behavior
- M_DATA
-
The messages coming in are queued and converted to Firm events.
- M_FLUSH
-
The read queue of the module is flushed of all its data messages
and all data in the record being accumulated are also flushed.
The message is passed upstream.
Write Side Behavior
- M_IOCTL
-
messages sent downstream as a result of an
ioctl.2
system call. There are two valid
ioctl
options processed by the
vuidmice
modules
VUIDGFORMAT
and
VUIDSFORMAT.
-
- VUIDGFORMAT
-
This option returns the current state of the
STREAMS
module. The state of the
vuidmice
STREAMS
module may either be
VUID_NATIVE
(no message processing) or
VUID_FIRM_EVENT
(convert to Firm events).
- VUIDSFORMAT
-
This option sets the state of the
STREAMS
module to
VUID_FIRM_EVENT.
If the state of the
STREAMS
module is already in
VUID_FIRM_EVENT
then this option is non-operational.
It is not possible to set the state back to
VUID_NATIVE
once the state becomes
VUID_FIRM_EVENT.
To disable message processing, pop the
STREAMS
module out by calling
ioctl(fd, 1I_POP, vuid*).
- M_FLUSH
-
The write queue of the module is flushed of all its
data messages and the message is passed downstream.
Mouse Configurations
Module Protocol Type Device
vuidm3p 3-Byte Protocol
Microsoft 2 Button Serial Mouse /dev/tty*
vuidm4p 4-Byte Protocol
Logitech 3 Button Mouseman /dev/tty*
vuidm5p 5-Byte Protocol
Logitech 3 Button Bus Mouse /dev/logi
Microsoft Bus Mouse /dev/msm
vuid2ps2 PS/2 Protocol
2 Button PS/2 Compatible Mouse /dev/kdmouse
vuid3ps2 PS/2 Protocol
3 Button PS/2 Compatible Mouse /dev/kdmouse
SEE ALSO
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97