~ubuntu-branches/ubuntu/intrepid/xserver-xgl/intrepid

« back to all changes in this revision

Viewing changes to hw/dmx/doc/html/lnx-keyboard_8c.html

  • Committer: Bazaar Package Importer
  • Author(s): Matthew Garrett
  • Date: 2006-02-13 14:21:43 UTC
  • Revision ID: james.westby@ubuntu.com-20060213142143-mad6z9xzem7hzxz9
Tags: upstream-7.0.0
ImportĀ upstreamĀ versionĀ 7.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 
2
<html>
 
3
  <head>
 
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">
 
7
  </head>
 
8
  <body>
 
9
<!-- Generated by Doxygen 1.3.4 -->
 
10
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
 
11
<h1>lnx-keyboard.c File Reference</h1><code>#include "<a class="el" href="dmxinputinit_8h-source.html">dmxinputinit.h</a>"</code><br>
 
12
<code>#include "<a class="el" href="lnx-keyboard_8h-source.html">lnx-keyboard.h</a>"</code><br>
 
13
<code>#include "inputstr.h"</code><br>
 
14
<code>#include "Xos.h"</code><br>
 
15
<code>#include &lt;sys/ioctl.h&gt;</code><br>
 
16
<code>#include &lt;errno.h&gt;</code><br>
 
17
<code>#include &lt;signal.h&gt;</code><br>
 
18
<code>#include &lt;sys/vt.h&gt;</code><br>
 
19
<code>#include &lt;sys/kd.h&gt;</code><br>
 
20
<code>#include &lt;termios.h&gt;</code><br>
 
21
<code>#include "atKeynames.h"</code><br>
 
22
<code>#include "xf86Keymap.h"</code><br>
 
23
<code>#include &lt;linux/keyboard.h&gt;</code><br>
 
24
<table border=0 cellpadding=0 cellspacing=0>
 
25
<tr><td></td></tr>
 
26
<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
 
27
<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__myPrivate.html">_myPrivate</a></td></tr>
 
28
 
 
29
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
 
30
<tr><td class="memItemLeft" nowrap align=right valign=top>pointer&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a24">kbdLinuxCreatePrivate</a> (DeviceIntPtr pKeyboard)</td></tr>
 
31
 
 
32
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a25">kbdLinuxDestroyPrivate</a> (pointer priv)</td></tr>
 
33
 
 
34
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a26">kbdLinuxBell</a> (DevicePtr pDev, int percent, int volume, int pitch, int duration)</td></tr>
 
35
 
 
36
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a27">kbdLinuxCtrl</a> (DevicePtr pDev, KeybdCtrl *ctrl)</td></tr>
 
37
 
 
38
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a32">kbdLinuxVTPreSwitch</a> (pointer p)</td></tr>
 
39
 
 
40
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a33">kbdLinuxVTPostSwitch</a> (pointer p)</td></tr>
 
41
 
 
42
<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a34">kbdLinuxVTSwitch</a> (pointer p, int vt, void(*switch_return)(pointer), pointer switch_return_data)</td></tr>
 
43
 
 
44
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a38">kbdLinuxInit</a> (DevicePtr pDev)</td></tr>
 
45
 
 
46
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a42">kbdLinuxRead</a> (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)</td></tr>
 
47
 
 
48
<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a43">kbdLinuxOn</a> (DevicePtr pDev)</td></tr>
 
49
 
 
50
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a44">kbdLinuxOff</a> (DevicePtr pDev)</td></tr>
 
51
 
 
52
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="lnx-keyboard_8c.html#a47">kbdLinuxGetInfo</a> (DevicePtr pDev, <a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> info)</td></tr>
 
53
 
 
54
</table>
 
55
<hr><a name="_details"></a><h2>Detailed Description</h2>
 
56
This code implements a low-level device driver for the Linux keyboard. The code is derived from code by Thomas Roell, Orest Zborowski, and David Dawes (see the source code for complete references).<hr><h2>Function Documentation</h2>
 
57
<a class="anchor" name="a26" doxytag="lnx-keyboard.c::kbdLinuxBell" ></a><p>
 
58
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
59
  <tr>
 
60
    <td class="mdRow">
 
61
      <table cellpadding="0" cellspacing="0" border="0">
 
62
        <tr>
 
63
          <td class="md" nowrap valign="top"> void kbdLinuxBell </td>
 
