1.\" $NetBSD: wsmux.4,v 1.11 2008/04/30 13:10:55 martin Exp $ 2.\" 3.\" Copyright (c) 1999 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 16.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 17.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 18.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 19.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25.\" POSSIBILITY OF SUCH DAMAGE. 26.\" 27.Dd July 26, 1999 28.Dt WSMUX 4 29.Os 30.Sh NAME 31.Nm wsmux 32.Nd console keyboard/mouse multiplexor for wscons 33.Sh SYNOPSIS 34.Cd "wskbd* at ... mux 1" 35.Cd "wsmouse* at ... mux 0" 36.Pp 37.Cd pseudo-device wsmux 38.Sh DESCRIPTION 39The 40.Nm 41is a pseudo-device driver that allows several 42.Xr wscons 4 43input devices to have their events multiplexed into one stream. 44.Pp 45The typical usage for this device is to have two multiplexors, one 46for mouse events and one for keyboard events. All 47.Xr wsmouse 4 48devices should direct their events to the mouse mux (normally 0) 49and all keyboard devices, except the console, should direct their 50events to the keyboard mux (normally 1). A device will 51send its events to the mux indicated by the 52.Va mux 53locator. If none is given the device will not use a multiplexor. 54The keyboard multiplexor should be connected to the display, using 55the 56.Xr wsconscfg 8 57command. It will then receive all keystrokes from all keyboards 58and, furthermore, keyboards can be dynamically attached and detached without 59further user interaction. 60In a similar way, the window system will open the mouse multiplexor 61and receive all mouse events; mice can also be dynamically attached 62and detached. 63.Pp 64If a 65.Xr wskbd 4 66or 67.Xr wsmouse 4 68device is opened despite having a mux it will be detached from the mux. 69.Pp 70It is also possible to inject events into a multiplexor from a 71user program. 72.\" This is used by the 73.\" .Xr moused 8 74.\" daemon to take data from a mouse connected to a serial port and 75.\" make it appear on the standard mouse mux. 76.Sh FILES 77For each mux device, 78.Pa /dev/wsmuxN 79there is a control device 80.Pa /dev/wsmuxctlN . 81The control device has a minor number 128 greater than the regular 82mux device. It can be used to control the mux even when it is open, 83e.g., by 84.Xr wsmuxctl 8 . 85.Bl -item 86.It 87.Pa /dev/wsmouse 88a.k.a. 89.Pa /dev/wsmux0 90.It 91.Pa /dev/wskbd 92a.k.a. 93.Pa /dev/wsmux1 94.It 95.Pa /usr/include/dev/wscons/wsconsio.h 96.El 97.Sh SEE ALSO 98.Xr wscons 4 , 99.Xr wsdisplay 4 , 100.Xr wskbd 4 , 101.Xr wsmouse 4 , 102.Xr moused 8 , 103.Xr wsconscfg 8 , 104.Xr wsconsctl 8 , 105.Xr wsfontload 8 , 106.Xr wsmoused 8 , 107.Xr wsmuxctl 8 108