vuidmice(4m) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

vuidmice(4m)

vuidmice(4M)                    Streams Modules                   vuidmice(4M)



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 mes‐
                  sages 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) sys‐
                      tem 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 module to
                      VUID_FIRM_EVENT. If the state of the STREAMS  module  is
                      already  in  VUID_FIRM_EVENT,  this option is non-opera‐
                      tional. 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*).



       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 information defined is the wheel
                          orientation which is either VUID_WHEEL_FORMAT_VERTI‐
                          CAL 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 information is desired.


       VUIDSWHEELSTATE    VUIDSWHEELSTATE sets the state of the wheel to  that
       VUIDGWHEELSTATE    specified in the stateflags. VUIDGWHEELSTATE 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
       tab()  box;  lw(1.19i)  |lw(2.47i)  |lw(1.83i)   lw(1.19i)   |lw(2.47i)
       |lw(1.83i) ModuleProtocol TypeDevice _ vuidm3pT{ 3-Byte Protocol Micro‐
       soft 2 Button Serial Mouse T}/dev/tty* _ vuidm4pT{ 4-Byte Protocol Log‐
       itech  3  Button Mouseman T}/dev/tty* _ vuidm5pT{ Logitech 3 Button Bus
       Mouse Microsoft Bus Mouse T}/dev/logi/ dev/msm _ vuid2ps2T{ PS/2 Proto‐
       col  2  Button  PS/2  Compatible Mouse T}/dev/kdmouse _ vuid3ps2T{ PS/2
       Protocol 3 Button PS/2 Compatible Mouse T}/dev/kdmouse


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


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Architecturex86


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


       STREAMS Programming Guide



Oracle Solaris 11.4              21 June 2005                     vuidmice(4M)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3