Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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/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
Availability
system/io/usb

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

https://www.usb.org/