Annotation of 43BSDTahoe/new/X/libibm/doc/man/mouse.4, revision 1.1.1.1

1.1       root        1: .\"$Header: mouse.4,v 10.1 86/11/19 10:56:12 jg Exp $
                      2: .\"$Source: /u1/X/libibm/doc/man/RCS/mouse.4,v $
                      3: .\"Contains -man macros and eqn source
                      4: .TH MOUSE 4 "30 Sep 1985" "Space overwritten by .AC macro" " "
                      5: .UC 4
                      6: .AC 1 0
                      7: .SH NAME
                      8: mouse \- mouse interface
                      9: .SH SYNOPSIS
                     10: .B "pseudo-device ms"
                     11: .SH DESCRIPTION
                     12: The mouse driver provides a low-level interface to the
                     13: mouse for the IBM RT PC.
                     14: A
                     15: .IR tty (4)-like
                     16: interface is provided, in that
                     17: the kernel uses
                     18: internal tty
                     19: protocols for buffering data to read data from the interface.  Thus, the
                     20: system calls
                     21: .IR select (2)
                     22: and
                     23: .IR fcntl (2)
                     24: relating to non-blocking I/O may be used.
                     25: Commands are issued to the mouse through the standard
                     26: .IR ioctl (2)
                     27: mechanism,
                     28: although
                     29: none of the terminal-specific
                     30: .IR ioctl s
                     31: apply and that the mouse is always in ``mouse-discipline'' mode.
                     32: .PP
                     33: The mouse can only be opened by one process at a time; subsequent
                     34: processes will receive ENXIO in response to
                     35: .IR open (2)
                     36: calls.
                     37: .SS Data
                     38: The data structures necessary for communicating with the mouse are
                     39: provided in
                     40: .IR <machineio/mouseio.h> .
                     41: This file also includes macros for interpreting the mouse stream data,
                     42: and symbolic names for the commands the mouse understands.
                     43: .PP
                     44: Since many applications expect a three-button mouse,
                     45: a three-button mouse is simulated by indicating
                     46: a middle button when both buttons are depressed.
                     47: This means that an application program will never see a data report
                     48: indicating that both buttons are pressed.
                     49: There is a small
                     50: delay in recognizing a single button,
                     51: in order to
                     52: allow smooth recognition of both buttons, since one cannot
                     53: always press
                     54: both buttons at exactly the same time.
                     55: In addition,
                     56: a single button from a middle
                     57: (double-button) transition will not be reported
                     58: until both buttons have been released and
                     59: then the single button pressed.
                     60: .SS Commands
                     61: The commands available to the user through
                     62: .I ioctls
                     63: are defined in
                     64: .I <machineio/mouseio.h>
                     65: and described below.
                     66: When in
                     67: .I stream
                     68: mode, the driver will disable the mouse
                     69: before issuing commands which expect responses.
                     70: .IP MSIC_STREAM
                     71: Sets the mouse in 
                     72: .I stream 
                     73: mode which, when enabled, sends unsolicited
                     74: data reports.
                     75: This is the default after the mouse has been opened.
                     76: .IP MSIC_REMOTE
                     77: Sets the mouse to 
                     78: .I remote 
                     79: mode, where it will send data
                     80: reports only in response to a
                     81: MSIC_READXY
                     82: command;
                     83: no unsolicited data will be sent.
                     84: .IP MSIC_STATUS
                     85: The current mouse status data report, as defined in
                     86: .IR <machineio/mouseio.h> ,
                     87: will be placed in the passed four-byte character pointer.
                     88: Note that the status report contains the true state of the buttons;
                     89: a middle button is not simulated.
                     90: .IP MSIC_READXY
                     91: This will solicit a data report from the mouse even if it hasn't
                     92: been moved or button conditions have not changed.  MSIC_READXY
                     93: can be used in either 
                     94: .I stream
                     95: or 
                     96: .I remote 
                     97: mode.
                     98: In 
                     99: .I stream 
                    100: mode, the driver will disable the mouse
                    101: before performing the read.
                    102: .IP MSIC_ENABLE
                    103: Enable the mouse to send unsolicited data reports in
                    104: .I stream 
                    105: mode.
                    106: This is the default after the mouse has been opened.
                    107: .IP MSIC_DISABLE
                    108: Prohibits the mouse from sending unsolicited data reports in
                    109: .I stream 
                    110: mode.
                    111: 
                    112: .IP MSIC_EXP
                    113: An exponential transform is applied to data reported by the mouse, as
                    114: follows:
                    115: .IP
                    116: .\" Pipe the following through eqn or neqn, as appropriate,
                    117: .\" to generate the corresponding nroff/troff code.
                    118: .\" (in vi, copy, mark, and pipe through sed s/...// | eqn)
                    119: .\".EQ
                    120: .\"delim @@
                    121: .\"ndefine sup '"^"'
                    122: .\"tdefine Z @ roman sign (x) cdot (2 sup N )@
                    123: .\"ndefine Z @ (( sign (x) )  (2 sup N ))@
                    124: .\".EN
                    125: .\"Let @x@ be the number of counts accumulated in the sample interval.
                    126: .\"The value reported will be @Z@
                    127: .\"where
                    128: .\".IP
                    129: .\".RS
                    130: .\".RS
                    131: .\".EQ
                    132: .\"tdefine Y '{roman abs ( x ) cdot roman rate } over roman resolution ~-~ 3 .'
                    133: .\"ndefine Y '(( abs ( x ) ) ( rate ) ) / ( resolution - 3 . )'
                    134: .\"N = Y
                    135: .\".RE
                    136: .\".RE
                    137: .\".EN
                    138: .if n \{\
                    139: .\"nroff code goes here
                    140: .EQ
                    141: .nr 99 \n(.s
                    142: .nr 98 \n(.f
                    143: .ps 10
                    144: .ft 1
                    145: .ps \n(99
                    146: .ft \n(98
                    147: .EN
                    148: .nr 99 \n(.s
                    149: .nr 98 \n(.f
                    150: .rm 11 
                    151: .as 11 "Let 
                    152: .ps 10
                    153: .ft 1
                    154: .ds 12 "x
                    155: .ds 12 \x'0'\f1\s10\*(12\|\s\n(99\f\n(98
                    156: .as 11 \*(12
                    157: .ps \n(99
                    158: .ft \n(98
                    159: .as 11 " be the number of counts accumulated in the sample interval.
                    160: .ps \n(99
                    161: .ft \n(98
                    162: \*(11
                    163: .nr 99 \n(.s
                    164: .nr 98 \n(.f
                    165: .rm 11 
                    166: .as 11 "The value reported will be 
                    167: .ps 10
                    168: .ft 1
                    169: .ds 12 "\f1(\fP\|\f1(\fP
                    170: .ds 13 "sign
                    171: .as 12 "\|\*(13
                    172: .ds 13 "\f1(\fPx\|\f1)\fP
                    173: .as 12 "\|\*(13
                    174: .ds 13 "\f1)\fP
                    175: .as 12 "\|\*(13
                    176: .ds 13 "\f1(\fP\|\f12\fP
                    177: .as 12 "\|\*(13
                    178: .ds 13 "^
                    179: .as 12 "\|\*(13
                    180: .ds 13 "N
                    181: .as 12 "\|\*(13
                    182: .ds 13 "\f1)\fP\|\f1)\fP
                    183: .as 12 "\|\*(13
                    184: .ds 12 \x'0'\f1\s10\*(12\|\s\n(99\f\n(98
                    185: .as 11 \*(12
                    186: .ps \n(99
                    187: .ft \n(98
                    188: .as 11 "
                    189: .ps \n(99
                    190: .ft \n(98
                    191: \*(11
                    192: where
                    193: .IP
                    194: .RS
                    195: .RS
                    196: .EQ
                    197: .nr 99 \n(.s
                    198: .nr 98 \n(.f
                    199: .ps 10
                    200: .ft 1
                    201: .ds 11 "N
                    202: .ds 12 "\(eq
                    203: .as 11 "\|\*(12
                    204: .ds 12 "\f1(\fP\|\f1(\fP
                    205: .as 11 "\|\*(12
                    206: .ds 12 "abs
                    207: .as 11 "\|\*(12
                    208: .ds 12 "\f1(\fP
                    209: .as 11 "\|\*(12
                    210: .ds 12 "x
                    211: .as 11 "\|\*(12
                    212: .ds 12 "\f1)\fP
                    213: .as 11 "\|\*(12
                    214: .ds 12 "\f1)\fP
                    215: .as 11 "\|\*(12
                    216: .ds 12 "\f1(\fP
                    217: .as 11 "\|\*(12
                    218: .ds 12 "rate
                    219: .as 11 "\|\*(12
                    220: .ds 12 "\f1)\fP
                    221: .as 11 "\|\*(12
                    222: .ds 12 "\f1)\fP
                    223: .as 11 "\|\*(12
                    224: .ds 12 "\(sl
                    225: .as 11 "\|\*(12
                    226: .ds 12 "\f1(\fP
                    227: .as 11 "\|\*(12
                    228: .ds 12 "resolution
                    229: .as 11 "\|\*(12
                    230: .ds 12 "\(mi
                    231: .as 11 "\|\*(12
                    232: .ds 12 "\f13\fP
                    233: .as 11 "\|\*(12
                    234: .ds 12 ".
                    235: .as 11 "\*(12
                    236: .ds 12 "\f1)\fP
                    237: .as 11 "\*(12
                    238: .ds 11 \x'0'\f1\s10\*(11\|\s\n(99\f\n(98
                    239: .nr 11 \w'\*(11'
                    240: .nr MK 0
                    241: .if 40>\n(.v .ne 40u
                    242: .rn 11 10
                    243: \*(10
                    244: .ps \n(99
                    245: .ft \n(98
                    246: .RE
                    247: .RE
                    248: .EN
                    249: .\"end of nroff code
                    250: .\}
                    251: .if t \{\
                    252: .\"troff code goes here
                    253: .EQ
                    254: .nr 99 \n(.s
                    255: .nr 98 \n(.f
                    256: .ps 10
                    257: .ft 2
                    258: .ps \n(99
                    259: .ft \n(98
                    260: .EN
                    261: .nr 99 \n(.s
                    262: .nr 98 \n(.f
                    263: .rm 11 
                    264: .as 11 "Let 
                    265: .ps 10
                    266: .ft 2
                    267: .ds 12 "x
                    268: .ds 12 \x'0'\f2\s10\*(12\|\s\n(99\f\n(98
                    269: .as 11 \*(12
                    270: .ps \n(99
                    271: .ft \n(98
                    272: .as 11 " be the number of counts accumulated in the sample interval.
                    273: .ps \n(99
                    274: .ft \n(98
                    275: \*(11
                    276: .nr 99 \n(.s
                    277: .nr 98 \n(.f
                    278: .rm 11 
                    279: .as 11 "The value reported will be 
                    280: .ps 10
                    281: .ft 2
                    282: .ft 1
                    283: .ds 12 "sign
                    284: .ds 12 \f1\*(12\f2
                    285: .ft 2
                    286: .ds 13 "\f1(\fPx\|\f1)\fP
                    287: .as 12 "\*(13
                    288: .ds 13 "\v'-.3m'.\v'.3m'
                    289: .as 12 "\*(13
                    290: .ds 13 "\f1(\fP\f12\fP
                    291: .ds 14 "N
                    292: .as 13 \v'-24u'\s-3\*(14\s+3\|\v'24u'
                    293: .as 12 "\*(13
                    294: .ds 13 "\f1)\fP
                    295: .as 12 "\*(13
                    296: .ds 12 \x'0'\f2\s10\*(12\s\n(99\f\n(98
                    297: .as 11 \*(12
                    298: .ps \n(99
                    299: .ft \n(98
                    300: .as 11 "
                    301: .ps \n(99
                    302: .ft \n(98
                    303: \*(11
                    304: where
                    305: .IP
                    306: .RS
                    307: .RS
                    308: .EQ
                    309: .nr 99 \n(.s
                    310: .nr 98 \n(.f
                    311: .ps 10
                    312: .ft 2
                    313: .ds 11 "N
                    314: .ds 12 "\(eq
                    315: .as 11 "\|\*(12
                    316: .ft 1
                    317: .ds 12 "abs
                    318: .ds 12 \f1\*(12\f2
                    319: .ft 2
                    320: .ds 13 "\f1(\fP
                    321: .as 12 "\*(13
                    322: .ds 13 "x
                    323: .as 12 "\*(13
                    324: .ds 13 "\f1)\fP
                    325: .as 12 "\|\*(13
                    326: .ds 13 "\v'-.3m'.\v'.3m'
                    327: .as 12 "\*(13
                    328: .ft 1
                    329: .ds 13 "rate
                    330: .ds 13 \f1\*(13\f2
                    331: .ft 2
                    332: .as 12 "\*(13
                    333: .ft 1
                    334: .ds 13 "resolution
                    335: .ds 13 \f1\*(13\f2
                    336: .ft 2
                    337: .nr 12 \w'\s10\*(12'
                    338: .nr 13 \w'\s10\*(13'
                    339: .nr 14 \n(12
                    340: .if \n(13>\n(14 .nr 14 \n(13
                    341: .nr 14 \n(14+\s10.5m\s0
                    342: .ds 12 \v'42u'\h'\n(14u-\n(13u/2u'\*(13\
                    343: \h'-\n(13u-\n(12u/2u'\v'-78u'\*(12\
                    344: \h'-\n(14u-\n(12u/2u+.1m'\v'18u'\l'\n(14u-.2m'\h'.1m'\v'18u'
                    345: .as 11 "\*(12
                    346: .ds 12 "\ 
                    347: .as 11 "\*(12
                    348: .ds 12 "\(mi
                    349: .as 11 "\*(12
                    350: .ds 12 "\ 
                    351: .as 11 "\*(12
                    352: .ds 12 "\f13\fP
                    353: .as 11 "\*(12
                    354: .ds 12 ".
                    355: .as 11 "\*(12
                    356: .ds 11 \x'0'\x'0-24u'\f2\s10\*(11\s\n(99\f\n(98\x'30u'
                    357: .nr 11 \w'\*(11'
                    358: .nr MK 0
                    359: .if 138>\n(.v .ne 138u
                    360: .rn 11 10
                    361: \*(10
                    362: .ps \n(99
                    363: .ft \n(98
                    364: .RE
                    365: .RE
                    366: .EN
                    367: .\"end of troff code
                    368: .\}
                    369: .IP
                    370: This scaling applies only to mouse-generated reports.
                    371: Reports generated in response to
                    372: MSIC_READXY
                    373: are always linear.
                    374: .IP MSIC_LINEAR
                    375: Set the mouse back to linear scaling, where the value reported is the number 
                    376: of counts.  This is the default after the mouse has been opened.
                    377: .IP MSIC_SAMP
                    378: Set the mouse sampling rate.
                    379: The argument passed in the
                    380: .I ioctl
                    381: must contain the desired sampling reate in counts per second.
                    382: Legal
                    383: values are 10, 20, 40, 60, 80 and 100.
                    384: These are provided in
                    385: .I <machineio/mouseio.h>
                    386: as MS_RATE_10, MS_RATE_20, ..., MS_RATE_100 respectively.
                    387: The default after the mouse has been opened is
                    388: MS_RATE_100.
                    389: .IP MSIC_RESL
                    390: Set the mouse resolution.
                    391: The argument passed must contain the the required resolution in counts
                    392: per inch.
                    393: Legal resolutions are 25, 50, 100, 200.
                    394: These are provided in
                    395: .I <machineio/mouseio.h>
                    396: as MS_RES_25, MS_RES_50, MS_RES_100, MS_RES_200, respectively.
                    397: The default after the mouse has been opened is
                    398: MS_RES_100.
                    399: .SH FILES
                    400: /dev/mouse
                    401: .SH "SEE ALSO"
                    402: tty(4), select(2)
                    403: .br
                    404: .IR "IBM RT PC Technical Reference Manual" , 
                    405: ``Adapter'', section 3.1.4
                    406: .br
                    407: .IR "IBM RT PC Technical Reference Manual" , 
                    408: ``Mouse'', section 6.2

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.