Annotation of 43BSDTahoe/new/X/libibm/doc/man/mouse.4, revision 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.