Input Device Driver ioctl Operations

The keyboard special file supports the ioctl operations listed below. Because configuration information is shared between channels, certain ioctl operations such as the KSTRATE (set typematic rate) ioctl operation affect both channels regardless of which channel the request is received from.

Operation Description
IOCINFO Returns devinfo structure.
KSQUERYID Queries keyboard device identifier.
KSQUERYSV Queries keyboard service vector.
KSREGRING Registers input ring.
KSRFLUSH Flushes input ring.
KSLED Illuminates and darkens LEDs on the keyboard.
KSCFGCLICK Configures the keyboard clicker.
KSVOLUME Sets alarm volume.
KSALARM Sounds alarm.
KSTRATE Sets typematic rate.
KSTDELAY Sets typematic delay.
KSKAP Enables/disables keep alive poll.
KSKAPACK Acknowledges keep alive poll.
KSDIAGMODE Enables/disables diagnostics mode.
MQUERYID Queries mouse device identifier.
MREGRING Registers input ring.
MRFLUSH Flushes input ring.
MTHRESHOLD Sets mouse reporting threshold.
MRESOLUTION Sets mouse resolution.
MSCALE Sets mouse scale factor.
MSAMPLERATE Sets mouse sample rate.
TABQUERYID Queries tablet device identifier.
TABREGRING Registers input ring.
TABRFLUSH Flushes input ring.
TABCONVERSION Sets tablet conversion mode.
TABRESOLUTION Sets tablet resolution.
TABORIGIN Sets tablet origin.
TABSAMPLERATE Sets tablet sample rate.
TABDEADZONE Sets tablet dead zone.
GIOQUERYID Queries attached devices.
DIALREGRING Registers input ring.
DIALRFLUSH Flushes input ring.
DIALSETGRAND Sets dial granularity.
LPFKREGRING Registers input ring.
LPFKRFLUSH Flushes input ring.
LPFKLIGHT Sets/resets key lights.

The following ioctl operations are ignored (return immediately with a good return code) when sent to a channel which is not active, and return an EBUSY error code if the keyboard is in diagnostics mode:

KSLED
KSCFGCLICK
KSVOLUME
KSALARM
KSTRATE
KSTDELAY