Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mouse(7) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mouseadmin(1)






       mouse(7)                                                    mouse(7)


       NAME
             mouse - mouse device driver for bus, serial, and PS/2 mouse
             devices

       DESCRIPTION
             The mouse device driver supports several types of mouse
             devices:

                   Logitech bus mouse that attaches to a plug-in card and
                   is designed to be used in an eight-bit card slot

                   Logitech serial type mouse that plugs directly into a
                   serial port connector

                   PS/2 compatible mouse that connects to a PS/2 auxiliary
                   port

                   Microsoft bus mouse that attaches to a plug-in card and
                   is designed to be used in an eight-bit card slot

                   Microsoft serial type mouse that plugs directly into a
                   serial port connector

                   Mouse Systems Corporation (MSC) compatible serial mouse
                   that plugs into a serial port.

             The driver will support multiple mouse applications running in
             virtual terminal screens, both under the UNIX System and MS-
             DOS via SimulTask, VP/ix, Merge, or another similar product.

             Support for mouse administration is also provided.  See
             mouseadmin(1).

             The following ioctl commands are supported:

             MOUSEIOCMON
                   Used exclusively by /usr/lib/mousemgr to receive open
                   and close commands from /dev/mouse driver.

             MOUSEISOPEN
                   Used exclusively by mouseadmin.  Returns 16-byte
                   character array indicating which mouse devices are
                   currently open; 1 is open, 0 is not open.  The array is
                   in the linear order established by /usr/bin/mouseadmin
                   in building the display and device map pairs.



                           Copyright 1994 Novell, Inc.               Page 1













      mouse(7)                                                    mouse(7)


            MOUSEIOCCONFIG
                  Used exclusively by mouseadmin to configure display and
                  mouse pairs.  The mse_cfg data structure is used to pass
                  display and device mapping and map pair count
                  information to the driver:
                              struct mse_cfg {
                                     struct mousemap *mapping;
                                     unsigned    count;
                              }
                              struct mousemap {
                                     dev_t    disp_dev;
                                     dev_t    mse_dev;
                              }
                                     int      type;

            MOUSEIOCREAD
                  Read mouse position and status data.  The following data
                  structure is used to return mouse position information
                  to a user application:
                              struct mouseinfo {
                                     unsigned char status;
                                     char          xmotion:
                                     char          ymotion;
                              }

                  MOUSEIOCREAD will set errno to EFAULT for failure to
                  return a valid mouseinfo structure.  The status byte
                  contains the button state information according to the
                  following format:
                              0 Mv Lc Mc Rc L M R
                 where:

                  Mv:
                     is 1 if the mouse has moved since last MOUSEIOCREAD

                  Lc:
                     is 1 if Left button has changed state since last
                     MOUSEIOCREAD

                  Mc:
                     is 1 if Middle button has changed state since last
                     MOUSEIOCREAD

                  Rc:
                     is 1 if Right button has changed state since last
                     MOUSEIOCREAD


                          Copyright 1994 Novell, Inc.               Page 2













       mouse(7)                                                    mouse(7)


                   L: current state of Left button (1 == depressed)

                   M: current state of Middle button

                   R: current state of Right button

                   The Mv bit is required because the total x and y delta
                   since the last MOUSEIOCREAD ioctl could be 0 yet the
                   mouse may have been moved.  The Lc, Mc, and Rc bits are
                   required for a similar reason; if a button had been
                   pushed and released since the last MOUSEIOCREAD ioctl,
                   the current state bit would be unchanged but the
                   application would want to know the button had been
                   pushed.

                   The xmotion and ymotion fields are signed quantities
                   relative to the previous position in the range -127 to
                   127.  Deltas that would overflow a signed char have been
                   truncated.

             MOUSE320
                   Used to send commands and receive responses from the
                   PS/2 compatible mouse devices.  Failed MOUSE320 commands
                   will return ENXIO as the errno value.  The following
                   data structure is used to pass commands, status, and
                   position information between the driver and a user
                   application:
                               struct cmd_320 {
                                      int      cmd;
                                      int      arg1;
                                      int      arg2;
                                      int      arg3;
                               }

                   Valid commands for the PS/2 compatible devices are as
                   follows:

                   MSERESET Reset mouse.

                   MSERESEND
                            Resend last data.

                   MSESETDEF
                            Set default status.




                           Copyright 1994 Novell, Inc.               Page 3













      mouse(7)                                                    mouse(7)


                  MSEOFF   Disable mouse.

                  MSEON    Enable mouse.

                  MSESPROMPT
                           Set prompt mode.

                  MSEECHON Set echo mode.

                  MSEECHOFF
                           Reset echo mode.

                  MSESTREAM
                           Set stream mode.

                  MSESETRES
                           Set resolution (counts per millimeter).  Valid
                           arg1 values are as follows:
                                       00 = 1 count/mm.
                                       01 = 2 count/mm.
                                       02 = 4 count/mm.
                                       03 = 8 count/mm.

                  MSESCALE2
                           Set 2:1 scaling.

                  MSESCALE1
                           Set 1:1 scaling.

                  MSECHGMOD
                           Set sampling rate (reports per second).  Valid
                           arg1 values are as follows:
                                       0A = 10 reports/sec.
                                       14 = 20 reports/sec.
                                       28 = 40 reports/sec.
                                       3C = 60 reports/sec.
                                       50 = 80 reports/sec.
                                       64 = 100 reports/sec.
                                       C8 = 200 reports/sec.

                  MSEGETDEV
                           read device type returns a zero (0) for the
                           PS/2 compatible mouse.





                          Copyright 1994 Novell, Inc.               Page 4













       mouse(7)                                                    mouse(7)


                   MSEREPORT
                            Read mouse report returns three-byte
                            mouse/button position where bytes two and three
                            are 9-bit 2's complement relative motions with
                            the 9th bit (sign bit) coming from byte 1.

                            Byte 1
                                              b0 - left button     (1 == depressed)
                                              b1 - right button
                                              b2 - middle button
                                              b3 - always 1
                                              b4 - X data sign    (1 == negative)
                                              b5 - Y data sign
                                              b6 - X data overflow
                                              b7 - Y data overflow

                            Byte 2
                                              X axis position data

                            Byte 3
                                              Y axis position data

                   MSESTATREQ
                            Status request returns three-byte report with
                            the following format:

                            Byte 1
                                              b0 - right button    (1 == depressed)
                                              b1 - middle button
                                              b2 - left button
                                              b3 - always 0
                                              b4 - scaling 1:1 = 0, 2:1 = 1
                                              b5 - disabled(0)/enabled(1)
                                              b6 - stream(0)/prompt(1) mode
                                              b7 - always 0

                            Byte 2
                                              b0 - 6  current resolution
                                              b7 - always 0

                            Byte 3
                                              b0 - 7  current sampling rate

       NOTICES
             The mouse also supports queue mode for accessing mouse input,
             both motion and button events; see display(7) for more


                           Copyright 1994 Novell, Inc.               Page 5













      mouse(7)                                                    mouse(7)


            information on the KDQUEMODE ioctl.

      FILES
            /dev/mouse
            /usr/lib/mousemgr
            /usr/include/sys/mouse.h

      REFERENCES
            mouseadmin(1)







































                          Copyright 1994 Novell, Inc.               Page 6








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026