.\" $NetBSD: wsmouse.4,v 1.22 2012/05/27 12:05:40 wiz Exp $ .\" .\" Copyright (c) 1999 .\" Matthias Drochner. All rights reserved. .\" .\" Copyright (c) 2006 .\" Julio M. Merino Vidal. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .Dd May 27, 2012 .Dt WSMOUSE 4 .Os .Sh NAME .Nm wsmouse .Nd generic mouse support in wscons .Sh SYNOPSIS .Cd "wsmouse* at pms? mux 0" (PS/2 mouse, including ``IntelliMouse''-compatible wheel mice) .Cd "wsmouse* at ums? mux 0" (USB mouse) .Cd "wsmouse* at uts? mux 0" (USB touchscreen) .Cd "wsmouse* at lms? mux 0" (Logitech bus mouse, i386 only) .Cd "wsmouse* at mms? mux 0" (Microsoft InPort mouse, i386 only) .Cd "wsmouse0 at ams? mux 0" (Apple ADB mouse) .Cd "wsmouse* at btms? mux 0" (Bluetooth mouse) .Cd "wsmouse* at lkms? mux 0" (DEC VSXXX serial mice) .Sh DESCRIPTION The .Nm driver is an abstraction layer for mice within the .Xr wscons 4 framework. It is attached to the hardware specific mouse drivers and provides a character device interface which returns .Fa struct wscons_event via .Xr read 2 . For use with X servers, .Dq mouse events can be generated. .Pp The .Xr wsconsctl 8 utility gives access to several configurable details that affect this driver. .Ss Ioctls The following .Xr ioctl 2 calls are provided by the .Nm driver or by devices which use it. Their definitions are found in .Pa dev/wscons/wsconsio.h . .Bl -tag -width Dv .It Dv WSMOUSEIO_GETREPEAT Pq Li "struct wsmouse_repeat" Retrieve the current automatic button repeating configuration. The structure returned is as follows: .Bd -literal -offset indent struct wsmouse_repeat { unsigned long wr_buttons; unsigned int wr_delay_first; unsigned int wr_delay_decrement; unsigned int wr_delay_minimum; }; .Ed .Pp The .Va wr_buttons field is a bit mask that specifies which buttons send press and release events periodically while they are physically held down. The least significant bit corresponds to button 0. .Pp The other three fields describe the frequency upon which these automatic events are sent. .Va wr_delay_first specifies the milliseconds before the first repeated event is sent. .Va wr_delay_decrement is used to calculate the delay between the most recently generated event and the forthcoming one: the previous delay is taken and it is decreased by the value given in this variable. .Va wr_delay_minimum specifies the minimum delay, in milliseconds, between two consecutive events. .Pp .It Dv WSMOUSEIO_SETREPEAT Pq Li "struct wsmouse_repeat" Set the automatic button repeating configuration. See .Dv WSMOUSEIO_GETREPEAT above for more details. .It Dv WSMOUSEIO_SETVERSION Pq Li "int" Set the wscons_event protocol version. The default is 0 for binary compatibility. The latest version is always available as .Dv WSMOUSE_EVENT_VERSION , and is currently 1. All new code should use a call similar to the below to ensure the correct version is returned. .Bd -literal -offset indent int ver = WSMOUSE_EVENT_VERSION; if (ioctl(fd, WSMOUSEIO_SETVERSION, &ver) == -1) err(EXIT_FAILURE, "cannot set version"); .Ed .El .Sh FILES .Bl -item .It .Pa /dev/wsmouse* .It .Pa /usr/include/dev/wscons/wsconsio.h . .El .Sh SEE ALSO .Xr btms 4 , .Xr lms 4 , .Xr mms 4 , .Xr pms 4 , .Xr uep 4 , .Xr ums 4 , .Xr uts 4 , .Xr wscons 4 , .Xr wsmux 4 , .Xr moused 8 , .Xr wsconsctl 8 , .Xr wsmoused 8 , .Xr wsmouse 9