USBKBM(4M) USBKBM(4M)


NAME


usbkbm - keyboard STREAMS module for Sun USB Keyboard

SYNOPSIS




open("/dev/kbd", O_RDWR)


DESCRIPTION


The usbkbm STREAMS module processes byte streams generated by a keyboard
attached to a USB port. USB keyboard is a member of Human Interface
Device (HID) Class, and usbkbm only supports the keyboard protocol
defined in the specification. Definitions for altering keyboard
translation and reading events from the keyboard are in <sys/kbio.h> and
<sys/kbd.h>.


The usbkbm STREAMS module adheres to the interfaces exported by kb(4M).
Refer to the DESCRIPTION section of kb(4M) for a discussion of the
keyboard translation modes and the IOCTL section for the supported
ioctl(2) requests.

IOCTLS


USB Keyboard usbkbm returns different values for the following ioctls
than kb(4M):

KIOCTYPE
This ioctl() returns a new keyboard type defined for the USB
keyboard. All types are listed below:


KB_SUN3 Sun Type 3 keyboard
KB_SUN4 Sun Type 4 keyboard
KB_ASCII ASCII terminal masquerading as keyboard
KB_PC Type 101 PC keyboard
KB_USB USB keyboard


The USB keyboard type is KB_USB; usbkbm will return KB_USB in response to
the KIOCTYPE ioctl.

KIOCLAYOUT
The argument is a pointer to an int. The layout code
specified by the bCountryCode value returned in the HID
descriptor is returned in the int pointed to by the
argument. The countrycodes are defined in 6.2.1 of the HID
1.0 specifications.


KIOCCMD

KBD_CMD_CLICK/KBD_CMD_NOCLICK

The kb(4M) indicates that inappropriate commands for
particular keyboards are ignored. Because clicking is
not supported on the USB keyboard, usbkbm ignores this
command


KBD_CMD_SETLED

Set keyboard LEDs. Same as kb(4M).


KBD_CMD_GETLAYOUT

The country codes defined in 6.2.1 of the HID 1.0
specification are returned.


KBD_CMD_BELL/KBD_CMD_NOBELL

This command is supported although the USB keyboard
does not have a buzzer. The request for the bell is
rerouted.


KBD_CMD_RESET

There is no notion of resetting the keyboard as there
is for the type4 keyboard. usbkbm ignores this command
and does not return an error.


FILES


/kernel/strmod/usbkbm

32-bit ELF kernel STREAMS module (x86 platform only)


/kernel/strmod/sparcv9/usbkbm

SPARC 64-bit ELF kernel STREAMS module


ATTRIBUTES


See attributes(7) for a description of the following attributes:


+---------------+--------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+--------------------+
|Architecture | PCI-based systems |
+---------------+--------------------+

SEE ALSO


dumpkeys(1), kbd(1), loadkeys(1), ioctl(2), hid(4D), usba(4D),
virtualkm(4D), kb(4M), keytables(5), attributes(7)


STREAMS Programming Guide


System Administration Guide: Basic Administration

DIAGN0STICS
None


May 13, 2017 USBKBM(4M)