64
          <td class="md" valign="top">(&nbsp;</td>
 
65
          <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
 
66
          <td class="mdname" nowrap> <em>pDev</em>, </td>
 
67
        </tr>
 
68
        <tr>
 
69
          <td></td>
 
70
          <td></td>
 
71
          <td class="md" nowrap>int&nbsp;</td>
 
72
          <td class="mdname" nowrap> <em>percent</em>, </td>
 
73
        </tr>
 
74
        <tr>
 
75
          <td></td>
 
76
          <td></td>
 
77
          <td class="md" nowrap>int&nbsp;</td>
 
78
          <td class="mdname" nowrap> <em>volume</em>, </td>
 
79
        </tr>
 
80
        <tr>
 
81
          <td></td>
 
82
          <td></td>
 
83
          <td class="md" nowrap>int&nbsp;</td>
 
84
          <td class="mdname" nowrap> <em>pitch</em>, </td>
 
85
        </tr>
 
86
        <tr>
 
87
          <td></td>
 
88
          <td></td>
 
89
          <td class="md" nowrap>int&nbsp;</td>
 
90
          <td class="mdname" nowrap> <em>duration</em></td>
 
91
        </tr>
 
92
        <tr>
 
93
          <td></td>
 
94
          <td class="md">)&nbsp;</td>
 
95
          <td class="md" colspan="2"></td>
 
96
        </tr>
 
97
 
 
98
      </table>
 
99
    </td>
 
100
  </tr>
 
101
</table>
 
102
<table cellspacing=5 cellpadding=0 border=0>
 
103
  <tr>
 
104
    <td>
 
105
      &nbsp;
 
106
    </td>
 
107
    <td>
 
108
 
 
109
<p>
 
110
Ring the bell.<p>
 
111
Note: we completely ignore the <em>volume</em>, since Linux's ioctl() interface does not provide a way to control it. If it did, the XBell manpage tells how the actual volume is a function of the percent and the (base) volume.<p>
 
112
Note that most of the other PC-based bell drivers compute the duration for KDMKTONE as a function of the volume and the duration. For some drivers, the duration is only measured in mS if the volume is 50, and is scaled by the volume for other values. This seems confusing and possibly incorrect (the xset man page says that the bell will be "as closely as it can to the user's specifications" -- if we ignore the volume and set the duration correctly, then we'll get one parameter "wrong" -- but if we use the volume to scale the duration, then we'll get both parameters "wrong").     </td>
 
113
  </tr>
 
114
</table>
 
115
<a class="anchor" name="a24" doxytag="lnx-keyboard.c::kbdLinuxCreatePrivate" ></a><p>
 
116
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
117
  <tr>
 
118
    <td class="mdRow">
 
119
      <table cellpadding="0" cellspacing="0" border="0">
 
120
        <tr>
 
121
          <td class="md" nowrap valign="top"> pointer kbdLinuxCreatePrivate </td>
 
