NAME
wsmux —
console keyboard/mouse
multiplexor for wscons
SYNOPSIS
wskbd* at ... mux 1
wsbell* at ... mux 1
wsmouse* at ... mux 0
pseudo-device wsmux
DESCRIPTION
The
wsmux is a pseudo-device driver that allows several
wscons(4) input devices to have
their events multiplexed into one stream.
The typical usage for this device is to have two multiplexors, one for mouse
events and one for keyboard and bell events. All
wsmouse(4) devices should
direct their events to the mouse mux (normally 0) and all keyboard devices,
except the console, should direct their events to the keyboard mux (normally
1). A device will send its events to the mux indicated by the
mux locator. If none is given the device will not use a
multiplexor. The keyboard multiplexor should be connected to the display,
using the
wsconscfg(8)
command. It will then receive all keystrokes from all keyboards and,
furthermore, keyboards can be dynamically attached and detached without
further user interaction. Additionally, bell events generated for the display
will be directed to all attached
wsbell(4) devices. In a similar
way, the window system will open the mouse multiplexor and receive all mouse
events; mice can also be dynamically attached and detached.
If a
wskbd(4),
wsbell(4), or
wsmouse(4) device is opened
despite having a mux it will be detached from the mux.
It is also possible to inject events into a multiplexor from a user program.
FILES
For each mux device,
/dev/wsmuxN there is a control device
/dev/wsmuxctlN. The control device has a minor number 128
greater than the regular mux device. It can be used to control the mux even
when it is open, e.g., by
wsmuxctl(8).
- /dev/wsmouse a.k.a.
/dev/wsmux0
- /dev/wskbd a.k.a.
/dev/wsmux1
- /usr/include/dev/wscons/wsconsio.h
SEE ALSO
wsbell(4),
wscons(4),
wsdisplay(4),
wskbd(4),
wsmouse(4),
moused(8),
wsconscfg(8),
wsconsctl(8),
wsfontload(8),
wsmoused(8),
wsmuxctl(8)