|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T m ┃
Length: 8310 (0x2076) Types: TextFile Names: »mouse.4«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─ ⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« └─⟦2109abc41⟧ └─ ⟦this⟧ »./X.V10R4/libibm/doc/man/mouse.4«
.\"$Header: mouse.4,v 10.1 86/11/19 10:56:12 jg Exp $ .\"$Source: /u1/X/libibm/doc/man/RCS/mouse.4,v $ .\"Contains -man macros and eqn source .TH MOUSE 4 "30 Sep 1985" "Space overwritten by .AC macro" " " .UC 4 .AC 1 0 .SH NAME mouse \- mouse interface .SH SYNOPSIS .B "pseudo-device ms" .SH DESCRIPTION The mouse driver provides a low-level interface to the mouse for the IBM RT PC. A .IR tty (4)-like interface is provided, in that the kernel uses internal tty protocols for buffering data to read data from the interface. Thus, the system calls .IR select (2) and .IR fcntl (2) relating to non-blocking I/O may be used. Commands are issued to the mouse through the standard .IR ioctl (2) mechanism, although none of the terminal-specific .IR ioctl s apply and that the mouse is always in ``mouse-discipline'' mode. .PP The mouse can only be opened by one process at a time; subsequent processes will receive ENXIO in response to .IR open (2) calls. .SS Data The data structures necessary for communicating with the mouse are provided in .IR <machineio/mouseio.h> . This file also includes macros for interpreting the mouse stream data, and symbolic names for the commands the mouse understands. .PP Since many applications expect a three-button mouse, a three-button mouse is simulated by indicating a middle button when both buttons are depressed. This means that an application program will never see a data report indicating that both buttons are pressed. There is a small delay in recognizing a single button, in order to allow smooth recognition of both buttons, since one cannot always press both buttons at exactly the same time. In addition, a single button from a middle (double-button) transition will not be reported until both buttons have been released and then the single button pressed. .SS Commands The commands available to the user through .I ioctls are defined in .I <machineio/mouseio.h> and described below. When in .I stream mode, the driver will disable the mouse before issuing commands which expect responses. .IP MSIC_STREAM Sets the mouse in .I stream mode which, when enabled, sends unsolicited data reports. This is the default after the mouse has been opened. .IP MSIC_REMOTE Sets the mouse to .I remote mode, where it will send data reports only in response to a MSIC_READXY command; no unsolicited data will be sent. .IP MSIC_STATUS The current mouse status data report, as defined in .IR <machineio/mouseio.h> , will be placed in the passed four-byte character pointer. Note that the status report contains the true state of the buttons; a middle button is not simulated. .IP MSIC_READXY This will solicit a data report from the mouse even if it hasn't been moved or button conditions have not changed. MSIC_READXY can be used in either .I stream or .I remote mode. In .I stream mode, the driver will disable the mouse before performing the read. .IP MSIC_ENABLE Enable the mouse to send unsolicited data reports in .I stream mode. This is the default after the mouse has been opened. .IP MSIC_DISABLE Prohibits the mouse from sending unsolicited data reports in .I stream mode. .IP MSIC_EXP An exponential transform is applied to data reported by the mouse, as follows: .IP .\" Pipe the following through eqn or neqn, as appropriate, .\" to generate the corresponding nroff/troff code. .\" (in vi, copy, mark, and pipe through sed s/...// | eqn) .\".EQ .\"delim @@ .\"ndefine sup '"^"' .\"tdefine Z @ roman sign (x) cdot (2 sup N )@ .\"ndefine Z @ (( sign (x) ) (2 sup N ))@ .\".EN .\"Let @x@ be the number of counts accumulated in the sample interval. .\"The value reported will be @Z@ .\"where .\".IP .\".RS .\".RS .\".EQ .\"tdefine Y '{roman abs ( x ) cdot roman rate } over roman resolution ~-~ 3 .' .\"ndefine Y '(( abs ( x ) ) ( rate ) ) / ( resolution - 3 . )' .\"N = Y .\".RE .\".RE .\".EN .if n \{\ .\"nroff code goes here .EQ .nr 99 \n(.s .nr 98 \n(.f .ps 10 .ft 1 .ps \n(99 .ft \n(98 .EN .nr 99 \n(.s .nr 98 \n(.f .rm 11 .as 11 "Let .ps 10 .ft 1 .ds 12 "x .ds 12 \x'0'\f1\s10\*(12\|\s\n(99\f\n(98 .as 11 \*(12 .ps \n(99 .ft \n(98 .as 11 " be the number of counts accumulated in the sample interval. .ps \n(99 .ft \n(98 \*(11 .nr 99 \n(.s .nr 98 \n(.f .rm 11 .as 11 "The value reported will be .ps 10 .ft 1 .ds 12 "\f1(\fP\|\f1(\fP .ds 13 "sign .as 12 "\|\*(13 .ds 13 "\f1(\fPx\|\f1)\fP .as 12 "\|\*(13 .ds 13 "\f1)\fP .as 12 "\|\*(13 .ds 13 "\f1(\fP\|\f12\fP .as 12 "\|\*(13 .ds 13 "^ .as 12 "\|\*(13 .ds 13 "N .as 12 "\|\*(13 .ds 13 "\f1)\fP\|\f1)\fP .as 12 "\|\*(13 .ds 12 \x'0'\f1\s10\*(12\|\s\n(99\f\n(98 .as 11 \*(12 .ps \n(99 .ft \n(98 .as 11 " .ps \n(99 .ft \n(98 \*(11 where .IP .RS .RS .EQ .nr 99 \n(.s .nr 98 \n(.f .ps 10 .ft 1 .ds 11 "N .ds 12 "\(eq .as 11 "\|\*(12 .ds 12 "\f1(\fP\|\f1(\fP .as 11 "\|\*(12 .ds 12 "abs .as 11 "\|\*(12 .ds 12 "\f1(\fP .as 11 "\|\*(12 .ds 12 "x .as 11 "\|\*(12 .ds 12 "\f1)\fP .as 11 "\|\*(12 .ds 12 "\f1)\fP .as 11 "\|\*(12 .ds 12 "\f1(\fP .as 11 "\|\*(12 .ds 12 "rate .as 11 "\|\*(12 .ds 12 "\f1)\fP .as 11 "\|\*(12 .ds 12 "\f1)\fP .as 11 "\|\*(12 .ds 12 "\(sl .as 11 "\|\*(12 .ds 12 "\f1(\fP .as 11 "\|\*(12 .ds 12 "resolution .as 11 "\|\*(12 .ds 12 "\(mi .as 11 "\|\*(12 .ds 12 "\f13\fP .as 11 "\|\*(12 .ds 12 ". .as 11 "\*(12 .ds 12 "\f1)\fP .as 11 "\*(12 .ds 11 \x'0'\f1\s10\*(11\|\s\n(99\f\n(98 .nr 11 \w'\*(11' .nr MK 0 .if 40>\n(.v .ne 40u .rn 11 10 \*(10 .ps \n(99 .ft \n(98 .RE .RE .EN .\"end of nroff code .\} .if t \{\ .\"troff code goes here .EQ .nr 99 \n(.s .nr 98 \n(.f .ps 10 .ft 2 .ps \n(99 .ft \n(98 .EN .nr 99 \n(.s .nr 98 \n(.f .rm 11 .as 11 "Let .ps 10 .ft 2 .ds 12 "x .ds 12 \x'0'\f2\s10\*(12\|\s\n(99\f\n(98 .as 11 \*(12 .ps \n(99 .ft \n(98 .as 11 " be the number of counts accumulated in the sample interval. .ps \n(99 .ft \n(98 \*(11 .nr 99 \n(.s .nr 98 \n(.f .rm 11 .as 11 "The value reported will be .ps 10 .ft 2 .ft 1 .ds 12 "sign .ds 12 \f1\*(12\f2 .ft 2 .ds 13 "\f1(\fPx\|\f1)\fP .as 12 "\*(13 .ds 13 "\v'-.3m'.\v'.3m' .as 12 "\*(13 .ds 13 "\f1(\fP\f12\fP .ds 14 "N .as 13 \v'-24u'\s-3\*(14\s+3\|\v'24u' .as 12 "\*(13 .ds 13 "\f1)\fP .as 12 "\*(13 .ds 12 \x'0'\f2\s10\*(12\s\n(99\f\n(98 .as 11 \*(12 .ps \n(99 .ft \n(98 .as 11 " .ps \n(99 .ft \n(98 \*(11 where .IP .RS .RS .EQ .nr 99 \n(.s .nr 98 \n(.f .ps 10 .ft 2 .ds 11 "N .ds 12 "\(eq .as 11 "\|\*(12 .ft 1 .ds 12 "abs .ds 12 \f1\*(12\f2 .ft 2 .ds 13 "\f1(\fP .as 12 "\*(13 .ds 13 "x .as 12 "\*(13 .ds 13 "\f1)\fP .as 12 "\|\*(13 .ds 13 "\v'-.3m'.\v'.3m' .as 12 "\*(13 .ft 1 .ds 13 "rate .ds 13 \f1\*(13\f2 .ft 2 .as 12 "\*(13 .ft 1 .ds 13 "resolution .ds 13 \f1\*(13\f2 .ft 2 .nr 12 \w'\s10\*(12' .nr 13 \w'\s10\*(13' .nr 14 \n(12 .if \n(13>\n(14 .nr 14 \n(13 .nr 14 \n(14+\s10.5m\s0 .ds 12 \v'42u'\h'\n(14u-\n(13u/2u'\*(13\ \h'-\n(13u-\n(12u/2u'\v'-78u'\*(12\ \h'-\n(14u-\n(12u/2u+.1m'\v'18u'\l'\n(14u-.2m'\h'.1m'\v'18u' .as 11 "\*(12 .ds 12 "\ .as 11 "\*(12 .ds 12 "\(mi .as 11 "\*(12 .ds 12 "\ .as 11 "\*(12 .ds 12 "\f13\fP .as 11 "\*(12 .ds 12 ". .as 11 "\*(12 .ds 11 \x'0'\x'0-24u'\f2\s10\*(11\s\n(99\f\n(98\x'30u' .nr 11 \w'\*(11' .nr MK 0 .if 138>\n(.v .ne 138u .rn 11 10 \*(10 .ps \n(99 .ft \n(98 .RE .RE .EN .\"end of troff code .\} .IP This scaling applies only to mouse-generated reports. Reports generated in response to MSIC_READXY are always linear. .IP MSIC_LINEAR Set the mouse back to linear scaling, where the value reported is the number of counts. This is the default after the mouse has been opened. .IP MSIC_SAMP Set the mouse sampling rate. The argument passed in the .I ioctl must contain the desired sampling reate in counts per second. Legal values are 10, 20, 40, 60, 80 and 100. These are provided in .I <machineio/mouseio.h> as MS_RATE_10, MS_RATE_20, ..., MS_RATE_100 respectively. The default after the mouse has been opened is MS_RATE_100. .IP MSIC_RESL Set the mouse resolution. The argument passed must contain the the required resolution in counts per inch. Legal resolutions are 25, 50, 100, 200. These are provided in .I <machineio/mouseio.h> as MS_RES_25, MS_RES_50, MS_RES_100, MS_RES_200, respectively. The default after the mouse has been opened is MS_RES_100. .SH FILES /dev/mouse .SH "SEE ALSO" tty(4), select(2) .br .IR "IBM RT PC Technical Reference Manual" , ``Adapter'', section 3.1.4 .br .IR "IBM RT PC Technical Reference Manual" , ``Mouse'', section 6.2