1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
4 <meta http-equiv=
"Content-Type" content=
"text/html;charset=iso-8859-1">
5 <title>File Index
</title>
6 <link href=
"doxygen.css" rel=
"stylesheet" type=
"text/css">
9 <!-- Generated by Doxygen 1.3.4 -->
10 <div class=
"qindex"><a class=
"qindex" href=
"main.html">Main
Page
</a> |
<a class=
"qindex" href=
"classes.html">Alphabetical
List
</a> |
<a class=
"qindex" href=
"annotated.html">Data
Structures
</a> |
<a class=
"qindex" href=
"files.html">File
List
</a> |
<a class=
"qindex" href=
"functions.html">Data
Fields
</a> |
<a class=
"qindex" href=
"globals.html">Globals
</a></div>
11 <h1>usb-keyboard.c File Reference
</h1><code>#include
"atKeynames.h"</code><br>
12 <code>#include
"<a class="el
" href="usb-private_8h-source.html
">usb-private.h</a>"</code><br>
13 <code>#include
"<a class="el
" href="usb-keyboard_8h-source.html
">usb-keyboard.h</a>"</code><br>
14 <table border=
0 cellpadding=
0 cellspacing=
0>
16 <tr><td colspan=
2><br><h2>Functions
</h2></td></tr>
17 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"usb-keyboard_8c.html#a20">kbdUSBCtrl
</a> (DevicePtr pDev, KeybdCtrl *ctrl)
</td></tr>
19 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"usb-keyboard_8c.html#a21">kbdUSBInit
</a> (DevicePtr pDev)
</td></tr>
21 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"usb-keyboard_8c.html#a23">kbdUSBRead
</a> (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)
</td></tr>
23 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>int
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"usb-keyboard_8c.html#a24">kbdUSBOn
</a> (DevicePtr pDev)
</td></tr>
25 <tr><td class=
"memItemLeft" nowrap align=right valign=top
>void
</td><td class=
"memItemRight" valign=bottom
><a class=
"el" href=
"usb-keyboard_8c.html#a26">kbdUSBGetInfo
</a> (DevicePtr pDev,
<a class=
"el" href=
"struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr
</a> info)
</td></tr>
28 <hr><a name=
"_details"></a><h2>Detailed Description
</h2>
29 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.
<hr><h2>Function Documentation
</h2>
30 <a class=
"anchor" name=
"a20" doxytag=
"usb-keyboard.c::kbdUSBCtrl" ></a><p>
31 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
34 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
36 <td class=
"md" nowrap
valign=
"top"> void kbdUSBCtrl
</td>
37 <td class=
"md" valign=
"top">(
</td>
38 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
39 <td class=
"mdname" nowrap
> <em>pDev
</em>,
</td>
44 <td class=
"md" nowrap
>KeybdCtrl *
</td>
45 <td class=
"mdname" nowrap
> <em>ctrl
</em></td>
49 <td class=
"md">)
</td>
50 <td class=
"md" colspan=
"2"></td>
57 <table cellspacing=
5 cellpadding=
0 border=
0>
68 <a class=
"anchor" name=
"a26" doxytag=
"usb-keyboard.c::kbdUSBGetInfo" ></a><p>
69 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
72 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
74 <td class=
"md" nowrap
valign=
"top"> void kbdUSBGetInfo
</td>
75 <td class=
"md" valign=
"top">(
</td>
76 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
77 <td class=
"mdname" nowrap
> <em>pDev
</em>,
</td>
82 <td class=
"md" nowrap
><a class=
"el" href=
"struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr
</a> </td>
83 <td class=
"mdname" nowrap
> <em>info
</em></td>
87 <td class=
"md">)
</td>
88 <td class=
"md" colspan=
"2"></td>
95 <table cellspacing=
5 cellpadding=
0 border=
0>
103 Fill the
<em>info
</em> structure with information needed to initialize
<em>pDev
</em>.
</td>
106 <a class=
"anchor" name=
"a21" doxytag=
"usb-keyboard.c::kbdUSBInit" ></a><p>
107 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
110 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
112 <td class=
"md" nowrap
valign=
"top"> void kbdUSBInit
</td>
113 <td class=
"md" valign=
"top">(
</td>
114 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
115 <td class=
"mdname1" valign=
"top" nowrap
> <em>pDev
</em> </td>
116 <td class=
"md" valign=
"top"> )
</td>
117 <td class=
"md" nowrap
></td>
124 <table cellspacing=
5 cellpadding=
0 border=
0>
132 Initialize
<em>pDev
</em> using
<a class=
"el" href=
"usb-common_8h.html#a6">usbInit
</a>.
</td>
135 <a class=
"anchor" name=
"a24" doxytag=
"usb-keyboard.c::kbdUSBOn" ></a><p>
136 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
139 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
141 <td class=
"md" nowrap
valign=
"top"> int kbdUSBOn
</td>
142 <td class=
"md" valign=
"top">(
</td>
143 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
144 <td class=
"mdname1" valign=
"top" nowrap
> <em>pDev
</em> </td>
145 <td class=
"md" valign=
"top"> )
</td>
146 <td class=
"md" nowrap
></td>
153 <table cellspacing=
5 cellpadding=
0 border=
0>
161 Turn
<em>pDev
</em> on (i.e., take input from
<em>pDev
</em>).
</td>
164 <a class=
"anchor" name=
"a23" doxytag=
"usb-keyboard.c::kbdUSBRead" ></a><p>
165 <table class=
"mdTable" width=
"100%" cellpadding=
"2" cellspacing=
"0">
168 <table cellpadding=
"0" cellspacing=
"0" border=
"0">
170 <td class=
"md" nowrap
valign=
"top"> void kbdUSBRead
</td>
171 <td class=
"md" valign=
"top">(
</td>
172 <td class=
"md" nowrap
valign=
"top">DevicePtr
</td>
173 <td class=
"mdname" nowrap
> <em>pDev
</em>,
</td>
178 <td class=
"md" nowrap
>MOTIONPROC
</td>
179 <td class=
"mdname" nowrap
> <em>motion
</em>,
</td>
184 <td class=
"md" nowrap
>ENQUEUEPROC
</td>
185 <td class=
"mdname" nowrap
> <em>enqueue
</em>,
</td>
190 <td class=
"md" nowrap
>CHECKPROC
</td>
191 <td class=
"mdname" nowrap
> <em>checkspecial
</em>,
</td>
196 <td class=
"md" nowrap
>BLOCK
</td>
197 <td class=
"mdname" nowrap
> <em>block
</em></td>
201 <td class=
"md">)
</td>
202 <td class=
"md" colspan=
"2"></td>
209 <table cellspacing=
5 cellpadding=
0 border=
0>
217 Read an event from the
<em>pDev
</em> device. If the event is a motion event, enqueue it with the
<em>motion
</em> function. Otherwise, check for special keys with the
<em>checkspecial
</em> function and enqueue the event with the
<em>enqueue
</em> function. The
<em>block
</em> type is passed to the functions so that they may block SIGIO handling as appropriate to the caller of this function.
</td>
223 Generated June
29,
2004 for
<a
224 href=
"http://dmx.sourceforge.net">Distributed Multihead X
</a> by
225 <a href=
"http://www.doxygen.org/index.html">doxygen
</a>