vuidm4p man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

vuidmice(7M)			STREAMS Modules			  vuidmice(7M)

NAME
       vuidmice,  vuidm3p,  vuidm4p,  vuidm5p,	vuid2ps2,  vuid3ps2 - converts
       mouse protocol to Firm Events

SYNOPSIS
       #include <sys/stream.h>

       #include <sys/vuid_event.h>

       #include <sys/vuid_wheel.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);

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.  You  must	change	the  state  to
       VUID_FIRM_EVENT mode 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);

       You can also query the state of the  STREAMS module by using the VUIDG‐
       FORMAT 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  mes‐
       sages on the read- and write-side.

   Read Side Behavior
       M_DATA	       Incoming	 messages  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.	 The  two  valid ioctl
			       options processed by the vuidmice  modules  are
			       VUIDGFORMAT and VUIDSFORMAT.

       M_FLUSH		       The write queue of the module is flushed of all
			       its data messages and  the  message  is	passed
			       downstream.

       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 mod‐
			       ule to VUID_FIRM_EVENT. If  the	state  of  the
			       STREAMS	module	is already in VUID_FIRM_EVENT,
			       this option is non-operational. It is not  pos‐
			       sible   to  set	the state back to  VUID_NATIVE
			       once the state becomes VUID_FIRM_EVENT. To dis‐
			       able message processing, pop the STREAMS module
			       out by calling ioctl(fd, 1I_POP, vuid*).

       The following wheel support ioctls are defined for PS/2 mouse only:

       VUIDGWHEELCOUNT	       This ioctl takes a pointer  to  an  integer  as
			       argument	 and  sets the value of the integer to
			       the number of wheels available on this device.

       VUIDGWHEELINFO	       This command returns static information	 about
			       the   wheel  that  does	not   change  while  a
			       device is in use. Currently the	only  informa‐
			       tion   defined	 is   the   wheel  orientation
			       which is either	VUID_WHEEL_FORMAT_VERTICAL  or
			       VUID_WHEEL_FORMAT_HORIZONTAL.

				  typedef struct {
					  int	  vers;
					  int	  id;
					  int	  format;
				  } wheel_info;

			       The   ioctl   takes  a  pointer to "wheel_info"
			       structure with the "vers" set  to  the  current
			       version	of the "wheel_info" structure and "id"
			       set to the id of the wheel for which the infor‐
			       mation is desired.

       VUIDSWHEELSTATE	       VUIDSWHEELSTATE	sets the state of the wheel to
       VUIDGWHEELSTATE	       that specified in the  stateflags.  VUIDGWHEEL‐
			       STATE returns the current state settings in the
			       stateflags field.

			       stateflags is an	 OR'ed	set of	flag bits. The
			       only	 flag	  currently	defined	    is
			       VUID_WHEEL_STATE_ENABLED.

			       When	 stateflags	 is	  set	    to
			       VUID_WHEEL_STATE_ENABLED	 the  module  converts
			       motion of the specified wheel into VUID	events
			       and sends those up  stream.

			       Wheel events are disabled by default.

			       Applications   that  want  to   change  a  flag
			       should  first get the current  flags  and  then
			       change only the bit they want.

				  typedef struct {
					  int		  vers;
					  int		 id;
					  uint32_t	 stateflags;
				   } wheel_state;

			       These  ioctls  take pointer to 'wheel_state' as
			       an argument with the 'vers'  and	 'id'  members
			       filled  up. These members have the same meaning
			       as that for 'VUIDGWHEELINFO' ioctl.

   Mouse Configurations
       ┌─────────────┬───────────────────────────┬────────────────────┐
       │Module	     │ Protocol Type		 │ Device	      │
       ├─────────────┼───────────────────────────┼────────────────────┤
       │vuidm3p	     │ 3-Byte Protocol Microsoft │ /dev/tty*	      │
       │	     │ 2 Button Serial Mouse	 │		      │
       ├─────────────┼───────────────────────────┼────────────────────┤
       │vuidm4p	     │ 4-Byte  Protocol Logitech │ /dev/tty*	      │
       │	     │ 3 Button Mouseman	 │		      │
       ├─────────────┼───────────────────────────┼────────────────────┤
       │vuidm5p	     │ Logitech	 3  Button   Bus │ /dev/logi/ dev/msm │
       │	     │ Mouse Microsoft Bus Mouse │		      │
       ├─────────────┼───────────────────────────┼────────────────────┤
       │vuid2ps2     │ PS/2  Protocol  2  Button │ /dev/kdmouse	      │
       │	     │ PS/2 Compatible Mouse	 │		      │
       ├─────────────┼───────────────────────────┼────────────────────┤
       │vuid3ps2     │ PS/2  Protocol  3  Button │ /dev/kdmouse	      │
       │	     │ PS/2 Compatible Mouse	 │		      │
       └─────────────┴───────────────────────────┴────────────────────┘

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Architecture		     │x86			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       attributes(5), virtualkm(7D)

       STREAMS Programming Guide

SunOS 5.10			 21 June 2005			  vuidmice(7M)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net