1 '\" te
   2 .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
   3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6 .TH KBD 1 "Jan 29, 2007"
   7 .SH NAME
   8 kbd \- manipulate the state of keyboard, or display the type of keyboard, or
   9 change the default keyboard abort sequence effect
  10 .SH SYNOPSIS
  11 .LP
  12 .nf
  13 \fBkbd\fR [\fB-r\fR] [\fB-t\fR ] [\fB-l\fR] [\fB-a\fR enable | disable | alternate]
  14      [\fB-c\fR on | off] [\fB-d\fR \fIkeyboard device\fR]
  15      [\fB-D\fR \fIautorepeat delay\fR] [\fB-R\fR \fIautorepeat rate\fR]
  16 .fi
  17 
  18 .LP
  19 .nf
  20 \fBkbd\fR [\fB-i\fR] [\fB-d\fR \fIkeyboard device\fR]
  21 .fi
  22 
  23 .LP
  24 .nf
  25 \fBkbd\fR \fB-s\fR [\fIlanguage\fR]
  26 .fi
  27 
  28 .LP
  29 .nf
  30 \fBkbd\fR \fB-b\fR [\fBkeyboard\fR | \fBconsole\fR] \fIfrequency\fR
  31 .fi
  32 
  33 .SH DESCRIPTION
  34 .LP
  35 The \fBkbd\fR utility manipulates the state of the keyboard, or displays the
  36 keyboard type, or allows the default keyboard abort sequence effect to be
  37 changed. The abort sequence also applies to serial console devices. The
  38 \fBkbd\fR utility sets the \fB/dev/kbd\fR default keyboard device.
  39 .SH EXTENDED DESCRIPTION
  40 .LP
  41 The \fB-i\fR option reads and processes default values for the keyclick and
  42 keyboard abort settings from the \fB/etc/default/kbd\fR keyboard default file.
  43 Only keyboards that support a clicker respond to the \fB-c\fR option. To turn
  44 clicking on by default, add or change the value of the \fBKEYCLICK\fR variable
  45 in the \fB/etc/default/kbd\fR file to:
  46 .sp
  47 .in +2
  48 .nf
  49 KEYCLICK=on
  50 .fi
  51 .in -2
  52 .sp
  53 
  54 .sp
  55 .LP
  56 Next, run the command \fBkbd\fR \fB-i\fR to change the setting. Valid settings
  57 for the \fBKEYCLICK\fR variable are \fBon\fR and \fBoff\fR; all other values
  58 are ignored. If the \fBKEYCLICK\fR variable is not specified in the default
  59 file, the setting is unchanged.
  60 .sp
  61 .LP
  62 The keyboard abort sequence effect can only be changed by a super-user using
  63 the \fB-a\fR option. This sequence is typically Stop-A or L1-A and Shift-Pause
  64 on the keyboard on \fBSPARC\fR systems, F1-A and Shift-Pause on x86 systems,
  65 and BREAK on the serial console input device on most systems.
  66 .sp
  67 .LP
  68 A \fBBREAK\fR condition that originates from an erroneous electrical signal
  69 cannot be distinguished from one deliberately sent by remote \fBDCE\fR. As a
  70 remedy, use the \fB-a\fR option with Alternate Break to switch break
  71 interpretation. Due to the risk of incorrect sequence interpretation, binary
  72 protocols such as \fBSLIP\fR and others should not be run over the serial
  73 console port when Alternate Break sequence is in effect.
  74 .sp
  75 .LP
  76 Although PPP is a binary protocol, it has the ability to avoid using characters
  77 that interfere with serial operation. The default alternate break sequence is
  78 CTRL-m \fB~\fR CTRL-b, or \fB0D 7E 02\fR in hexidecimal. In PPP, this can be
  79 avoided by setting either \fB0x00000004\fR or \fB0x00002000\fR in the ACCM.
  80 This forces an escape for the CTRL-b or CTRL-m characters, respectively.
  81 .sp
  82 .LP
  83 To do this in Solaris PPP 4.0, add:
  84 .sp
  85 .in +2
  86 .nf
  87 asyncmap 0x00002000
  88 .fi
  89 .in -2
  90 .sp
  91 
  92 .sp
  93 .LP
  94 to the \fB/etc/ppp/options\fR file or any of the other configuration files used
  95 for the connection. See \fBpppd\fR(1M).
  96 .sp
  97 .LP
  98 SLIP has no comparable capability, and must not be used if the Alternate Break
  99 sequence is in use.
 100 .sp
 101 .LP
 102 The Alternate Break sequence has no effect on the keyboard abort. For more
 103 information on the Alternate Break sequence, see \fBzs\fR(7D), \fBse\fR(7D),
 104 and \fBasy\fR(7D).
 105 .sp
 106 .LP
 107 On many systems, the default effect of the keyboard abort sequence is to
 108 suspend the operating system and enter the debugger or the monitor. Some
 109 systems feature key switches with a \fBsecure\fR position. On these systems,
 110 setting the key switch to the \fBsecure\fR position overrides any software
 111 default set with this command.
 112 .sp
 113 .LP
 114 To permanently change the software default effect of the keyboard abort
 115 sequence, first add or change the value of the \fBKEYBOARD_ABORT\fR variable in
 116 the \fB/etc/default/kbd\fR file to:
 117 .sp
 118 .in +2
 119 .nf
 120 KEYBOARD_ABORT=disable
 121 .fi
 122 .in -2
 123 .sp
 124 
 125 .sp
 126 .LP
 127 Next, run the command \fBkbd\fR \fB-i\fR to change the setting. Valid settings
 128 are \fBenable\fR, \fBdisable\fR, and \fBalternate\fR; all other values are
 129 ignored. If the variable is not specified in the default file, the setting is
 130 unchanged.
 131 .sp
 132 .LP
 133 To set the abort sequence to the hardware BREAK, set the value of the
 134 \fBKEYBOARD_ABORT\fR variable in the \fB/etc/default/kbd\fR file to:
 135 .sp
 136 .in +2
 137 .nf
 138 KEYBOARD_ABORT=enable
 139 .fi
 140 .in -2
 141 .sp
 142 
 143 .sp
 144 .LP
 145 To change the current setting, run the command \fBkbd\fR \fB-i\fR. To set the
 146 abort sequence to the Alternate Break character sequence, first set the current
 147 value of the \fBKEYBOARD_ABORT\fR variable in the \fB/etc/default/kbd\fR file
 148 to:
 149 .sp
 150 .in +2
 151 .nf
 152 KEYBOARD_ABORT=alternate
 153 .fi
 154 .in -2
 155 .sp
 156 
 157 .sp
 158 .LP
 159 Next, run the command \fBkbd\fR \fB-i\fR to change the setting. When the
 160 Alternate Break sequence is in effect, only serial console devices are
 161 affected.
 162 .sp
 163 .LP
 164 To set the autorepeat delay by default, set the \fBREPEAT_DELAY\fR variable in
 165 the file \fB/etc/default/kbd\fR to the expected value with units in
 166 milliseconds (ms). To avoid making the keyboard unusable due to a typographical
 167 error, delay values below \fBKIOCRPTDELAY_MIN\fR (defined in
 168 \fB/usr/include/sys/kbio.h\fR) are rejected with \fBEINVAL\fR:
 169 .sp
 170 .in +2
 171 .nf
 172 REPEAT_DELAY=500
 173 .fi
 174 .in -2
 175 .sp
 176 
 177 .sp
 178 .LP
 179 To set the autorepeat rate by default, set the \fBREPEAT_RATE\fR variable in
 180 the file \fB/etc/default/kbd\fR to the expected value with units in
 181 milliseconds. Negative and zero repeat rates are ejected with \fBEINVAL\fR:
 182 .sp
 183 .in +2
 184 .nf
 185 REPEAT_RATE=33
 186 .fi
 187 .in -2
 188 .sp
 189 
 190 .sp
 191 .LP
 192 To change the current settings of \fIdelay\fR and \fIrate\fR, run the command,
 193 \fBkbd\fR \fB-i\fR. When the Auto Repeat Delay and/or Auto Repeat Rate are in
 194 effect, only command line mode is affected.
 195 .sp
 196 .LP
 197 To set the language by default, set the \fBLAYOUT\fR variable in the file
 198 \fB/etc/default/kbd\fR to the expected language. These languages supported in
 199 kernel can be found by running \fBkbd\fR \fB-s\fR. Other values are ignored.
 200 For example, the following sets Spanish layout to the keyboard:
 201 .sp
 202 .in +2
 203 .nf
 204 LAYOUT=Spanish
 205 .fi
 206 .in -2
 207 .sp
 208 
 209 .sp
 210 .LP
 211 Next, run the \fBkbd\fR \fB-i\fR to change the setting. When Solaris reboots,
 212 the Spanish key table is loaded into the kernel. These layouts are valid for
 213 \fBusb\fR and \fBps/2\fR keyboards.
 214 .sp
 215 .LP
 216 To set the keyboard beeper frequency by default, set the \fBKBD_BEEPER_FREQ\fR
 217 variable in the file \fB/etc/default/kbd\fR to the expected value with units in
 218 HZ. This value should be between 0 and 32767, inclusive. Otherwise will be
 219 rejected with \fBEINVAL\fR:
 220 .sp
 221 .in +2
 222 .nf
 223 KBD_BEEPER_FREQ=2000
 224 .fi
 225 .in -2
 226 .sp
 227 
 228 .sp
 229 .LP
 230 To set the console beeper frequency by default, set the
 231 \fBCONSOLE_BEEPER_FREQ\fR variable in the file \fB/etc/default/kbd\fR to the
 232 expected value with units in HZ. This value should be between 0 and 32767,
 233 inclusive. Otherwise will be rejected with \fBEINVAL\fR:
 234 .sp
 235 .in +2
 236 .nf
 237 CONSOLE_BEEPER_FREQ=900
 238 .fi
 239 .in -2
 240 .sp
 241 
 242 .sp
 243 .LP
 244 To change the current settings of keyboard beeper frequency and console beeper
 245 frequency, run \fBkbd\fR \fB-i\fR.
 246 .SH OPTIONS
 247 .LP
 248 The following options are supported:
 249 .sp
 250 .ne 2
 251 .na
 252 \fB\fB-a\fR \fBenable\fR | \fBdisable\fR | \fBalternate\fR\fR
 253 .ad
 254 .sp .6
 255 .RS 4n
 256 Enables, disables, or alternates the keyboard abort sequence effect. By
 257 default, a keyboard abort sequence suspends the operating system on most
 258 systems. This sequence is typically Stop-A or L1-A and Shift-Pause on the
 259 keyboard on \fBSPARC\fR systems, F1-A and Shift-Pause on x86 systems, and BREAK
 260 on the serial console device.
 261 .sp
 262 The default keyboard behavior can be changed using this option. The \fB-a\fR
 263 option can only be used by a super-user.
 264 .sp
 265 .ne 2
 266 .na
 267 \fB\fBenable\fR\fR
 268 .ad
 269 .RS 13n
 270 Enables the default effect of the keyboard abort sequence (suspend the
 271 operating system and enter the debugger or the monitor).
 272 .RE
 273 
 274 .sp
 275 .ne 2
 276 .na
 277 \fB\fBdisable\fR\fR
 278 .ad
 279 .RS 13n
 280 Disables the default/alternate effect and ignores keyboard abort sequences.
 281 .RE
 282 
 283 .sp
 284 .ne 2
 285 .na
 286 \fB\fBalternate\fR\fR
 287 .ad
 288 .RS 13n
 289 Enables the alternate effect of the keyboard abort sequences (suspend the
 290 operating system and enter the debugger or the monitor) upon receiving the
 291 Alternate Break character sequence on the console. The Alternate Break sequence
 292 is defined by the drivers \fBzs\fR(7D), \fBse\fR(7D), \fBasy\fR(7D). Due to a
 293 risk of incorrect sequence interpretation, binary protocols cannot be run over
 294 the serial console port when this value is used.
 295 .RE
 296 
 297 .RE
 298 
 299 .sp
 300 .ne 2
 301 .na
 302 \fB\fB-b\fR \fBkeyboard\fR | \fBconsole\fR\fR
 303 .ad
 304 .sp .6
 305 .RS 4n
 306 Sets the beeper frequency for keyboard or console.
 307 .sp
 308 .ne 2
 309 .na
 310 \fB\fBkeyboard\fR\fR
 311 .ad
 312 .RS 12n
 313 Set the keyboard beeper frequency to the operand in HZ. See \fBOPERANDS\fR.
 314 .RE
 315 
 316 .sp
 317 .ne 2
 318 .na
 319 \fB\fBconsole\fR\fR
 320 .ad
 321 .RS 12n
 322 Sets the console beeper frequency to the operand in HZ. See \fBOPERANDS\fR.
 323 .RE
 324 
 325 .RE
 326 
 327 .sp
 328 .ne 2
 329 .na
 330 \fB\fB-c\fR \fBon\fR | \fBoff\fR\fR
 331 .ad
 332 .sp .6
 333 .RS 4n
 334 Turns the clicking of the keyboard on or off.
 335 .sp
 336 .ne 2
 337 .na
 338 \fB\fBon\fR\fR
 339 .ad
 340 .RS 7n
 341 Enables clicking
 342 .RE
 343 
 344 .sp
 345 .ne 2
 346 .na
 347 \fB\fBoff\fR\fR
 348 .ad
 349 .RS 7n
 350 Disables clicking
 351 .RE
 352 
 353 .RE
 354 
 355 .sp
 356 .ne 2
 357 .na
 358 \fB\fB-d\fR \fIkeyboard device\fR\fR
 359 .ad
 360 .sp .6
 361 .RS 4n
 362 Specifies the keyboard device being set. The default setting is \fB/dev/kbd\fR.
 363 .RE
 364 
 365 .sp
 366 .ne 2
 367 .na
 368 \fB\fB-D\fR \fIautorepeat delay\fR\fR
 369 .ad
 370 .sp .6
 371 .RS 4n
 372 Sets the autorepeat delay in milliseconds.
 373 .RE
 374 
 375 .sp
 376 .ne 2
 377 .na
 378 \fB\fB-i\fR\fR
 379 .ad
 380 .sp .6
 381 .RS 4n
 382 Sets keyboard properties from the keyboard default file. With the exception of
 383 \fB-d\fR \fIkeyboard device\fR, this option cannot be used with any other
 384 option. The \fB-i\fR option instructs the keyboard command to read and process
 385 keyclick and keyboard abort default values from the \fB/etc/default/kbd\fR
 386 file. The \fB-i\fR option can only be used by a user or role with the Device
 387 Security Rights Profile.
 388 .RE
 389 
 390 .sp
 391 .ne 2
 392 .na
 393 \fB\fB-l\fR\fR
 394 .ad
 395 .sp .6
 396 .RS 4n
 397 Returns the layout code of the keyboard being used, and the autorepeat delay
 398 and autorepeat rate being used.
 399 .sp
 400 If used with -R or -D option, this option returns the value before the changes.
 401 .RE
 402 
 403 .sp
 404 .ne 2
 405 .na
 406 \fB\fB-r\fR\fR
 407 .ad
 408 .sp .6
 409 .RS 4n
 410 Resets the keyboard as if power-up.
 411 .RE
 412 
 413 .sp
 414 .ne 2
 415 .na
 416 \fB\fB-R\fR \fIautorepeat rate\fR\fR
 417 .ad
 418 .sp .6
 419 .RS 4n
 420 Sets the autorepeat rate in milliseconds.
 421 .RE
 422 
 423 .sp
 424 .ne 2
 425 .na
 426 \fB\fB\fR\fB-s\fR \fB[\fR\fIlanguage\fR\fB]\fR\fR
 427 .ad
 428 .sp .6
 429 .RS 4n
 430 Sets the keyboard layout into the kernel.
 431 .sp
 432 If \fIlanguage\fR is specified, the layout is set to \fIlanguage\fR, and
 433 \fBloadkeys\fR(1) runs implicitly. If \fIlanguage\fR is not specified, a list
 434 of available layouts are presented, prompting for the user to specify the
 435 \fIlanguage\fR. See \fBOPERANDS\fR.
 436 .RE
 437 
 438 .sp
 439 .ne 2
 440 .na
 441 \fB\fB-t\fR\fR
 442 .ad
 443 .sp .6
 444 .RS 4n
 445 Returns the type of the keyboard being used.
 446 .RE
 447 
 448 .SH OPERANDS
 449 .LP
 450 The following operands are supported:
 451 .sp
 452 .ne 2
 453 .na
 454 \fBfrequency\fR
 455 .ad
 456 .RS 13n
 457 The frequency value specified to be set in kernel. The receiver of this value
 458 is specified by the \fB-b\fR option. This value should be between 0 and 32767
 459 otherwise will be ejected with \fBEINVAL\fR.
 460 .RE
 461 
 462 .sp
 463 .ne 2
 464 .na
 465 \fBlanguage\fR
 466 .ad
 467 .RS 13n
 468 The language specified to be set in kernel. If the language is not found, the
 469 languages supported are listed for selection. It only applies to \fB-s\fR
 470 option.
 471 .RE
 472 
 473 .SH EXAMPLES
 474 .LP
 475 \fBExample 1 \fRDisplaying the Keyboard Type
 476 .sp
 477 .LP
 478 The following example displays the keyboard type:
 479 
 480 .sp
 481 .in +2
 482 .nf
 483 example% kbd -t
 484 Type 4 Sun keyboard
 485 example%
 486 .fi
 487 .in -2
 488 .sp
 489 
 490 .LP
 491 \fBExample 2 \fRSetting Keyboard Defaults
 492 .sp
 493 .LP
 494 The following example sets the keyboard defaults as specified in the keyboard
 495 default file:
 496 
 497 .sp
 498 .in +2
 499 .nf
 500 example# kbd -i
 501 example#
 502 .fi
 503 .in -2
 504 .sp
 505 
 506 .LP
 507 \fBExample 3 \fRDisplaying Information
 508 .sp
 509 .LP
 510 The following example displays keyboard type and layout code. It also displays
 511 auto repeat delay and rate settings.
 512 
 513 .sp
 514 .in +2
 515 .nf
 516 example% kbd -l
 517 type=4
 518 layout=43 (0x2b)
 519 delay(ms)=500
 520 rate(ms)=33
 521 example%
 522 .fi
 523 .in -2
 524 .sp
 525 
 526 .LP
 527 \fBExample 4 \fRSetting Keyboard Autorepeat Delay
 528 .sp
 529 .LP
 530 The following example sets the keyboard autorepeat delay:
 531 
 532 .sp
 533 .in +2
 534 .nf
 535 example% kbd -D 300
 536 example%
 537 .fi
 538 .in -2
 539 .sp
 540 
 541 .LP
 542 \fBExample 5 \fRSetting Keyboard Autorepeat Rate
 543 .sp
 544 .LP
 545 The following example sets the keyboard autorepeat rate:
 546 
 547 .sp
 548 .in +2
 549 .nf
 550 example% kbd -R 50
 551 example%
 552 .fi
 553 .in -2
 554 .sp
 555 
 556 .LP
 557 \fBExample 6 \fRSelecting and Setting the Keyboard Language
 558 .sp
 559 .LP
 560 The following example selects and sets the keyboard language from a list of
 561 languages specified:
 562 
 563 .sp
 564 .in +2
 565 .nf
 566 example% kbd -s
 567 1. Albanian                      16. Malta_UK
 568 2. Belarusian                    17. Malta_US
 569 3. Belgian                       18. Norwegian
 570 4. Bulgarian                     19. Portuguese
 571 5. Croatian                      20. Russian
 572 6. Danish                        21. Serbia-And-Montenegro
 573 7. Dutch                         22. Slove
 574 \&......
 575 
 576 To select the keyboard layout, enter a number [default n]:
 577 
 578 example%
 579 .fi
 580 .in -2
 581 .sp
 582 
 583 .sp
 584 .LP
 585 The following example sets the keyboard language specified:
 586 
 587 .sp
 588 .in +2
 589 .nf
 590 example% kbd -s Dutch
 591 example%
 592 .fi
 593 .in -2
 594 .sp
 595 
 596 .LP
 597 \fBExample 7 \fRSetting the Keyboard Beeper Frequency
 598 .sp
 599 .LP
 600 The following example sets the keyboard beeper frequency:
 601 
 602 .sp
 603 .in +2
 604 .nf
 605 example% kbd -b keyboard 1000
 606 example%
 607 .fi
 608 .in -2
 609 .sp
 610 
 611 .SH FILES
 612 .ne 2
 613 .na
 614 \fB\fB/dev/kbd\fR\fR
 615 .ad
 616 .RS 20n
 617 Keyboard device file.
 618 .RE
 619 
 620 .sp
 621 .ne 2
 622 .na
 623 \fB\fB/etc/default/kbd\fR\fR
 624 .ad
 625 .RS 20n
 626 Keyboard default file containing software defaults for keyboard configurations.
 627 .RE
 628 
 629 .SH SEE ALSO
 630 .LP
 631 \fBloadkeys\fR(1), \fBsvcs\fR(1), \fBinetd\fR(1M), \fBinetadm\fR(1M),
 632 \fBkadb\fR(1M), \fBsvcadm\fR(1M), \fBpppd\fR(1M), \fBkeytables\fR(4),
 633 \fBattributes\fR(5), \fBsmf\fR(5), \fBkb\fR(7M), \fBzs\fR(7D), \fBse\fR(7D),
 634 \fBasy\fR(7D), \fBvirtualkm\fR(7D)
 635 .SH NOTES
 636 .LP
 637 Some server systems have key switches with a \fBsecure\fR key position that can
 638 be read by system software. This key position overrides the normal default of
 639 the keyboard abort sequence effect and changes the default so the effect is
 640 disabled. When the key switch is in the \fBsecure\fR position on these systems,
 641 the keyboard abort sequence effect cannot be overridden by the software
 642 default, which is settable with the \fBkbd\fR utility.
 643 .sp
 644 .LP
 645 Currently, there is no way to determine the state of the keyboard click
 646 setting.
 647 .sp
 648 .LP
 649 The \fBkdb\fR service is managed by the service management facility,
 650 \fBsmf\fR(5), under the service identifier:
 651 .sp
 652 .in +2
 653 .nf
 654 svc:/system/keymap:default
 655 .fi
 656 .in -2
 657 .sp
 658 
 659 .sp
 660 .LP
 661 Administrative actions on this service, such as enabling, disabling, or
 662 requesting restart, can be performed using \fBsvcadm\fR(1M). Responsibility for
 663 initiating and restarting this service is delegated to \fBinetd\fR(1M). Use
 664 \fBinetadm\fR(1M) to make configuration changes and to view configuration
 665 information for this service. The service's status can be queried using the
 666 \fBsvcs\fR(1) command.