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.
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: