Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

# usb-keyboard.c File Reference

`#include "atKeynames.h"`
`#include "usb-private.h"`
`#include "usb-keyboard.h"`

## Functions
void | kbdUSBCtrl (DevicePtr pDev, KeybdCtrl *ctrl)
void | kbdUSBInit (DevicePtr pDev)
void | kbdUSBRead (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)
int | kbdUSBOn (DevicePtr pDev)
void | kbdUSBGetInfo (DevicePtr pDev, DMXLocalInitInfoPtr info)

## Detailed Description

This code implements a low-level device driver for a USB keyboard under Linux. The keymap description is derived from code by Thomas Roell, Orest Zborowski.

## Function Documentation

void kbdUSBCtrl | ( | DevicePtr | pDev,
|  | KeybdCtrl * | ctrl
| ) |

| Set the LEDs.

void kbdUSBGetInfo | ( | DevicePtr | pDev,
|  | DMXLocalInitInfoPtr | info
| ) |

| Fill the info structure with information needed to initialize pDev.

void kbdUSBInit | ( | DevicePtr | pDev | ) |

| Initialize pDev using usbInit.

int kbdUSBOn | ( | DevicePtr | pDev | ) |

| Turn pDev on (i.e., take input from pDev).

void kbdUSBRead | ( | DevicePtr | pDev,
|  | MOTIONPROC | motion,
|  | ENQUEUEPROC | enqueue,
|  | CHECKPROC | checkspecial,
|  | BLOCK | block
| ) |

| Read an event from the pDev device. If the event is a motion event, enqueue it with the motion function. Otherwise, check for special keys with the checkspecial function and enqueue the event with the enqueue function. The block type is passed to the functions so that they may block SIGIO handling as appropriate to the caller of this function.