WSMOUSE(4) | Device Drivers Manual | WSMOUSE(4) |
wsmouse
— generic
mouse support in wscons
wsmouse* at pms? mux 0
(PS/2 mouse,
including ``IntelliMouse''-compatible wheel mice)
wsmouse* at ums? mux 0
(USB mouse)
wsmouse* at uts? mux 0
(USB touchscreen)
wsmouse* at lms? mux 0
(Logitech bus mouse, i386 only)
wsmouse* at mms? mux 0
(Microsoft InPort mouse, i386
only)
wsmouse0 at ams? mux 0
(Apple ADB mouse)
wsmouse* at btms? mux 0
(Bluetooth mouse)
wsmouse* at lkms? mux 0
(DEC VSXXX serial mice)
The wsmouse
driver is an abstraction layer
for mice within the wscons(4)
framework. It is attached to the hardware specific mouse drivers and
provides a character device interface which returns struct
wscons_event via read(2).
For use with X servers, “mouse events” can be generated.
The wsconsctl(8) utility gives access to several configurable details that affect this driver.
The following
ioctl(2) calls are provided by
the wsmouse
driver or by devices which use it. Their
definitions are found in dev/wscons/wsconsio.h.
WSMOUSEIO_GETPARAMS
(struct wsmouse_parameters
)WSMOUSEIO_SETPARAMS
(struct wsmouse_parameters
)struct wsmouse_param { enum wsmousecfg key; int value; }; struct wsmouse_parameters { struct wsmouse_param *params; unsigned int nparams; };
The number of parameters to read or write must be specified in
nparams. For each parameter, when
WSMOUSEIO_GETPARAMS
is used, a key must be
specified. When WSMOUSEIO_SETPARAMS
is used, a
key and a value must be specified. A single ioctl may retrieve up to
WSMOUSECFG_MAX
nparams.
WSMOUSEIO_GETREPEAT
(struct wsmouse_repeat
)struct wsmouse_repeat { unsigned long wr_buttons; unsigned int wr_delay_first; unsigned int wr_delay_decrement; unsigned int wr_delay_minimum; };
The 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.
The other three fields describe the frequency upon which these automatic events are sent. wr_delay_first specifies the milliseconds before the first repeated event is sent. 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. wr_delay_minimum specifies the minimum delay, in milliseconds, between two consecutive events.
WSMOUSEIO_SETREPEAT
(struct wsmouse_repeat
)WSMOUSEIO_GETREPEAT
above for more details.WSMOUSEIO_SETVERSION
(int
)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.
int ver = WSMOUSE_EVENT_VERSION; if (ioctl(fd, WSMOUSEIO_SETVERSION, &ver) == -1) err(EXIT_FAILURE, "cannot set version");
btms(4), dreamcast/mms(4), i386/lms(4), i386/mms(4), pms(4), uep(4), ums(4), uts(4), wscons(4), wsmux(4), moused(8), wsconsctl(8), wsmoused(8), wsmouse(9)
September 25, 2021 | NetBSD 10.99 |