122
          <td class="md" valign="top">(&nbsp;</td>
 
123
          <td class="md" nowrap valign="top">DeviceIntPtr&nbsp;</td>
 
124
          <td class="mdname1" valign="top" nowrap> <em>pKeyboard</em>          </td>
 
125
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
 
126
          <td class="md" nowrap></td>
 
127
        </tr>
 
128
 
 
129
      </table>
 
130
    </td>
 
131
  </tr>
 
132
</table>
 
133
<table cellspacing=5 cellpadding=0 border=0>
 
134
  <tr>
 
135
    <td>
 
136
      &nbsp;
 
137
    </td>
 
138
    <td>
 
139
 
 
140
<p>
 
141
Create a private structure for use within this file.     </td>
 
142
  </tr>
 
143
</table>
 
144
<a class="anchor" name="a27" doxytag="lnx-keyboard.c::kbdLinuxCtrl" ></a><p>
 
145
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
146
  <tr>
 
147
    <td class="mdRow">
 
148
      <table cellpadding="0" cellspacing="0" border="0">
 
149
        <tr>
 
150
          <td class="md" nowrap valign="top"> void kbdLinuxCtrl </td>
 
151
          <td class="md" valign="top">(&nbsp;</td>
 
152
          <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
 
153
          <td class="mdname" nowrap> <em>pDev</em>, </td>
 
154
        </tr>
 
155
        <tr>
 
156
          <td></td>
 
157
          <td></td>
 
158
          <td class="md" nowrap>KeybdCtrl *&nbsp;</td>
 
159
          <td class="mdname" nowrap> <em>ctrl</em></td>
 
160
        </tr>
 
161
        <tr>
 
162
          <td></td>
 
163
          <td class="md">)&nbsp;</td>
 
164
          <td class="md" colspan="2"></td>
 
165
        </tr>
 
166
 
 
167
      </table>
 
168
    </td>
 
169
  </tr>
 
170
</table>
 
171
<table cellspacing=5 cellpadding=0 border=0>
 
172
  <tr>
 
173
    <td>
 
174
      &nbsp;
 
175
    </td>
 
176
    <td>
 
177
 
 
178
<p>
 
179
Set the LEDs.     </td>
 
180
  </tr>
 
181
</table>
 
182
<a class="anchor" name="a25" doxytag="lnx-keyboard.c::kbdLinuxDestroyPrivate" ></a><p>
 
183
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
184
  <tr>
 
185
    <td class="mdRow">
 
186
      <table cellpadding="0" cellspacing="0" border="0">
 
187
        <tr>
 
188
          <td class="md" nowrap valign="top"> void kbdLinuxDestroyPrivate </td>
 
189
          <td class="md" valign="top">(&nbsp;</td>
 
190
          <td class="md" nowrap valign="top">pointer&nbsp;</td>
 
191
          <td class="mdname1" valign="top" nowrap> <em>priv</em>          </td>
 
192
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
 
193
          <td class="md" nowrap></td>
 
194
        </tr>
 
195
 
 
196
      </table>
 
197
    </td>
 
198
  </tr>
 
199
</table>
 
200
<table cellspacing=5 cellpadding=0 border=0>
 
201
  <tr>
 
202
    <td>
 
203
      &nbsp;
 
204
    </td>
 
205
    <td>
 
206
 
 
207
<p>
 
208
Destroy a private structure.     </td>
 
209
  </tr>
 
210
</table>
 
211
<a class="anchor" name="a47" doxytag="lnx-keyboard.c::kbdLinuxGetInfo" ></a><p>
 
212
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
213
  <tr>
 
214
    <td class="mdRow">
 
215
      <table cellpadding="0" cellspacing="0" border="0">
 
216
        <tr>
 
217
          <td class="md" nowrap valign="top"> void kbdLinuxGetInfo </td>
 
218
          <td class="md" valign="top">(&nbsp;</td>
 
219
          <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
 
220
          <td class="mdname" nowrap> <em>pDev</em>, </td>
 
221
        </tr>
 
222
        <tr>
 
223
          <td></td>
 
224
          <td></td>
 
225
          <td class="md" nowrap><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a>&nbsp;</td>
 
226
          <td class="mdname" nowrap> <em>info</em></td>
 
227
        </tr>
 
228
        <tr>
 
229
          <td></td>
 
230
          <td class="md">)&nbsp;</td>
 
231
          <td class="md" colspan="2"></td>
 
232
        </tr>
 
233
 
 
234
      </table>
 
235
    </td>
 
236
  </tr>
 
237
</table>
 
238
<table cellspacing=5 cellpadding=0 border=0>
 
239
  <tr>
 
240
    <td>
 
241
      &nbsp;
 
242
    </td>
 
243
    <td>
 
244
 
 
245
<p>
 
246
Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>.     </td>
 
247
  </tr>
 
248
</table>
 
249
<a class="anchor" name="a38" doxytag="lnx-keyboard.c::kbdLinuxInit" ></a><p>
 
250
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
251
  <tr>
 
252
    <td class="mdRow">
 
253
      <table cellpadding="0" cellspacing="0" border="0">
 
254
        <tr>
 
255
          <td class="md" nowrap valign="top"> void kbdLinuxInit </td>
 
256
          <td class="md" valign="top">(&nbsp;</td>
 
257
          <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
 
258
          <td class="mdname1" valign="top" nowrap> <em>pDev</em>          </td>
 
259
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
 
260
          <td class="md" nowrap></td>
 
261
        </tr>
 
262
 
 
263
      </table>
 
264
    </td>
 
265
  </tr>
 
266
</table>
 
267
<table cellspacing=5 cellpadding=0 border=0>
 
268
  <tr>
 
269
    <td>
 
270
      &nbsp;
 
271
    </td>
 
272
    <td>
 
273
 
 
274
<p>
 
275
Initialize the <em>pDev</em> as a Linux keyboard.     </td>
 
276
  </tr>
 
277
</table>
 
278
<a class="anchor" name="a44" doxytag="lnx-keyboard.c::kbdLinuxOff" ></a><p>
 
279
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
280
  <tr>
 
281
    <td class="mdRow">
 
282
      <table cellpadding="0" cellspacing="0" border="0">
 
283
        <tr>
 
284
          <td class="md" nowrap valign="top"> void kbdLinuxOff </td>
 
285
          <td class="md" valign="top">(&nbsp;</td>
 
286
          <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
 
287
          <td class="mdname1" valign="top" nowrap> <em>pDev</em>          </td>
 
288
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
 
289
          <td class="md" nowrap></td>
 
290
        </tr>
 
291
 
 
292
      </table>
 
293
    </td>
 
294
  </tr>
 
295
</table>
 
296
<table cellspacing=5 cellpadding=0 border=0>
 
297
  <tr>
 
298
    <td>
 
299
      &nbsp;
 
300
    </td>
 
301
    <td>
 
302
 
 
303
<p>
 
304
Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>).     </td>
 
305
  </tr>
 
306
</table>
 
307
<a class="anchor" name="a43" doxytag="lnx-keyboard.c::kbdLinuxOn" ></a><p>
 
308
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
309
  <tr>
 
310
    <td class="mdRow">
 
311
      <table cellpadding="0" cellspacing="0" border="0">
 
312
        <tr>
 
313
          <td class="md" nowrap valign="top"> int kbdLinuxOn </td>
 
314
          <td class="md" valign="top">(&nbsp;</td>
 
315
          <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
 
316
          <td class="mdname1" valign="top" nowrap> <em>pDev</em>          </td>
 
317
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
 
318
          <td class="md" nowrap></td>
 
319
        </tr>
 
320
 
 
321
      </table>
 
322
    </td>
 
323
  </tr>
 
324
</table>
 
325
<table cellspacing=5 cellpadding=0 border=0>
 
326
  <tr>
 
327
    <td>
 
328
      &nbsp;
 
329
    </td>
 
330
    <td>
 
331
 
 
332
<p>
 
333
Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>).     </td>
 
334
  </tr>
 
335
</table>
 
336
<a class="anchor" name="a42" doxytag="lnx-keyboard.c::kbdLinuxRead" ></a><p>
 
337
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
338
  <tr>
 
339
    <td class="mdRow">
 
340
      <table cellpadding="0" cellspacing="0" border="0">
 
341
        <tr>
 
342
          <td class="md" nowrap valign="top"> void kbdLinuxRead </td>
 
343
          <td class="md" valign="top">(&nbsp;</td>
 
344
          <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
 
345
          <td class="mdname" nowrap> <em>pDev</em>, </td>
 
346
        </tr>
 
347
        <tr>
 
348
          <td></td>
 
349
          <td></td>
 
350
          <td class="md" nowrap>MOTIONPROC&nbsp;</td>
 
351
          <td class="mdname" nowrap> <em>motion</em>, </td>
 
352
        </tr>
 
353
        <tr>
 
354
          <td></td>
 
355
          <td></td>
 
356
          <td class="md" nowrap>ENQUEUEPROC&nbsp;</td>
 
357
          <td class="mdname" nowrap> <em>enqueue</em>, </td>
 
358
        </tr>
 
359
        <tr>
 
360
          <td></td>
 
361
          <td></td>
 
362
          <td class="md" nowrap>CHECKPROC&nbsp;</td>
 
363
          <td class="mdname" nowrap> <em>checkspecial</em>, </td>
 
364
        </tr>
 
365
        <tr>
 
366
          <td></td>
 
367
          <td></td>
 
368
          <td class="md" nowrap>BLOCK&nbsp;</td>
 
369
          <td class="mdname" nowrap> <em>block</em></td>
 
370
        </tr>
 
371
        <tr>
 
372
          <td></td>
 
373
          <td class="md">)&nbsp;</td>
 
374
          <td class="md" colspan="2"></td>
 
375
        </tr>
 
376
 
 
377
      </table>
 
378
    </td>
 
379
  </tr>
 
380
</table>
 
381
<table cellspacing=5 cellpadding=0 border=0>
 
382
  <tr>
 
383
    <td>
 
384
      &nbsp;
 
385
    </td>
 
386
    <td>
 
387
 
 
388
<p>
 
389
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>
 
390
  </tr>
 
391
</table>
 
392
<a class="anchor" name="a33" doxytag="lnx-keyboard.c::kbdLinuxVTPostSwitch" ></a><p>
 
393
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
394
  <tr>
 
395
    <td class="mdRow">
 
396
      <table cellpadding="0" cellspacing="0" border="0">
 
397
        <tr>
 
398
          <td class="md" nowrap valign="top"> void kbdLinuxVTPostSwitch </td>
 
399
          <td class="md" valign="top">(&nbsp;</td>
 
400
          <td class="md" nowrap valign="top">pointer&nbsp;</td>
 
401
          <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
 
402
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
 
403
          <td class="md" nowrap></td>
 
404
        </tr>
 
405
 
 
406
      </table>
 
407
    </td>
 
408
  </tr>
 
409
</table>
 
410
<table cellspacing=5 cellpadding=0 border=0>
 
411
  <tr>
 
412
    <td>
 
413
      &nbsp;
 
414
    </td>
 
415
    <td>
 
416
 
 
417
<p>
 
418
Currently unused hook called after returning from a VT switch.     </td>
 
419
  </tr>
 
420
</table>
 
421
<a class="anchor" name="a32" doxytag="lnx-keyboard.c::kbdLinuxVTPreSwitch" ></a><p>
 
422
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
423
  <tr>
 
424
    <td class="mdRow">
 
425
      <table cellpadding="0" cellspacing="0" border="0">
 
426
        <tr>
 
427
          <td class="md" nowrap valign="top"> void kbdLinuxVTPreSwitch </td>
 
428
          <td class="md" valign="top">(&nbsp;</td>
 
429
          <td class="md" nowrap valign="top">pointer&nbsp;</td>
 
430
          <td class="mdname1" valign="top" nowrap> <em>p</em>          </td>
 
431
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
 
432
          <td class="md" nowrap></td>
 
433
        </tr>
 
434
 
 
435
      </table>
 
436
    </td>
 
437
  </tr>
 
438
</table>
 
439
<table cellspacing=5 cellpadding=0 border=0>
 
440
  <tr>
 
441
    <td>
 
442
      &nbsp;
 
443
    </td>
 
444
    <td>
 
445
 
 
446
<p>
 
447
Currently unused hook called prior to an VT switch.     </td>
 
448
  </tr>
 
449
</table>
 
450
<a class="anchor" name="a34" doxytag="lnx-keyboard.c::kbdLinuxVTSwitch" ></a><p>
 
451
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
 
452
  <tr>
 
453
    <td class="mdRow">
 
454
      <table cellpadding="0" cellspacing="0" border="0">
 
455
        <tr>
 
456
          <td class="md" nowrap valign="top"> int kbdLinuxVTSwitch </td>
 
457
          <td class="md" valign="top">(&nbsp;</td>
 
458
          <td class="md" nowrap valign="top">pointer&nbsp;</td>
 
459
          <td class="mdname" nowrap> <em>p</em>, </td>
 
460
        </tr>
 
461
        <tr>
 
462
          <td></td>
 
463
          <td></td>
 
464
          <td class="md" nowrap>int&nbsp;</td>
 
465
          <td class="mdname" nowrap> <em>vt</em>, </td>
 
466
        </tr>
 
467
        <tr>
 
468
          <td></td>
 
469
          <td></td>
 
470
          <td class="md" nowrap>void(*&nbsp;</td>
 
471
          <td class="mdname" nowrap> <em>switch_return</em>)(pointer), </td>
 
472
        </tr>
 
473
        <tr>
 
474
          <td></td>
 
475
          <td></td>
 
476
          <td class="md" nowrap>pointer&nbsp;</td>
 
477
          <td class="mdname" nowrap> <em>switch_return_data</em></td>
 
478
        </tr>
 
479
        <tr>
 
480
          <td></td>
 
481
          <td class="md">)&nbsp;</td>
 
482
          <td class="md" colspan="2"></td>
 
483
        </tr>
 
484
 
 
485
      </table>
 
486
    </td>
 
487
  </tr>
 
488
</table>
 
489
<table cellspacing=5 cellpadding=0 border=0>
 
490
  <tr>
 
491
    <td>
 
492
      &nbsp;
 
493
    </td>
 
494
    <td>
 
495
 
 
496
<p>
 
497
Tell the operating system to switch to <em>vt</em>. The <em>switch_return</em> function is called with the <em>switch_return_data</em> when the VT is switched back to the pre-switch VT (i.e., the user returns to the DMX session).     </td>
 
498
  </tr>
 
499
</table>
 
500
    <hr>
 
501
    <address>
 
502
      <small>
 
503
        Generated June 29, 2004 for <a
 
504
        href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
 
505
        <a href="http://www.doxygen.org/index.html">doxygen</a>
 
506
        1.3.4.
 
507
      </small>
 
508
    </addres>
 
509
    </hr>
 
510
  </body>
 
511
</html>