aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/dmx/doc/html/lnx-keyboard_8c.html
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2009-10-21 21:22:47 +0000
committermarha <marha@users.sourceforge.net>2009-10-21 21:22:47 +0000
commite141b55eccf3c69d8ced513992e21463d37dbb03 (patch)
treeeaeeeda04d5b6ce82d43d04466164b44a74d0951 /xorg-server/hw/dmx/doc/html/lnx-keyboard_8c.html
parentd0fe50e45b3a640afa51eb8f45cf7c3a0df0740b (diff)
parent1f876171067c04fc21fccd5a3051f982fd85c0f0 (diff)
downloadvcxsrv-e141b55eccf3c69d8ced513992e21463d37dbb03.tar.gz
vcxsrv-e141b55eccf3c69d8ced513992e21463d37dbb03.tar.bz2
vcxsrv-e141b55eccf3c69d8ced513992e21463d37dbb03.zip
svn merge ^/branches/released
Diffstat (limited to 'xorg-server/hw/dmx/doc/html/lnx-keyboard_8c.html')
-rw-r--r--xorg-server/hw/dmx/doc/html/lnx-keyboard_8c.html1483
1 files changed, 1115 insertions, 368 deletions
diff --git a/xorg-server/hw/dmx/doc/html/lnx-keyboard_8c.html b/xorg-server/hw/dmx/doc/html/lnx-keyboard_8c.html
index e02182b73..05de129c4 100644
--- a/xorg-server/hw/dmx/doc/html/lnx-keyboard_8c.html
+++ b/xorg-server/hw/dmx/doc/html/lnx-keyboard_8c.html
@@ -6,497 +6,1244 @@
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head>
<body>
-<!-- Generated by Doxygen 1.3.4 -->
-<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>
-<h1>lnx-keyboard.c File Reference</h1><code>#include "<a class="el" href="dmxinputinit_8h-source.html">dmxinputinit.h</a>"</code><br>
-<code>#include "<a class="el" href="lnx-keyboard_8h-source.html">lnx-keyboard.h</a>"</code><br>
-<code>#include "inputstr.h"</code><br>
-<code>#include "Xos.h"</code><br>
-<code>#include &lt;sys/ioctl.h&gt;</code><br>
-<code>#include &lt;errno.h&gt;</code><br>
-<code>#include &lt;signal.h&gt;</code><br>
-<code>#include &lt;sys/vt.h&gt;</code><br>
-<code>#include &lt;sys/kd.h&gt;</code><br>
-<code>#include &lt;termios.h&gt;</code><br>
-<code>#include "atKeynames.h"</code><br>
-<code>#include "xf86Keymap.h"</code><br>
-<code>#include &lt;linux/keyboard.h&gt;</code><br>
-<table border=0 cellpadding=0 cellspacing=0>
-<tr><td></td></tr>
-<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
-<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>
+<!-- Generated by Doxygen 1.6.1 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>lnx-keyboard.c File Reference</h1><code>#include &quot;<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>&quot;</code><br/>
+<code>#include &quot;<a class="el" href="lnx-keyboard_8h_source.html">lnx-keyboard.h</a>&quot;</code><br/>
+<code>#include &quot;inputstr.h&quot;</code><br/>
+<code>#include &lt;X11/Xos.h&gt;</code><br/>
+<code>#include &lt;sys/ioctl.h&gt;</code><br/>
+<code>#include &lt;errno.h&gt;</code><br/>
+<code>#include &lt;signal.h&gt;</code><br/>
+<code>#include &lt;sys/vt.h&gt;</code><br/>
+<code>#include &lt;sys/kd.h&gt;</code><br/>
+<code>#include &lt;termios.h&gt;</code><br/>
+<code>#include &quot;atKeynames.h&quot;</code><br/>
+<code>#include &lt;linux/keyboard.h&gt;</code><br/>
+<code>#include &lt;xkbsrv.h&gt;</code><br/>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__myPrivate.html">_myPrivate</a></td></tr>
+<tr><td colspan="2"><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a837722a322e811d5e42242655f277b87">LOG0</a>(f)&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>(f, a)&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>(f, a, b)&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a,b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>(f, a, b, c)&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a,b,c)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>(f)&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>(f, a)&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f,a)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>(f, a, b)&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f,a,b)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a11a17082bee3b1b8217ce8a12adcf814">MOTIONPROC</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a017080ce5e42667a6582cf858e7185cd">ENQUEUEPROC</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aa35a985e998ad5e2187e13434dca118a">CHECKPROC</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a3463151de078a8c7b6bfcae492b9e5f9">SWITCHRETPROC</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#adb9019a46004e627338bfb4a02800636">dmxVTSwitchReturnProcPtr</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a52220397ecea855b3a99746e451426e1">BLOCK</a>&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#af8a3e30cb4858ca8a098acae107286c0">MESSAGE</a>&nbsp;&nbsp;&nbsp;&quot;\033c\n\n\nDMX taking input from this console...&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#ad71b1ebcfa90278a27073d2c0cb4dad4">FINALMESSAGE</a>&nbsp;&nbsp;&nbsp;&quot;\033cDMX terminated.&quot;</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aa472fa3dc86eaccfc92bb0caf47bdcd9">NUM_AT2LNX</a>&nbsp;&nbsp;&nbsp;(sizeof(<a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a>) / sizeof(<a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a>[0]))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a4551482d17e969e4de70a669be3afc74">NUM_STATE_ENTRIES</a>&nbsp;&nbsp;&nbsp;(256/32)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#acdc80f4d45e1276e533490146d014bde">SYSCALL</a>(call)&nbsp;&nbsp;&nbsp;while(((call) == -1) &amp;&amp; (errno == EINTR))</td></tr>
+<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a25692217bddf2b6c089525b325afccf1">myPrivate</a></td></tr>
+<tr><td colspan="2"><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a508da29b3082d7901ebf5c7397bd1a88">kbdLinuxKeyDown</a> (<a class="el" href="struct__myPrivate.html">myPrivate</a> *priv, int keyCode)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a0667fd33b8b30b74319818c9e1752950">kbdLinuxKeyState</a> (<a class="el" href="struct__myPrivate.html">myPrivate</a> *priv, int type, int keyCode)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">pointer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aaeba8e3220761201a64b5da3e2f85e52">kbdLinuxCreatePrivate</a> (DeviceIntPtr pKeyboard)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a5c9ddc88a9a5d989ce49a071eadcec87">kbdLinuxDestroyPrivate</a> (pointer priv)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a0acb8c77b4bd032bda9aeb87a656b9e7">kbdLinuxBell</a> (DevicePtr pDev, int percent, int volume, int pitch, int duration)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a278d93f44fccf1e642fa58c05bb2d06a">kbdLinuxCtrl</a> (DevicePtr pDev, KeybdCtrl *ctrl)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a198a0f886cb4a350bfe714c16e92c44d">kbdLinuxGetFreeVTNumber</a> (void)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#af405cce5d5bbc25171b425782f6e0b92">kbdLinuxOpenVT</a> (int vtno)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aefe715d8634268857806b5655cb70466">kbdLinuxGetCurrentVTNumber</a> (int fd)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a49faeb3e9d06f702f1bd45ffc6f7c8b7">kbdLinuxActivate</a> (int fd, int vtno, int setSig)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a50fd258e64aa03fd197af2a1a8306b32">kbdLinuxVTPreSwitch</a> (pointer p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a8c0e2439e4991b78f99c79e90f5e474d">kbdLinuxVTPostSwitch</a> (pointer p)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a7e6977d8d414fb1b62710835ca763af4">kbdLinuxVTSwitch</a> (pointer p, int vt, void(*switch_return)(pointer), pointer switch_return_data)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a93a481bcaf8d735c29c8b8114cf68eba">kbdLinuxVTSignalHandler</a> (int sig)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole</a> (DevicePtr pDev)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#ac4263fa687463ddbe1622bdb82a44b08">kbdLinuxCloseConsole</a> (DevicePtr pDev)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a24c8cbb95ad1f21d590f57cdb22c25f4">kbdLinuxInit</a> (DevicePtr pDev)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a582fe5af774d898b85edb42116598890">kbdLinuxPrefix0Mapping</a> (unsigned char *scanCode)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a67b95ff06cbdb5de12cc01954aa7b67e">kbdLinuxPrefixMapping</a> (<a class="el" href="struct__myPrivate.html">myPrivate</a> *priv, unsigned char *scanCode)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a6338eb254610cdbf7942ad91f23c36fe">kbdLinuxConvert</a> (DevicePtr pDev, unsigned char scanCode, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aa7781cedb743039542090faf43d9423f">kbdLinuxRead</a> (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a541096c9032b400b6f7f8cc76c36f716">kbdLinuxOn</a> (DevicePtr pDev)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a2f0498bfb85d9301b7bab802844b047d">kbdLinuxOff</a> (DevicePtr pDev)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#acc3cbed3f7e836f032b2e131baeb4800">kbdLinuxReadKernelMapping</a> (int fd, KeySymsPtr pKeySyms)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#ad3e8695c18469949e1ed00f7cd8055a5">kbdLinuxGetMap</a> (DevicePtr pDev, KeySymsPtr pKeySyms, CARD8 *pModMap)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#ae65b4fd1c456532a438479b35228d4cf">kbdLinuxGetInfo</a> (DevicePtr pDev, <a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> info)</td></tr>
+<tr><td colspan="2"><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct__myPrivate.html">myPrivate</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a4feca68f31d2c2170bef7d62f747dd88">PRIV</a> = NULL</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static KeySym&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a8448907727701c5b1fd1001458ccd62c">linux_to_x</a> [256]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a> [NUM_KEYCODES]</td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>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). </p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="lnx&#45;keyboard.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define BLOCK&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<tr><td colspan=2><br><h2>Functions</h2></td></tr>
-<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>
+</div>
+</div>
+<a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="lnx&#45;keyboard.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define CHECKPROC&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<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>
+</div>
+</div>
+<a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="lnx&#45;keyboard.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define ENQUEUEPROC&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<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>
+</div>
+</div>
+<a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="lnx&#45;keyboard.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define FATAL0</td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<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>
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00502">kbdLinuxActivate()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00411">kbdLinuxGetFreeVTNumber()</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00469">kbdLinuxVTSwitch()</a>.</p>
-<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>
+</div>
+</div>
+<a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="lnx&#45;keyboard.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define FATAL1</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">a&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f,a)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<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>
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00411">kbdLinuxGetFreeVTNumber()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00563">kbdLinuxInit()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00752">kbdLinuxOn()</a>, <a class="el" href="lnx-ms_8c_source.html#l00214">msLinuxInit()</a>, <a class="el" href="lnx-ms_8c_source.html#l00240">msLinuxOn()</a>, <a class="el" href="lnx-ps2_8c_source.html#l00208">ps2LinuxInit()</a>, and <a class="el" href="usb-common_8c_source.html#l00272">usbInit()</a>.</p>
-<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>
+</div>
+</div>
+<a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="lnx&#45;keyboard.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define FATAL2</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">b&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxFatal,f,a,b)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<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>
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00428">kbdLinuxOpenVT()</a>.</p>
-<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>
+</div>
+</div>
+<a class="anchor" id="ad71b1ebcfa90278a27073d2c0cb4dad4"></a><!-- doxytag: member="lnx&#45;keyboard.c::FINALMESSAGE" ref="ad71b1ebcfa90278a27073d2c0cb4dad4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define FINALMESSAGE&nbsp;&nbsp;&nbsp;&quot;\033cDMX terminated.&quot;</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-<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>
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00540">kbdLinuxCloseConsole()</a>.</p>
-<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>
+</div>
+</div>
+<a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="lnx&#45;keyboard.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define GETPRIV</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="struct__myPrivate.html">myPrivate</a> *priv \
+ = ((<a class="code" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a>)(pDev-&gt;devicePrivate))-&gt;private
+</pre></div>
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00390">kbdLinuxBell()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00540">kbdLinuxCloseConsole()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00657">kbdLinuxConvert()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00404">kbdLinuxCtrl()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00933">kbdLinuxGetMap()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00563">kbdLinuxInit()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00774">kbdLinuxOff()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00752">kbdLinuxOn()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00524">kbdLinuxOpenConsole()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00735">kbdLinuxRead()</a>, <a class="el" href="usb-keyboard_8c_source.html#l00292">kbdUSBConvert()</a>, <a class="el" href="usb-keyboard_8c_source.html#l00265">kbdUSBCtrl()</a>, <a class="el" href="usb-keyboard_8c_source.html#l00388">kbdUSBOn()</a>, <a class="el" href="usb-keyboard_8c_source.html#l00369">kbdUSBRead()</a>, <a class="el" href="usb-mouse_8c_source.html#l00085">mouUSBOn()</a>, <a class="el" href="lnx-ms_8c_source.html#l00144">msLinuxButton()</a>, <a class="el" href="lnx-ms_8c_source.html#l00214">msLinuxInit()</a>, <a class="el" href="lnx-ms_8c_source.html#l00265">msLinuxOff()</a>, <a class="el" href="lnx-ms_8c_source.html#l00240">msLinuxOn()</a>, <a class="el" href="lnx-ms_8c_source.html#l00183">msLinuxRead()</a>, <a class="el" href="usb-other_8c_source.html#l00097">othUSBGetInfo()</a>, <a class="el" href="usb-other_8c_source.html#l00087">othUSBOn()</a>, <a class="el" href="lnx-ps2_8c_source.html#l00140">ps2LinuxButton()</a>, <a class="el" href="lnx-ps2_8c_source.html#l00208">ps2LinuxInit()</a>, <a class="el" href="lnx-ps2_8c_source.html#l00234">ps2LinuxOff()</a>, <a class="el" href="lnx-ps2_8c_source.html#l00225">ps2LinuxOn()</a>, <a class="el" href="lnx-ps2_8c_source.html#l00179">ps2LinuxRead()</a>, <a class="el" href="usb-common_8c_source.html#l00272">usbInit()</a>, <a class="el" href="usb-common_8c_source.html#l00360">usbOff()</a>, and <a class="el" href="usb-common_8c_source.html#l00087">usbRead()</a>.</p>
-<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>
+</div>
+</div>
+<a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="lnx&#45;keyboard.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LOG0</td>
+ <td>(</td>
+ <td class="paramtype">f&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-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>
-<a class="anchor" name="a26" doxytag="lnx-keyboard.c::kbdLinuxBell" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+</div>
+<a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="lnx&#45;keyboard.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxBell </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname" nowrap> <em>pDev</em>, </td>
+ <td class="memname">#define LOG1</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
- <td></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>percent</em>, </td>
+ <td class="paramtype">a&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00540">kbdLinuxCloseConsole()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="lnx&#45;keyboard.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define LOG2</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
- <td></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>volume</em>, </td>
+ <td class="paramtype">a, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
- <td></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>pitch</em>, </td>
+ <td class="paramtype">b&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a,b)</td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00524">kbdLinuxOpenConsole()</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00487">kbdLinuxVTSignalHandler()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="lnx&#45;keyboard.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
+ <td class="memname">#define LOG3</td>
+ <td>(</td>
+ <td class="paramtype">f, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">a, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em></td>
+ <td class="paramtype">b, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td class="paramtype">c&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;dmxLog(dmxDebug,f,a,b,c)</td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Referenced by <a class="el" href="usb-keyboard_8c_source.html#l00369">kbdUSBRead()</a>, and <a class="el" href="usb-common_8c_source.html#l00087">usbRead()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af8a3e30cb4858ca8a098acae107286c0"></a><!-- doxytag: member="lnx&#45;keyboard.c::MESSAGE" ref="af8a3e30cb4858ca8a098acae107286c0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MESSAGE&nbsp;&nbsp;&nbsp;&quot;\033c\n\n\nDMX taking input from this console...&quot;</td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Ring the bell.<p>
-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>
-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>
- </tr>
-</table>
-<a class="anchor" name="a24" doxytag="lnx-keyboard.c::kbdLinuxCreatePrivate" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00524">kbdLinuxOpenConsole()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="lnx&#45;keyboard.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> pointer kbdLinuxCreatePrivate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DeviceIntPtr&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pKeyboard</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">#define MOTIONPROC&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+</div>
+</div>
+<a class="anchor" id="aa472fa3dc86eaccfc92bb0caf47bdcd9"></a><!-- doxytag: member="lnx&#45;keyboard.c::NUM_AT2LNX" ref="aa472fa3dc86eaccfc92bb0caf47bdcd9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NUM_AT2LNX&nbsp;&nbsp;&nbsp;(sizeof(<a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a>) / sizeof(<a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a>[0]))</td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Create a private structure for use within this file. </td>
- </tr>
-</table>
-<a class="anchor" name="a27" doxytag="lnx-keyboard.c::kbdLinuxCtrl" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00784">kbdLinuxReadKernelMapping()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4551482d17e969e4de70a669be3afc74"></a><!-- doxytag: member="lnx&#45;keyboard.c::NUM_STATE_ENTRIES" ref="a4551482d17e969e4de70a669be3afc74" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define NUM_STATE_ENTRIES&nbsp;&nbsp;&nbsp;(256/32)</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00202">kbdLinuxKeyDown()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00211">kbdLinuxKeyState()</a>, <a class="el" href="usb-keyboard_8c_source.html#l00245">kbdUSBKeyDown()</a>, and <a class="el" href="usb-keyboard_8c_source.html#l00254">kbdUSBKeyState()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3463151de078a8c7b6bfcae492b9e5f9"></a><!-- doxytag: member="lnx&#45;keyboard.c::SWITCHRETPROC" ref="a3463151de078a8c7b6bfcae492b9e5f9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SWITCHRETPROC&nbsp;&nbsp;&nbsp;<a class="el" href="dmxinputinit_8h.html#adb9019a46004e627338bfb4a02800636">dmxVTSwitchReturnProcPtr</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="acdc80f4d45e1276e533490146d014bde"></a><!-- doxytag: member="lnx&#45;keyboard.c::SYSCALL" ref="acdc80f4d45e1276e533490146d014bde" args="(call)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define SYSCALL</td>
+ <td>(</td>
+ <td class="paramtype">call&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td>&nbsp;&nbsp;&nbsp;while(((call) == -1) &amp;&amp; (errno == EINTR))</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00502">kbdLinuxActivate()</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="a25692217bddf2b6c089525b325afccf1"></a><!-- doxytag: member="lnx&#45;keyboard.c::myPrivate" ref="a25692217bddf2b6c089525b325afccf1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxCtrl </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname" nowrap> <em>pDev</em>, </td>
+ <td class="memname">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> <a class="el" href="struct__myPrivate.html">myPrivate</a></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a49faeb3e9d06f702f1bd45ffc6f7c8b7"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxActivate" ref="a49faeb3e9d06f702f1bd45ffc6f7c8b7" args="(int fd, int vtno, int setSig)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
+ <td class="memname">static int kbdLinuxActivate </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>vtno</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>KeybdCtrl *&nbsp;</td>
- <td class="mdname" nowrap> <em>ctrl</em></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>setSig</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
-
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set the LEDs. </td>
- </tr>
-</table>
-<a class="anchor" name="a25" doxytag="lnx-keyboard.c::kbdLinuxDestroyPrivate" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00143">FATAL0</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00487">kbdLinuxVTSignalHandler()</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00200">SYSCALL</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00540">kbdLinuxCloseConsole()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00524">kbdLinuxOpenConsole()</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00469">kbdLinuxVTSwitch()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0acb8c77b4bd032bda9aeb87a656b9e7"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxBell" ref="a0acb8c77b4bd032bda9aeb87a656b9e7" args="(DevicePtr pDev, int percent, int volume, int pitch, int duration)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void kbdLinuxBell </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>percent</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>volume</em>, </td>
+ </tr>
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxDestroyPrivate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">pointer&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>priv</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>pitch</em>, </td>
</tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>duration</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Ring the bell.</p>
+<p>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>
+<p>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"). </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>.</p>
+</div>
+</div>
+<a class="anchor" id="ac4263fa687463ddbe1622bdb82a44b08"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxCloseConsole" ref="ac4263fa687463ddbe1622bdb82a44b08" args="(DevicePtr pDev)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void kbdLinuxCloseConsole </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Destroy a private structure. </td>
- </tr>
-</table>
-<a class="anchor" name="a47" doxytag="lnx-keyboard.c::kbdLinuxGetInfo" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00152">FINALMESSAGE</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00502">kbdLinuxActivate()</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00140">LOG1</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00774">kbdLinuxOff()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6338eb254610cdbf7942ad91f23c36fe"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxConvert" ref="a6338eb254610cdbf7942ad91f23c36fe" args="(DevicePtr pDev, unsigned char scanCode, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxGetInfo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname" nowrap> <em>pDev</em>, </td>
+ <td class="memname">static void kbdLinuxConvert </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">unsigned char&nbsp;</td>
+ <td class="paramname"> <em>scanCode</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>info</em></td>
+ <td class="paramtype">ENQUEUEPROC&nbsp;</td>
+ <td class="paramname"> <em>enqueue</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td class="paramtype">CHECKPROC&nbsp;</td>
+ <td class="paramname"> <em>checkspecial</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">BLOCK&nbsp;</td>
+ <td class="paramname"> <em>block</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
-
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </td>
- </tr>
-</table>
-<a class="anchor" name="a38" doxytag="lnx-keyboard.c::kbdLinuxInit" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00202">kbdLinuxKeyDown()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00211">kbdLinuxKeyState()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00621">kbdLinuxPrefixMapping()</a>, and <a class="el" href="usb-keyboard_8c_source.html#l00110">MIN_KEYCODE</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00735">kbdLinuxRead()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaeba8e3220761201a64b5da3e2f85e52"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxCreatePrivate" ref="aaeba8e3220761201a64b5da3e2f85e52" args="(DeviceIntPtr pKeyboard)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxInit </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">pointer kbdLinuxCreatePrivate </td>
+ <td>(</td>
+ <td class="paramtype">DeviceIntPtr&nbsp;</td>
+ <td class="paramname"> <em>pKeyboard</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Create a private structure for use within this file. </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00178">_myPrivate::fd</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00185">_myPrivate::pKeyboard</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a278d93f44fccf1e642fa58c05bb2d06a"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxCtrl" ref="a278d93f44fccf1e642fa58c05bb2d06a" args="(DevicePtr pDev, KeybdCtrl *ctrl)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void kbdLinuxCtrl </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">KeybdCtrl *&nbsp;</td>
+ <td class="paramname"> <em>ctrl</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Initialize the <em>pDev</em> as a Linux keyboard. </td>
- </tr>
-</table>
-<a class="anchor" name="a44" doxytag="lnx-keyboard.c::kbdLinuxOff" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<p>Set the LEDs. </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5c9ddc88a9a5d989ce49a071eadcec87"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxDestroyPrivate" ref="a5c9ddc88a9a5d989ce49a071eadcec87" args="(pointer priv)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxOff </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">void kbdLinuxDestroyPrivate </td>
+ <td>(</td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>priv</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Destroy a private structure. </p>
+</div>
+</div>
+<a class="anchor" id="aefe715d8634268857806b5655cb70466"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxGetCurrentVTNumber" ref="aefe715d8634268857806b5655cb70466" args="(int fd)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int kbdLinuxGetCurrentVTNumber </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fd</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </td>
- </tr>
-</table>
-<a class="anchor" name="a43" doxytag="lnx-keyboard.c::kbdLinuxOn" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00524">kbdLinuxOpenConsole()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a198a0f886cb4a350bfe714c16e92c44d"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxGetFreeVTNumber" ref="a198a0f886cb4a350bfe714c16e92c44d" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> int kbdLinuxOn </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>pDev</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">static int kbdLinuxGetFreeVTNumber </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00143">FATAL0</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00144">FATAL1</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00524">kbdLinuxOpenConsole()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="ae65b4fd1c456532a438479b35228d4cf"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxGetInfo" ref="ae65b4fd1c456532a438479b35228d4cf" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void kbdLinuxGetInfo </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a>&nbsp;</td>
+ <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </td>
- </tr>
-</table>
-<a class="anchor" name="a42" doxytag="lnx-keyboard.c::kbdLinuxRead" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p>
+
+<p>References <a class="el" href="dmxinputinit_8h_source.html#l00109">_DMXLocalInitInfo::focusClass</a>, <a class="el" href="dmxinputinit_8h_source.html#l00113">_DMXLocalInitInfo::kbdFeedbackClass</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00933">kbdLinuxGetMap()</a>, <a class="el" href="dmxinputinit_8h_source.html#l00084">_DMXLocalInitInfo::keyboard</a>, <a class="el" href="dmxinputinit_8h_source.html#l00086">_DMXLocalInitInfo::keyClass</a>, <a class="el" href="dmxinputinit_8h_source.html#l00087">_DMXLocalInitInfo::keySyms</a>, and <a class="el" href="dmxinputinit_8h_source.html#l00089">_DMXLocalInitInfo::modMap</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad3e8695c18469949e1ed00f7cd8055a5"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxGetMap" ref="ad3e8695c18469949e1ed00f7cd8055a5" args="(DevicePtr pDev, KeySymsPtr pKeySyms, CARD8 *pModMap)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxRead </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">DevicePtr&nbsp;</td>
- <td class="mdname" nowrap> <em>pDev</em>, </td>
+ <td class="memname">static void kbdLinuxGetMap </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">KeySymsPtr&nbsp;</td>
+ <td class="paramname"> <em>pKeySyms</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>MOTIONPROC&nbsp;</td>
- <td class="mdname" nowrap> <em>motion</em>, </td>
+ <td class="paramtype">CARD8 *&nbsp;</td>
+ <td class="paramname"> <em>pModMap</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, <a class="el" href="usb-keyboard_8c_source.html#l00108">GLYPHS_PER_KEY</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00784">kbdLinuxReadKernelMapping()</a>, <a class="el" href="usb-keyboard_8c_source.html#l00113">map</a>, <a class="el" href="usb-keyboard_8c_source.html#l00111">MAX_KEYCODE</a>, <a class="el" href="usb-keyboard_8c_source.html#l00110">MIN_KEYCODE</a>, and <a class="el" href="usb-keyboard_8c_source.html#l00109">NUM_KEYCODES</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00983">kbdLinuxGetInfo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a24c8cbb95ad1f21d590f57cdb22c25f4"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxInit" ref="a24c8cbb95ad1f21d590f57cdb22c25f4" args="(DevicePtr pDev)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void kbdLinuxInit </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em></td>
+ <td>&nbsp;)&nbsp;</td>
<td></td>
- <td class="md" nowrap>ENQUEUEPROC&nbsp;</td>
- <td class="mdname" nowrap> <em>enqueue</em>, </td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Initialize the <em>pDev</em> as a Linux keyboard. </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00144">FATAL1</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00524">kbdLinuxOpenConsole()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a508da29b3082d7901ebf5c7397bd1a88"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxKeyDown" ref="a508da29b3082d7901ebf5c7397bd1a88" args="(myPrivate *priv, int keyCode)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
+ <td class="memname">static int kbdLinuxKeyDown </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__myPrivate.html">myPrivate</a> *&nbsp;</td>
+ <td class="paramname"> <em>priv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>keyCode</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
<td></td>
- <td class="md" nowrap>CHECKPROC&nbsp;</td>
- <td class="mdname" nowrap> <em>checkspecial</em>, </td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00184">_myPrivate::kbdState</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00173">NUM_STATE_ENTRIES</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00657">kbdLinuxConvert()</a>, and <a class="el" href="usb-keyboard_8c_source.html#l00292">kbdUSBConvert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0667fd33b8b30b74319818c9e1752950"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxKeyState" ref="a0667fd33b8b30b74319818c9e1752950" args="(myPrivate *priv, int type, int keyCode)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void kbdLinuxKeyState </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__myPrivate.html">myPrivate</a> *&nbsp;</td>
+ <td class="paramname"> <em>priv</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>BLOCK&nbsp;</td>
- <td class="mdname" nowrap> <em>block</em></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>keyCode</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00184">_myPrivate::kbdState</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00173">NUM_STATE_ENTRIES</a>.</p>
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00657">kbdLinuxConvert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2f0498bfb85d9301b7bab802844b047d"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxOff" ref="a2f0498bfb85d9301b7bab802844b047d" args="(DevicePtr pDev)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void kbdLinuxOff </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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>
- </tr>
-</table>
-<a class="anchor" name="a33" doxytag="lnx-keyboard.c::kbdLinuxVTPostSwitch" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+<p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00540">kbdLinuxCloseConsole()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a541096c9032b400b6f7f8cc76c36f716"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxOn" ref="a541096c9032b400b6f7f8cc76c36f716" args="(DevicePtr pDev)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxVTPostSwitch </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">pointer&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">int kbdLinuxOn </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00144">FATAL1</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a583121fb5591debead8398c1626f2385"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxOpenConsole" ref="a583121fb5591debead8398c1626f2385" args="(DevicePtr pDev)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void kbdLinuxOpenConsole </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Currently unused hook called after returning from a VT switch. </td>
- </tr>
-</table>
-<a class="anchor" name="a32" doxytag="lnx-keyboard.c::kbdLinuxVTPreSwitch" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00502">kbdLinuxActivate()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00445">kbdLinuxGetCurrentVTNumber()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00411">kbdLinuxGetFreeVTNumber()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00428">kbdLinuxOpenVT()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00141">LOG2</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00151">MESSAGE</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00563">kbdLinuxInit()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af405cce5d5bbc25171b425782f6e0b92"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxOpenVT" ref="af405cce5d5bbc25171b425782f6e0b92" args="(int vtno)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> void kbdLinuxVTPreSwitch </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">pointer&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
+ <td class="memname">static int kbdLinuxOpenVT </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>vtno</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00145">FATAL2</a>, and <a class="el" href="dmxsigio_8c_source.html#l00062">O_NONBLOCK</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00524">kbdLinuxOpenConsole()</a>.</p>
+</div>
+</div>
+<a class="anchor" id="a582fe5af774d898b85edb42116598890"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxPrefix0Mapping" ref="a582fe5af774d898b85edb42116598890" args="(unsigned char *scanCode)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int kbdLinuxPrefix0Mapping </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char *&nbsp;</td>
+ <td class="paramname"> <em>scanCode</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Currently unused hook called prior to an VT switch. </td>
- </tr>
-</table>
-<a class="anchor" name="a34" doxytag="lnx-keyboard.c::kbdLinuxVTSwitch" ></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00621">kbdLinuxPrefixMapping()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a67b95ff06cbdb5de12cc01954aa7b67e"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxPrefixMapping" ref="a67b95ff06cbdb5de12cc01954aa7b67e" args="(myPrivate *priv, unsigned char *scanCode)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
<tr>
- <td class="md" nowrap valign="top"> int kbdLinuxVTSwitch </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">pointer&nbsp;</td>
- <td class="mdname" nowrap> <em>p</em>, </td>
+ <td class="memname">static int kbdLinuxPrefixMapping </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="struct__myPrivate.html">myPrivate</a> *&nbsp;</td>
+ <td class="paramname"> <em>priv</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">unsigned char *&nbsp;</td>
+ <td class="paramname"> <em>scanCode</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
<td></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>vt</em>, </td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00574">kbdLinuxPrefix0Mapping()</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00186">_myPrivate::prefix</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00657">kbdLinuxConvert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa7781cedb743039542090faf43d9423f"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxRead" ref="aa7781cedb743039542090faf43d9423f" args="(DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void kbdLinuxRead </td>
+ <td>(</td>
+ <td class="paramtype">DevicePtr&nbsp;</td>
+ <td class="paramname"> <em>pDev</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">MOTIONPROC&nbsp;</td>
+ <td class="paramname"> <em>motion</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>void(*&nbsp;</td>
- <td class="mdname" nowrap> <em>switch_return</em>)(pointer), </td>
+ <td class="paramtype">ENQUEUEPROC&nbsp;</td>
+ <td class="paramname"> <em>enqueue</em>, </td>
</tr>
<tr>
+ <td class="paramkey"></td>
<td></td>
+ <td class="paramtype">CHECKPROC&nbsp;</td>
+ <td class="paramname"> <em>checkspecial</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
<td></td>
- <td class="md" nowrap>pointer&nbsp;</td>
- <td class="mdname" nowrap> <em>switch_return_data</em></td>
+ <td class="paramtype">BLOCK&nbsp;</td>
+ <td class="paramname"> <em>block</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
</tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>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. </p>
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00657">kbdLinuxConvert()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acc3cbed3f7e836f032b2e131baeb4800"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxReadKernelMapping" ref="acc3cbed3f7e836f032b2e131baeb4800" args="(int fd, KeySymsPtr pKeySyms)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void kbdLinuxReadKernelMapping </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">KeySymsPtr&nbsp;</td>
+ <td class="paramname"> <em>pKeySyms</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td><code> [static]</code></td>
+ </tr>
</table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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>
- </tr>
-</table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00291">at2lnx</a>, <a class="el" href="usb-keyboard_8c_source.html#l00108">GLYPHS_PER_KEY</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00221">linux_to_x</a>, <a class="el" href="usb-keyboard_8c_source.html#l00113">map</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00172">NUM_AT2LNX</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00933">kbdLinuxGetMap()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8c0e2439e4991b78f99c79e90f5e474d"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxVTPostSwitch" ref="a8c0e2439e4991b78f99c79e90f5e474d" args="(pointer p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void kbdLinuxVTPostSwitch </td>
+ <td>(</td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Currently unused hook called after returning from a VT switch. </p>
+
+</div>
+</div>
+<a class="anchor" id="a50fd258e64aa03fd197af2a1a8306b32"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxVTPreSwitch" ref="a50fd258e64aa03fd197af2a1a8306b32" args="(pointer p)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void kbdLinuxVTPreSwitch </td>
+ <td>(</td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>p</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>Currently unused hook called prior to an VT switch. </p>
+
+</div>
+</div>
+<a class="anchor" id="a93a481bcaf8d735c29c8b8114cf68eba"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxVTSignalHandler" ref="a93a481bcaf8d735c29c8b8114cf68eba" args="(int sig)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void kbdLinuxVTSignalHandler </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>sig</em></td>
+ <td>&nbsp;)&nbsp;</td>
+ <td><code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00178">_myPrivate::fd</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00141">LOG2</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00189">_myPrivate::switch_return</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00190">_myPrivate::switch_return_data</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00188">_myPrivate::switched</a>.</p>
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00502">kbdLinuxActivate()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7e6977d8d414fb1b62710835ca763af4"></a><!-- doxytag: member="lnx&#45;keyboard.c::kbdLinuxVTSwitch" ref="a7e6977d8d414fb1b62710835ca763af4" args="(pointer p, int vt, void(*switch_return)(pointer), pointer switch_return_data)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int kbdLinuxVTSwitch </td>
+ <td>(</td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>vt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void(*)(pointer)&nbsp;</td>
+ <td class="paramname"> <em>switch_return</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">pointer&nbsp;</td>
+ <td class="paramname"> <em>switch_return_data</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+<p>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). </p>
+
+<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00143">FATAL0</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00178">_myPrivate::fd</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00502">kbdLinuxActivate()</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00189">_myPrivate::switch_return</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00190">_myPrivate::switch_return_data</a>, <a class="el" href="lnx-keyboard_8c_source.html#l00188">_myPrivate::switched</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00179">_myPrivate::vtno</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a87773afe2af683304ea3a365f360b624"></a><!-- doxytag: member="lnx&#45;keyboard.c::at2lnx" ref="a87773afe2af683304ea3a365f360b624" args="[NUM_KEYCODES]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned char <a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a>[NUM_KEYCODES]<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00784">kbdLinuxReadKernelMapping()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8448907727701c5b1fd1001458ccd62c"></a><!-- doxytag: member="lnx&#45;keyboard.c::linux_to_x" ref="a8448907727701c5b1fd1001458ccd62c" args="[256]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">KeySym <a class="el" href="lnx-keyboard_8c.html#a8448907727701c5b1fd1001458ccd62c">linux_to_x</a>[256]<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Referenced by <a class="el" href="lnx-keyboard_8c_source.html#l00784">kbdLinuxReadKernelMapping()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4feca68f31d2c2170bef7d62f747dd88"></a><!-- doxytag: member="lnx&#45;keyboard.c::PRIV" ref="a4feca68f31d2c2170bef7d62f747dd88" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="struct__myPrivate.html">myPrivate</a>* <a class="el" href="lnx-keyboard_8c.html#a4feca68f31d2c2170bef7d62f747dd88">PRIV</a> = NULL<code> [static]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
<hr>
<address>
<small>