Annotation of wikisrc/guide/cons.mdwn, revision 1.1

1.1     ! jdf         1: # Console drivers
        !             2: 
        !             3: In NetBSD versions before 1.4 the user could choose between two different
        !             4: drivers for screen and keyboard, pccons (specific for i386) and pcvt. In NetBSD
        !             5: 1.4 the new wscons multiplatform driver appeared, which has substituted the
        !             6: previous drivers.
        !             7: 
        !             8: ## wscons
        !             9: 
        !            10: Wscons is NetBSD's platform-independent workstation console driver. It handles
        !            11: complete abstraction of keyboards and mice. This means that you can plug in
        !            12: several keyboards or mice and they will be multiplexed onto a single terminal,
        !            13: but also that it can multiplex several virtual terminals onto one physical
        !            14: terminal.
        !            15: 
        !            16: The capabilities of wscons can vary depending on the port. Starting with NetBSD
        !            17: 4.0, almost all ports have full support for most capabilities wscons has to
        !            18: offer. If you are using a non-mainstream architecture, please see the
        !            19: port-specific FAQ if wscons seems to lack features.
        !            20: 
        !            21: Wscons support is enabled by default on most architectures. This can be done
        !            22: manually by adding `wscons=YES` to your `/etc/rc.conf`. Then configure the
        !            23: desired number of virtual consoles as described in
        !            24: [[Virtual consoles|guide/cons#wscons-wsdisplay-vt]] and start wscons by entering
        !            25: `sh /etc/rc.d/wscons start` followed by `sh /etc/rc.d/ttys restart`. You can
        !            26: now switch virtual consoles by pressing Ctrl+Alt+F*n* or similar, depending on
        !            27: the platform.
        !            28: 
        !            29: wscons comprises three subsystems: wsdisplay, wskbd and wsmouse. These
        !            30: subsystems handle abstraction for all display, keyboard and mouse devices
        !            31: respectively. The following sections discuss the configuration of wscons per
        !            32: subsystem.
        !            33: 
        !            34: ### wsdisplay
        !            35: 
        !            36: This section will explain how to configure display and screen-related options.
        !            37: 
        !            38: #### Virtual consoles
        !            39: 
        !            40: The number of pre-allocated virtual console is controlled by the following
        !            41: option:
        !            42: 
        !            43:     options     WSDISPLAY_DEFAULTSCREENS=4
        !            44: 
        !            45: Other consoles can be added by enabling the relevant lines in the
        !            46: `/etc/wscons.conf` file: the comment mark (`#`) must be removed from the lines
        !            47: beginning with `screen x`. In the following example a fifth console is added to
        !            48: the four pre-allocated ones:
        !            49: 
        !            50:     # screens to create
        !            51:     #       idx     screen  emul
        !            52:     #screen 0       -       vt100
        !            53:     screen 1        -       vt100
        !            54:     screen 2        -       vt100
        !            55:     screen 3        -       vt100
        !            56:     screen  4       -       -
        !            57:     #screen 4       80x25bf vt100
        !            58:     #screen 5       80x50   vt100
        !            59: 
        !            60: The `rc.wscons` script transforms each of the non commented lines in a call to
        !            61: the
        !            62: [wsconscfg(8)](http://netbsd.gw.com/cgi-bin/man-cgi?wsconscfg+8+NetBSD-current)
        !            63: command: the columns become the parameters of the call. The `idx` column becomes
        !            64: the `index` parameter, the `screen` column becomes the `-t type` parameter
        !            65: (which defines the type of screen: rows and columns, number of colors, ...) and
        !            66: the `emul` column becomes the `-e emul` parameter, which defines the emulation.
        !            67: For example:
        !            68: 
        !            69:     screen 3       -       vt100
        !            70: 
        !            71: becomes a call to:
        !            72: 
        !            73:     wsconscfg -e vt100 3
        !            74: 
        !            75: Please note that it is possible to have a (harmless) conflict between the
        !            76: consoles pre-allocated by the kernel and the consoles allocated at boot time
        !            77: through `/etc/wscons.conf`. If during boot the system tries to allocate an
        !            78: already allocated screen, the following message will be displayed:
        !            79: 
        !            80:     wsconscfg: WSDISPLAYIO_ADDSCREEN: Device busy
        !            81: 
        !            82: The solution is to comment out the offending lines in `/etc/wscons.conf`.
        !            83: 
        !            84: Note that while it is possible to delete a screen and add it with different
        !            85: settings, it is, technically speaking, not possible to actually modify the
        !            86: settings of a screen.
        !            87: 
        !            88: `screen 0` cannot be deleted if used as system console. This implies that the
        !            89: setting of screen 0 cannot be changed in a running system, if used as system
        !            90: console.
        !            91: 
        !            92: The virtual console must also be active in `/etc/ttys`, so that NetBSD runs the
        !            93: [getty(8)](http://netbsd.gw.com/cgi-bin/man-cgi?getty+8+NetBSD-5.0.1+i386)
        !            94: program to ask for login. For example:
        !            95: 
        !            96:     console "/usr/libexec/getty Pc"         pc3     off secure
        !            97:     ttyE0   "/usr/libexec/getty Pc"         vt220   on secure
        !            98:     ttyE1   "/usr/libexec/getty Pc"         vt220   on secure
        !            99:     ttyE2   "/usr/libexec/getty Pc"         vt220   on secure
        !           100:     ttyE3   "/usr/libexec/getty Pc"         vt220   off secure
        !           101:     ...
        !           102: 
        !           103: When starting up the X server, it will look for a virtual console with no
        !           104: [getty(8)](http://netbsd.gw.com/cgi-bin/man-cgi?getty+8+NetBSD-5.0.1+i386)
        !           105: program running, e.g. one console should left as `off` in `/etc/ttys`. The line
        !           106: 
        !           107:     ttyE3   "/usr/libexec/getty Pc"         vt220   off secure
        !           108: 
        !           109: of `/etc/ttys` is used by the X server for this purpose. To use a screen
        !           110: different from number 4, a parameter of the form `vt#` must be passed to the X
        !           111: server, where `#` is the number of the function key used to activate the
        !           112: screen for X.
        !           113: 
        !           114: For example, `screen 7` could be enabled in `/etc/wscons.conf` and X could be
        !           115: started with `vt8`. If you use xdm you must edit `/etc/X11/xdm/Xservers`. For
        !           116: example:
        !           117: 
        !           118:     :0 local /usr/X11R6/bin/X +kb dpms -bpp 16 dpms vt8
        !           119: 
        !           120: For xdm3d the path is different: `/usr/X11R6/share/xdm3d/Xservers`.
        !           121: 
        !           122: ##### Getting rid of the message `WSDISPLAYIO_ADDSCREEN: Device busy`
        !           123: 
        !           124: This error message usually occurs when wsconscfg tries to add a screen which
        !           125: already exists. One time this occurs is if you have a `screen 0` line in your
        !           126: `/etc/wscons.conf` file, because the kernel always allocates a screen 0 as the
        !           127: console device. The error message is harmless in this case, and you can get rid
        !           128: of it by deleting (or commenting out) the `screen 0` line.
        !           129: 
        !           130: #### 50 lines text mode with wscons
        !           131: 
        !           132: A text mode with 50 lines can be used starting with version 1.4.1 of NetBSD.
        !           133: This mode is activated in the `/etc/wscons.conf`. The following line must be
        !           134: uncommented:
        !           135: 
        !           136:     font ibm  -  8  ibm  /usr/share/pcvt/fonts/vt220l.808
        !           137: 
        !           138: Then the following lines must be modified:
        !           139: 
        !           140:     #screen 0       80x50   vt100
        !           141:     screen  1       80x50   vt100
        !           142:     screen  2       80x50   vt100
        !           143:     screen  3       80x50   vt100
        !           144:     screen  4       80x50   vt100
        !           145:     screen  5       80x50   vt100
        !           146:     screen  6       80x50   vt100
        !           147:     screen  7       80x50   vt100
        !           148: 
        !           149: This configuration enables eight screens, which can be accessed with the key
        !           150: combination `Ctrl-Alt-F#` (where `#` varies from 1 to 8); the corresponding
        !           151: devices are `ttyE0` to `ttyE7`. To enable them and get a login prompt,
        !           152: `/etc/ttys` must be modified:
        !           153: 
        !           154:     ttyE0   "/usr/libexec/getty Pc"         vt220   on secure
        !           155:     ttyE1   "/usr/libexec/getty Pc"         vt220   on secure
        !           156:     ttyE2   "/usr/libexec/getty Pc"         vt220   on secure
        !           157:     ttyE3   "/usr/libexec/getty Pc"         vt220   on secure
        !           158:     ttyE4   "/usr/libexec/getty Pc"         vt220   on secure
        !           159:     ttyE5   "/usr/libexec/getty Pc"         vt220   on secure
        !           160:     ttyE6   "/usr/libexec/getty Pc"         vt220   on secure
        !           161:     ttyE7   "/usr/libexec/getty Pc"         vt220   on secure
        !           162: 
        !           163: `screen 0` as system console can be set to another screen type at boot time on
        !           164: VGA displays. This is a kernel configuration option. If a non-80x25 setting is
        !           165: selected, it must be made sure that a usable font is compiled into the kernel,
        !           166: which would be an 8x8 one for 80x50.
        !           167: 
        !           168: There is a problem with many ATI graphics cards which don't implement the
        !           169: standard VGA font switching logics: These need another kernel option to make a
        !           170: nonstandard console font work.
        !           171: 
        !           172: An example set of kernel configuration options might be:
        !           173: 
        !           174:     options VGA_CONSOLE_SCREENTYPE="\"80x50\""
        !           175:     options VGA_CONSOLE_ATI_BROKEN_FONTSEL
        !           176:     options FONT_VT220L8x8
        !           177: 
        !           178: #### Enabling framebuffer console
        !           179: 
        !           180: On many architectures, there is only one type of screen mode: a graphical
        !           181: framebuffer mode. On machines with VGA graphics cards, there is a second mode:
        !           182: textmode. This is an optimized mode specially made for displaying text. Hence,
        !           183: this is the default console mode for GENERIC kernels on architectures where the
        !           184: graphics card is typically a VGA card (i386, amd64).
        !           185: 
        !           186: However, you can enable a framebuffer on machines with VGA cards that support
        !           187: the VESA BIOS extension (VBE).
        !           188: 
        !           189: Starting in NetBSD 6.0 ,
        !           190: [vesafb(4)](http://netbsd.gw.com/cgi-bin/man-cgi?vesafb+4+NetBSD-5.0.1+i386) has
        !           191: been replaced with
        !           192: [genfb(4)](http://netbsd.gw.com/cgi-bin/man-cgi?genfb+4+NetBSD-5.0.1+i386). VESA
        !           193: framebuffer mode is configured during
        !           194: [boot(8)](http://netbsd.gw.com/cgi-bin/man-cgi?boot+8+NetBSD-5.0.1+i386) using
        !           195: the `vesa` command.
        !           196: 
        !           197: To enable support for this mode in NetBSD 4.x and 5.x, uncomment the following
        !           198: lines in the kernel configuration file:
        !           199: 
        !           200:     # VESA framebuffer console
        !           201:     options     KVM86           # required for vesabios
        !           202:     vesabios*   at vesabiosbus?
        !           203:     vesafb*     at vesabios?
        !           204:     options     VESAFB_WIDTH=640
        !           205:     options     VESAFB_HEIGHT=480
        !           206:     options     VESAFB_DEPTH=8
        !           207:     options     VESAFB_PM       # power management support
        !           208:     wsdisplay*  at vesafb? console ?
        !           209: 
        !           210: Beginning in NetBSD 4.0, if you have a VIA Unichrome-family graphics device, you
        !           211: can enable the following instead:
        !           212: 
        !           213:     # VIA Unichrome framebuffer console
        !           214:     unichromefb*    at pci? dev ? function ?
        !           215:     wsdisplay*  at unichromefb?
        !           216: 
        !           217: #### Enabling scrollback on the console
        !           218: 
        !           219: You can enable scrolling back on wscons consoles by compiling the
        !           220: `WSDISPLAY_SCROLLSUPPORT` option into your kernel. Make sure you don't have
        !           221: option `VGA_RASTERCONSOLE` enabled at the same time though! See
        !           222: [[Compiling the kernel|guide/kernel]] for instructions on building a kernel.
        !           223: 
        !           224: When you have a kernel with options `WSDISPLAY_SCROLLSUPPORT` running, you can
        !           225: scroll up on the console by pressing `LEFT SHIFT` plus `PAGE UP/DOWN`. Please
        !           226: note that this may not work on your system console (`ttyE0`)!
        !           227: 
        !           228: #### wscons and colors
        !           229: 
        !           230: ##### Changing the color of kernel messages
        !           231: 
        !           232: It is possible to change the foreground and background color of kernel messages
        !           233: by setting the following options in kernel config files:
        !           234: 
        !           235:     options WS_KERNEL_FG=WSCOL_xxx
        !           236:     options WS_KERNEL_BG=WSCOL_xxx
        !           237: 
        !           238: The `WSCOL_xxx` color constants are defined in
        !           239: [`src/sys/dev/wscons/wsdisplayvar.h`](http://cvsweb.NetBSD.org/bsdweb.cgi/src/sys/dev/wscons/wsdisplayvar.h?rev=HEAD&content-type=text/x-cvsweb-markup).
        !           240: 
        !           241: Starting from NetBSD 3.0, you can easily customize many aspects of your display
        !           242: appearance: the colors used to print normal messages, the colors used to print
        !           243: kernel messages and the color used to draw a border around the screen.
        !           244: 
        !           245: All of these details can be changed either from kernel options or through the
        !           246: [wsconsctl(8)](http://netbsd.gw.com/cgi-bin/man-cgi?wsconsctl+8+NetBSD-5.0.1+i386)
        !           247: utility; the later may be preferable if you don't want to compile your own
        !           248: kernel, as the default options in `GENERIC` are suitable to get this tip
        !           249: working.
        !           250: 
        !           251: The following options can be set through
        !           252: [wsconsctl(8)](http://netbsd.gw.com/cgi-bin/man-cgi?wsconsctl+8+NetBSD-5.0.1+i386):
        !           253: 
        !           254:  * `border`: The color of the screen border. Its respective kernel option is
        !           255:    `WSDISPLAY_BORDER_COLOR`.
        !           256: instructions on building a kernel.
        !           257:  * `msg.default.attrs`: The attributes used to print normal console messages.
        !           258:    Its respective kernel options are `WS_DEFAULT_COLATTR` and
        !           259:    `WS_DEFAULT_MONOATTR` (the former is used in color displays, while the later
        !           260:    is used in monochrome displays).
        !           261: 
        !           262:  * `msg.default.bg`: The background color used to print normal console messages.
        !           263:    Its respective kernel option is `WS_DEFAULT_BG`.
        !           264: 
        !           265:  * `msg.default.fg`: The foreground color used to print normal console messages.
        !           266:    Its respective kernel option is `WS_DEFAULT_FG`.
        !           267: 
        !           268:  * `msg.kernel.attrs`: The attributes used to print kernel messages and
        !           269:    warnings. Its respective kernel options are `WS_KERNEL_COLATTR` and
        !           270:    `WS_KERNEL_MONOATTR` (the former is used in color displays, while the later
        !           271:    is used in monochrome displays).
        !           272: 
        !           273:  * `msg.kernel.bg`: The background color used to print kernel messages and
        !           274:    warnings. Its respective kernel option is `WS_KERNEL_BG`.
        !           275: 
        !           276:  * `msg.kernel.fg`: The foreground color used to print kernel messages and
        !           277:    warnings. Its respective kernel option is `WS_KERNEL_FG`.
        !           278: 
        !           279: The values accepted as colors are: black, red, green, brown, blue, magenta, cyan
        !           280: and white. The attributes are a comma separated list of one or more flags, which
        !           281: can be: reverse, hilit, blink and/or underline.
        !           282: 
        !           283: For example, to emulate the look of one of those old Amstrad machines:
        !           284: 
        !           285:     wsconsctl -d -w border=blue msg.default.bg=blue msg.default.fg=white msg.default.attrs=hilit
        !           286: 
        !           287: Or, to make your kernel messages appear red:
        !           288: 
        !           289:     wsconsctl -d -w msg.kernel.fg=red
        !           290: 
        !           291: Note that, in older versions of NetBSD, only a subset of this functionality is
        !           292: available; more specifically, you can only change the kernel colors by changing
        !           293: kernel options, as explained above. Also note that not all drivers support these
        !           294: features, so you may not get correct results on all architectures.
        !           295: 
        !           296: ##### Getting applications to use colors on the console
        !           297: 
        !           298: NetBSD uses the termcap database to tell applications what the current
        !           299: terminal's capabilities are. For example, some terminals don't support colors,
        !           300: some don't support underlining (PC VGA terminals don't, for example) etc. The
        !           301: `TERM` environment variable tells the termcap library the type of terminal. It
        !           302: then refers to its database for the options.
        !           303: 
        !           304: The default setting for `TERM` can be inspected by typing `echo $TERM` on the
        !           305: terminal of interest. Usually this is something like `vt220`. This terminal type
        !           306: doesn't support colors. On a typical PC console with 25 lines, you can change
        !           307: this value to `wsvt25` instead, to get colors. This is done in the C shell (csh)
        !           308: by entering:
        !           309: 
        !           310:     setenv TERM wsvt25
        !           311: 
        !           312: In a Bourne-compatible shell (sh, ksh), you can enter:
        !           313: 
        !           314:     export TERM=wsvt25
        !           315: 
        !           316: If this does not work for you, you can try the `ansi` terminal type, which
        !           317: supports ANSI color codes. However, other functionality may be missing with this
        !           318: terminal type. You can have a look at the file `/usr/share/misc/termcap` to see
        !           319: if you can find a useful match for your console type.
        !           320: 
        !           321: #### Loading alternate fonts
        !           322: 
        !           323: There are several fonts in `/usr/share/wscons/fonts` that can be loaded as
        !           324: console fonts. This can be done with the
        !           325: [wsfontload(8)](http://netbsd.gw.com/cgi-bin/man-cgi?wsfontload+8+NetBSD-5.0.1+i386)
        !           326: command, for example:
        !           327: `wsfontload -N ibm -h 8 -e ibm /usr/share/wscons/fonts/vt220l.808`.
        !           328: This command loads the IBM-encoded (`-e ibm`) font in the file `vt2201.808`
        !           329: which has a height of eight pixels (`-h 8`).  Name it ibm for later reference
        !           330: (`-N ibm`).
        !           331: 
        !           332: To actually display the font on the console, use the command
        !           333: `wsconsctl -dw font=ibm`.
        !           334: 
        !           335: If you want to edit a font, you can use the old pcvt utils that are available in
        !           336: the
        !           337: [`sysutils/pcvt-utils`](http://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/sysutils/pcvt-utils/README.html)
        !           338: package.
        !           339: 
        !           340: ### wskbd
        !           341: 
        !           342: #### Keyboard mappings
        !           343: 
        !           344: wscons also allows setting the keymap to map the keys on various national
        !           345: keyboards to the right characters. E.g. to set the keymap for an Italian keymap,
        !           346: run:
        !           347: 
        !           348:     # wsconsctl -k -w encoding=it
        !           349:     encoding -> it
        !           350: 
        !           351: This setting will last until the next reboot. To make it permanent, add a
        !           352: `encoding` line to `/etc/wscons.conf`: it will be executed automatically the
        !           353: next time you reboot.
        !           354: 
        !           355:     # cp /etc/wscons.conf /etc/wscons.conf.orig
        !           356:     # echo encoding it >>/etc/wscons.conf
        !           357: 
        !           358: Please be careful and type two `>` characters. If you type only one `>`, you
        !           359: will overwrite the file instead of adding a line. But that's why we always make
        !           360: backup files before touching critical files!
        !           361: 
        !           362: A full list of keyboard mappings can be found in
        !           363: `/usr/src/sys/dev/wscons/wsksymdef.h`:
        !           364: 
        !           365:  * `be` - Belgian
        !           366:  * `de` - German
        !           367:  * `dk` - Danish
        !           368:  * `es` - Spanish
        !           369:  * `fi` - Finnish
        !           370:  * `fr` - French
        !           371:  * `gr` - Greek
        !           372:  * `hu` - Hungarian
        !           373:  * `it` - Italian
        !           374:  * `jp` - Japanese
        !           375:  * `no` - Norwegian
        !           376:  * `pl` - Polish
        !           377:  * `pt` - Portuguese
        !           378:  * `ru` - Russian
        !           379:  * `sf` - Swiss French
        !           380:  * `sg` - Swiss German
        !           381:  * `sv` - Swedish
        !           382:  * `ua` - Ukrainian
        !           383:  * `uk` - UK-English
        !           384:  * `us` - US-English
        !           385: 
        !           386: There are also several "variants" that can be used to modify a map:
        !           387: 
        !           388:  * `declk`
        !           389:  * `dvorak`
        !           390:  * `iopener`
        !           391:  * `lk401`
        !           392:  * `metaesc`
        !           393:  * `nodead`
        !           394:  * `swapctrlcaps`
        !           395: 
        !           396: `dvorak` uses the Dvorak keyboard layout. `swapctrlcaps` switches the functions
        !           397: of the Caps Lock and Left Control keys. `iopener` is for the nonstandard
        !           398: keyboard layout on the Netpliance i-opener and makes F1 into Escape and F2
        !           399: through F12 into F1 through F11. These can be combined with another map by
        !           400: appending a dot and then the variant name, for example, `us.iopener`. Multiple
        !           401: variants can be combined, such as `us.dvorak.swapctrlcaps`. Note that not all
        !           402: combinations are allowed.
        !           403: 
        !           404: You can change the compiled in kernel default by adding `options
        !           405: PCKBD_LAYOUT=KB_encoding` where `encoding` is an uppercase entry from the list
        !           406: above (eg: `PCKBD_LAYOUT=KB_FR`). Variants can be bitwise or'd in (eg:
        !           407: `PCKBD_LAYOUT=KB_US|KB_SWAPCTRLCAPS`).
        !           408: 
        !           409: Configuring the keyboard layout under X is described
        !           410: [elsewhere](http://www.NetBSD.org/docs/x/#x-keyboard-maps).
        !           411: 
        !           412: ##### Hacking wscons to add a keymap
        !           413: 
        !           414: If your favourite keymap is not supported, you can start digging in
        !           415: [`src/sys/dev/wscons/wsksymdef.h`](http://cvsweb.NetBSD.org/bsdweb.cgi/src/sys/dev/wscons/wsksymdef.h?rev=HEAD&content-type=text/x-cvsweb-markup)
        !           416: and
        !           417: [`src/sys/dev/pckbport/wskbdmap_mfii.c`](http://cvsweb.NetBSD.org/bsdweb.cgi/src/sys/dev/pckbport/wskbdmap_mfii.c?rev=HEAD&content-type=text/x-cvsweb-markup)
        !           418: to make your own. Be sure to
        !           419: [send-pr](http://www.NetBSD.org/support/send-pr.html#submitting) a
        !           420: change-request PR with your work, so others can make use of it!
        !           421: 
        !           422: You can test your keymap by using `wsconsctl` instead of directly hacking the
        !           423: keymaps into the keyboard mapping file. For example, to say keycode 51 without
        !           424: any modifiers should map to a comma, with shift it should map to a question
        !           425: mark, with alt it should map to a semicolon and with both alt and shift it
        !           426: should map to colon, issue the following command:
        !           427: 
        !           428:     wsconsctl -w "map += keycode 51=comma question semicolon colon"
        !           429: 
        !           430: #### Changing the keyboard repeat speed
        !           431: 
        !           432: Keyboard repeat speed can be tuned using the
        !           433: [wsconsctl(8)](http://netbsd.gw.com/cgi-bin/man-cgi?wsconsctl+8+NetBSD-5.0.1+i386)
        !           434: utility. There are two variables of interest: `repeat.del1`, which specifies the
        !           435: delay before character repetition starts, and `repeat.deln`, which sets the
        !           436: delay between each character repetition (once started).
        !           437: 
        !           438: Let's see an example, assuming you want to accelerate keyboard speed. You could
        !           439: do, from the command line:
        !           440: 
        !           441:     wsconsctl -w repeat.del1=300
        !           442:     wsconsctl -w repeat.deln=40
        !           443: 
        !           444: Or, if you want this to happen automatically every time you boot up the system,
        !           445: you could add the following lines to `/etc/wscons.conf`:
        !           446: 
        !           447:     setvar repeat.del1=300
        !           448:     setvar repeat.deln=40
        !           449: 
        !           450: ### wsmouse
        !           451: 
        !           452: #### Serial mouse support
        !           453: 
        !           454: The wsmouse device (part of wscons) does not directly support serial mice. The
        !           455: [moused(8)](http://netbsd.gw.com/cgi-bin/man-cgi?moused+8+NetBSD-5.0.1+i386)
        !           456: daemon is provided to read serial mouse data, convert it into wsmouse events and
        !           457: inject them in wscons' event queue, so the mouse can be used through the
        !           458: abstraction layer provided by wsmouse.
        !           459: 
        !           460: A typical use can be: `moused -p /dev/tty00`. This will try to determine the
        !           461: type of mouse connected to the first serial port and start reading its data. The
        !           462: [moused(8)](http://netbsd.gw.com/cgi-bin/man-cgi?moused+8+NetBSD-5.0.1+i386) man
        !           463: page contains more examples.
        !           464: 
        !           465: #### Cut&paste on the console with wsmoused
        !           466: 
        !           467: It is possible to use the mouse on the wscons console to mark (cut) text with
        !           468: one mouse button, and insert (paste) it again with another button.
        !           469: 
        !           470: To do this, enable `wsmoused` in `/etc/rc.conf`, and start it:
        !           471: 
        !           472:     # echo wsmoused=yes >>/etc/rc.conf
        !           473:     # sh /etc/rc.d/wsmoused start
        !           474: 
        !           475: After that you can use the mouse to mark text with the left mouse button, and
        !           476: paste it with the right one. To tune the behaviour of
        !           477: [wsmoused(8)](http://netbsd.gw.com/cgi-bin/man-cgi?wsmoused+8+NetBSD-5.0.1+i386)
        !           478: see its manpage, which also describes the format of the
        !           479: [wsmoused.conf(5)](http://netbsd.gw.com/cgi-bin/man-cgi?wsmoused.conf+5+NetBSD-5.0.1+i386)
        !           480: config file, an example of which can be found in `/usr/share/examples/wsmoused`.
        !           481: 

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb