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.7.4 --> 10 <div id="navrow1" class="tabs"> 11 <ul class="tablist"> 12 <li><a href="index.html"><span>Main Page</span></a></li> 13 <li><a href="annotated.html"><span>Data Structures</span></a></li> 14 <li class="current"><a href="files.html"><span>Files</span></a></li> 15 </ul> 16 </div> 17 <div id="navrow2" class="tabs2"> 18 <ul class="tablist"> 19 <li><a href="files.html"><span>File List</span></a></li> 20 <li><a href="globals.html"><span>Globals</span></a></li> 21 </ul> 22 </div> 23</div> 24<div id="side-nav" class="ui-resizable side-nav-resizable"> 25 <div id="nav-tree"> 26 <div id="nav-tree-contents"> 27 </div> 28 </div> 29 <div id="splitbar" style="-moz-user-select:none;" 30 class="ui-resizable-handle"> 31 </div> 32</div> 33<script type="text/javascript"> 34 initNavTree('lnx-keyboard_8c.html',''); 35</script> 36<div id="doc-content"> 37<div class="header"> 38 <div class="summary"> 39<a href="#nested-classes">Data Structures</a> | 40<a href="#define-members">Defines</a> | 41<a href="#typedef-members">Typedefs</a> | 42<a href="#func-members">Functions</a> | 43<a href="#var-members">Variables</a> </div> 44 <div class="headertitle"> 45<div class="title">lnx-keyboard.c File Reference</div> </div> 46</div> 47<div class="contents"> 48<div class="textblock"><code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/> 49<code>#include "<a class="el" href="lnx-keyboard_8h_source.html">lnx-keyboard.h</a>"</code><br/> 50<code>#include "inputstr.h"</code><br/> 51<code>#include <X11/Xos.h></code><br/> 52<code>#include <sys/ioctl.h></code><br/> 53<code>#include <errno.h></code><br/> 54<code>#include <signal.h></code><br/> 55<code>#include <sys/vt.h></code><br/> 56<code>#include <sys/kd.h></code><br/> 57<code>#include <termios.h></code><br/> 58<code>#include "atKeynames.h"</code><br/> 59<code>#include <linux/keyboard.h></code><br/> 60<code>#include <xkbsrv.h></code><br/> 61</div><table class="memberdecls"> 62<tr><td colspan="2"><h2><a name="nested-classes"></a> 63Data Structures</h2></td></tr> 64<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__myPrivate.html">_myPrivate</a></td></tr> 65<tr><td colspan="2"><h2><a name="define-members"></a> 66Defines</h2></td></tr> 67<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a></td></tr> 68<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a837722a322e811d5e42242655f277b87">LOG0</a>(f)   dmxLog(dmxDebug,f)</td></tr> 69<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>(f, a)   dmxLog(dmxDebug,f,a)</td></tr> 70<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>(f, a, b)   dmxLog(dmxDebug,f,a,b)</td></tr> 71<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>(f, a, b, c)   dmxLog(dmxDebug,f,a,b,c)</td></tr> 72<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>(f)   dmxLog(dmxFatal,f)</td></tr> 73<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>(f, a)   dmxLog(dmxFatal,f,a)</td></tr> 74<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>(f, a, b)   dmxLog(dmxFatal,f,a,b)</td></tr> 75<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a11a17082bee3b1b8217ce8a12adcf814">MOTIONPROC</a>   <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td></tr> 76<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a017080ce5e42667a6582cf858e7185cd">ENQUEUEPROC</a>   <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td></tr> 77<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aa35a985e998ad5e2187e13434dca118a">CHECKPROC</a>   <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td></tr> 78<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a3463151de078a8c7b6bfcae492b9e5f9">SWITCHRETPROC</a>   <a class="el" href="dmxinputinit_8h.html#adb9019a46004e627338bfb4a02800636">dmxVTSwitchReturnProcPtr</a></td></tr> 79<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a52220397ecea855b3a99746e451426e1">BLOCK</a>   <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td></tr> 80<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#af8a3e30cb4858ca8a098acae107286c0">MESSAGE</a>   "\033c\n\n\nDMX taking input from this console..."</td></tr> 81<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#ad71b1ebcfa90278a27073d2c0cb4dad4">FINALMESSAGE</a>   "\033cDMX terminated."</td></tr> 82<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aa472fa3dc86eaccfc92bb0caf47bdcd9">NUM_AT2LNX</a>   (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> 83<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a4551482d17e969e4de70a669be3afc74">NUM_STATE_ENTRIES</a>   (256/32)</td></tr> 84<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#acdc80f4d45e1276e533490146d014bde">SYSCALL</a>(call)   while(((call) == -1) && (errno == EINTR))</td></tr> 85<tr><td colspan="2"><h2><a name="typedef-members"></a> 86Typedefs</h2></td></tr> 87<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a25692217bddf2b6c089525b325afccf1">myPrivate</a></td></tr> 88<tr><td colspan="2"><h2><a name="func-members"></a> 89Functions</h2></td></tr> 90<tr><td class="memItemLeft" align="right" valign="top">static int </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> 91<tr><td class="memItemLeft" align="right" valign="top">static void </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> 92<tr><td class="memItemLeft" align="right" valign="top">pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aaeba8e3220761201a64b5da3e2f85e52">kbdLinuxCreatePrivate</a> (DeviceIntPtr pKeyboard)</td></tr> 93<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a5c9ddc88a9a5d989ce49a071eadcec87">kbdLinuxDestroyPrivate</a> (pointer priv)</td></tr> 94<tr><td class="memItemLeft" align="right" valign="top">void </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> 95<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a278d93f44fccf1e642fa58c05bb2d06a">kbdLinuxCtrl</a> (DevicePtr pDev, KeybdCtrl *ctrl)</td></tr> 96<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a198a0f886cb4a350bfe714c16e92c44d">kbdLinuxGetFreeVTNumber</a> (void)</td></tr> 97<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#af405cce5d5bbc25171b425782f6e0b92">kbdLinuxOpenVT</a> (int vtno)</td></tr> 98<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#aefe715d8634268857806b5655cb70466">kbdLinuxGetCurrentVTNumber</a> (int fd)</td></tr> 99<tr><td class="memItemLeft" align="right" valign="top">static int </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> 100<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a50fd258e64aa03fd197af2a1a8306b32">kbdLinuxVTPreSwitch</a> (pointer p)</td></tr> 101<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a8c0e2439e4991b78f99c79e90f5e474d">kbdLinuxVTPostSwitch</a> (pointer p)</td></tr> 102<tr><td class="memItemLeft" align="right" valign="top">int </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> 103<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a93a481bcaf8d735c29c8b8114cf68eba">kbdLinuxVTSignalHandler</a> (int sig)</td></tr> 104<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole</a> (DevicePtr pDev)</td></tr> 105<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#ac4263fa687463ddbe1622bdb82a44b08">kbdLinuxCloseConsole</a> (DevicePtr pDev)</td></tr> 106<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a24c8cbb95ad1f21d590f57cdb22c25f4">kbdLinuxInit</a> (DevicePtr pDev)</td></tr> 107<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a582fe5af774d898b85edb42116598890">kbdLinuxPrefix0Mapping</a> (unsigned char *scanCode)</td></tr> 108<tr><td class="memItemLeft" align="right" valign="top">static int </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> 109<tr><td class="memItemLeft" align="right" valign="top">static void </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> 110<tr><td class="memItemLeft" align="right" valign="top">void </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> 111<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a541096c9032b400b6f7f8cc76c36f716">kbdLinuxOn</a> (DevicePtr pDev)</td></tr> 112<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a2f0498bfb85d9301b7bab802844b047d">kbdLinuxOff</a> (DevicePtr pDev)</td></tr> 113<tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#acc3cbed3f7e836f032b2e131baeb4800">kbdLinuxReadKernelMapping</a> (int fd, KeySymsPtr pKeySyms)</td></tr> 114<tr><td class="memItemLeft" align="right" valign="top">static void </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> 115<tr><td class="memItemLeft" align="right" valign="top">void </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> 116<tr><td colspan="2"><h2><a name="var-members"></a> 117Variables</h2></td></tr> 118<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="struct__myPrivate.html">myPrivate</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a4feca68f31d2c2170bef7d62f747dd88">PRIV</a> = NULL</td></tr> 119<tr><td class="memItemLeft" align="right" valign="top">static KeySym </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a8448907727701c5b1fd1001458ccd62c">linux_to_x</a> [256]</td></tr> 120<tr><td class="memItemLeft" align="right" valign="top">static unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a> [NUM_KEYCODES]</td></tr> 121</table> 122<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> 123<div class="textblock"><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> 124</div><hr/><h2>Define Documentation</h2> 125<a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="lnx-keyboard.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" --> 126<div class="memitem"> 127<div class="memproto"> 128 <table class="memname"> 129 <tr> 130 <td class="memname">#define BLOCK   <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td> 131 </tr> 132 </table> 133</div> 134<div class="memdoc"> 135 136</div> 137</div> 138<a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="lnx-keyboard.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" --> 139<div class="memitem"> 140<div class="memproto"> 141 <table class="memname"> 142 <tr> 143 <td class="memname">#define CHECKPROC   <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td> 144 </tr> 145 </table> 146</div> 147<div class="memdoc"> 148 149</div> 150</div> 151<a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="lnx-keyboard.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" --> 152<div class="memitem"> 153<div class="memproto"> 154 <table class="memname"> 155 <tr> 156 <td class="memname">#define ENQUEUEPROC   <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td> 157 </tr> 158 </table> 159</div> 160<div class="memdoc"> 161 162</div> 163</div> 164<a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="lnx-keyboard.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" --> 165<div class="memitem"> 166<div class="memproto"> 167 <table class="memname"> 168 <tr> 169 <td class="memname">#define FATAL0</td> 170 <td>(</td> 171 <td class="paramtype"> </td> 172 <td class="paramname">f</td><td>)</td> 173 <td>   dmxLog(dmxFatal,f)</td> 174 </tr> 175 </table> 176</div> 177<div class="memdoc"> 178 179<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a49faeb3e9d06f702f1bd45ffc6f7c8b7">kbdLinuxActivate()</a>, <a class="el" href="lnx-keyboard_8c.html#a198a0f886cb4a350bfe714c16e92c44d">kbdLinuxGetFreeVTNumber()</a>, and <a class="el" href="lnx-keyboard_8h.html#a11eda88b5082b0adaad1bbc723dae485">kbdLinuxVTSwitch()</a>.</p> 180 181</div> 182</div> 183<a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="lnx-keyboard.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" --> 184<div class="memitem"> 185<div class="memproto"> 186 <table class="memname"> 187 <tr> 188 <td class="memname">#define FATAL1</td> 189 <td>(</td> 190 <td class="paramtype"> </td> 191 <td class="paramname">f, </td> 192 </tr> 193 <tr> 194 <td class="paramkey"></td> 195 <td></td> 196 <td class="paramtype"> </td> 197 <td class="paramname">a </td> 198 </tr> 199 <tr> 200 <td></td> 201 <td>)</td> 202 <td></td><td>   dmxLog(dmxFatal,f,a)</td> 203 </tr> 204 </table> 205</div> 206<div class="memdoc"> 207 208<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a198a0f886cb4a350bfe714c16e92c44d">kbdLinuxGetFreeVTNumber()</a>, <a class="el" href="lnx-keyboard_8h.html#a24c8cbb95ad1f21d590f57cdb22c25f4">kbdLinuxInit()</a>, and <a class="el" href="lnx-keyboard_8h.html#a541096c9032b400b6f7f8cc76c36f716">kbdLinuxOn()</a>.</p> 209 210</div> 211</div> 212<a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="lnx-keyboard.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" --> 213<div class="memitem"> 214<div class="memproto"> 215 <table class="memname"> 216 <tr> 217 <td class="memname">#define FATAL2</td> 218 <td>(</td> 219 <td class="paramtype"> </td> 220 <td class="paramname">f, </td> 221 </tr> 222 <tr> 223 <td class="paramkey"></td> 224 <td></td> 225 <td class="paramtype"> </td> 226 <td class="paramname">a, </td> 227 </tr> 228 <tr> 229 <td class="paramkey"></td> 230 <td></td> 231 <td class="paramtype"> </td> 232 <td class="paramname">b </td> 233 </tr> 234 <tr> 235 <td></td> 236 <td>)</td> 237 <td></td><td>   dmxLog(dmxFatal,f,a,b)</td> 238 </tr> 239 </table> 240</div> 241<div class="memdoc"> 242 243<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#af405cce5d5bbc25171b425782f6e0b92">kbdLinuxOpenVT()</a>.</p> 244 245</div> 246</div> 247<a class="anchor" id="ad71b1ebcfa90278a27073d2c0cb4dad4"></a><!-- doxytag: member="lnx-keyboard.c::FINALMESSAGE" ref="ad71b1ebcfa90278a27073d2c0cb4dad4" args="" --> 248<div class="memitem"> 249<div class="memproto"> 250 <table class="memname"> 251 <tr> 252 <td class="memname">#define FINALMESSAGE   "\033cDMX terminated."</td> 253 </tr> 254 </table> 255</div> 256<div class="memdoc"> 257 258<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#ac4263fa687463ddbe1622bdb82a44b08">kbdLinuxCloseConsole()</a>.</p> 259 260</div> 261</div> 262<a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="lnx-keyboard.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" --> 263<div class="memitem"> 264<div class="memproto"> 265 <table class="memname"> 266 <tr> 267 <td class="memname">#define GETPRIV</td> 268 </tr> 269 </table> 270</div> 271<div class="memdoc"> 272<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="struct__myPrivate.html">myPrivate</a> *priv \ 273 = ((<a class="code" href="dmxinput_8h.html#adb148db00fe0adf1938b815b9b934d26">DMXLocalInputInfoPtr</a>)(pDev->devicePrivate))->private 274</pre></div> 275<p>Referenced by <a class="el" href="lnx-keyboard_8h.html#a0acb8c77b4bd032bda9aeb87a656b9e7">kbdLinuxBell()</a>, <a class="el" href="lnx-keyboard_8c.html#ac4263fa687463ddbe1622bdb82a44b08">kbdLinuxCloseConsole()</a>, <a class="el" href="lnx-keyboard_8c.html#a6338eb254610cdbf7942ad91f23c36fe">kbdLinuxConvert()</a>, <a class="el" href="lnx-keyboard_8h.html#a278d93f44fccf1e642fa58c05bb2d06a">kbdLinuxCtrl()</a>, <a class="el" href="lnx-keyboard_8c.html#ad3e8695c18469949e1ed00f7cd8055a5">kbdLinuxGetMap()</a>, <a class="el" href="lnx-keyboard_8h.html#a24c8cbb95ad1f21d590f57cdb22c25f4">kbdLinuxInit()</a>, <a class="el" href="lnx-keyboard_8h.html#a2f0498bfb85d9301b7bab802844b047d">kbdLinuxOff()</a>, <a class="el" href="lnx-keyboard_8h.html#a541096c9032b400b6f7f8cc76c36f716">kbdLinuxOn()</a>, <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>, and <a class="el" href="lnx-keyboard_8c.html#aa7781cedb743039542090faf43d9423f">kbdLinuxRead()</a>.</p> 276 277</div> 278</div> 279<a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="lnx-keyboard.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" --> 280<div class="memitem"> 281<div class="memproto"> 282 <table class="memname"> 283 <tr> 284 <td class="memname">#define LOG0</td> 285 <td>(</td> 286 <td class="paramtype"> </td> 287 <td class="paramname">f</td><td>)</td> 288 <td>   dmxLog(dmxDebug,f)</td> 289 </tr> 290 </table> 291</div> 292<div class="memdoc"> 293 294</div> 295</div> 296<a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="lnx-keyboard.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" --> 297<div class="memitem"> 298<div class="memproto"> 299 <table class="memname"> 300 <tr> 301 <td class="memname">#define LOG1</td> 302 <td>(</td> 303 <td class="paramtype"> </td> 304 <td class="paramname">f, </td> 305 </tr> 306 <tr> 307 <td class="paramkey"></td> 308 <td></td> 309 <td class="paramtype"> </td> 310 <td class="paramname">a </td> 311 </tr> 312 <tr> 313 <td></td> 314 <td>)</td> 315 <td></td><td>   dmxLog(dmxDebug,f,a)</td> 316 </tr> 317 </table> 318</div> 319<div class="memdoc"> 320 321<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#ac4263fa687463ddbe1622bdb82a44b08">kbdLinuxCloseConsole()</a>.</p> 322 323</div> 324</div> 325<a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="lnx-keyboard.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" --> 326<div class="memitem"> 327<div class="memproto"> 328 <table class="memname"> 329 <tr> 330 <td class="memname">#define LOG2</td> 331 <td>(</td> 332 <td class="paramtype"> </td> 333 <td class="paramname">f, </td> 334 </tr> 335 <tr> 336 <td class="paramkey"></td> 337 <td></td> 338 <td class="paramtype"> </td> 339 <td class="paramname">a, </td> 340 </tr> 341 <tr> 342 <td class="paramkey"></td> 343 <td></td> 344 <td class="paramtype"> </td> 345 <td class="paramname">b </td> 346 </tr> 347 <tr> 348 <td></td> 349 <td>)</td> 350 <td></td><td>   dmxLog(dmxDebug,f,a,b)</td> 351 </tr> 352 </table> 353</div> 354<div class="memdoc"> 355 356<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>, and <a class="el" href="lnx-keyboard_8c.html#a93a481bcaf8d735c29c8b8114cf68eba">kbdLinuxVTSignalHandler()</a>.</p> 357 358</div> 359</div> 360<a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="lnx-keyboard.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" --> 361<div class="memitem"> 362<div class="memproto"> 363 <table class="memname"> 364 <tr> 365 <td class="memname">#define LOG3</td> 366 <td>(</td> 367 <td class="paramtype"> </td> 368 <td class="paramname">f, </td> 369 </tr> 370 <tr> 371 <td class="paramkey"></td> 372 <td></td> 373 <td class="paramtype"> </td> 374 <td class="paramname">a, </td> 375 </tr> 376 <tr> 377 <td class="paramkey"></td> 378 <td></td> 379 <td class="paramtype"> </td> 380 <td class="paramname">b, </td> 381 </tr> 382 <tr> 383 <td class="paramkey"></td> 384 <td></td> 385 <td class="paramtype"> </td> 386 <td class="paramname">c </td> 387 </tr> 388 <tr> 389 <td></td> 390 <td>)</td> 391 <td></td><td>   dmxLog(dmxDebug,f,a,b,c)</td> 392 </tr> 393 </table> 394</div> 395<div class="memdoc"> 396 397</div> 398</div> 399<a class="anchor" id="af8a3e30cb4858ca8a098acae107286c0"></a><!-- doxytag: member="lnx-keyboard.c::MESSAGE" ref="af8a3e30cb4858ca8a098acae107286c0" args="" --> 400<div class="memitem"> 401<div class="memproto"> 402 <table class="memname"> 403 <tr> 404 <td class="memname">#define MESSAGE   "\033c\n\n\nDMX taking input from this console..."</td> 405 </tr> 406 </table> 407</div> 408<div class="memdoc"> 409 410<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>.</p> 411 412</div> 413</div> 414<a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="lnx-keyboard.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" --> 415<div class="memitem"> 416<div class="memproto"> 417 <table class="memname"> 418 <tr> 419 <td class="memname">#define MOTIONPROC   <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td> 420 </tr> 421 </table> 422</div> 423<div class="memdoc"> 424 425</div> 426</div> 427<a class="anchor" id="aa472fa3dc86eaccfc92bb0caf47bdcd9"></a><!-- doxytag: member="lnx-keyboard.c::NUM_AT2LNX" ref="aa472fa3dc86eaccfc92bb0caf47bdcd9" args="" --> 428<div class="memitem"> 429<div class="memproto"> 430 <table class="memname"> 431 <tr> 432 <td class="memname">#define NUM_AT2LNX   (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> 433 </tr> 434 </table> 435</div> 436<div class="memdoc"> 437 438<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#acc3cbed3f7e836f032b2e131baeb4800">kbdLinuxReadKernelMapping()</a>.</p> 439 440</div> 441</div> 442<a class="anchor" id="a4551482d17e969e4de70a669be3afc74"></a><!-- doxytag: member="lnx-keyboard.c::NUM_STATE_ENTRIES" ref="a4551482d17e969e4de70a669be3afc74" args="" --> 443<div class="memitem"> 444<div class="memproto"> 445 <table class="memname"> 446 <tr> 447 <td class="memname">#define NUM_STATE_ENTRIES   (256/32)</td> 448 </tr> 449 </table> 450</div> 451<div class="memdoc"> 452 453<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a508da29b3082d7901ebf5c7397bd1a88">kbdLinuxKeyDown()</a>, <a class="el" href="lnx-keyboard_8c.html#a0667fd33b8b30b74319818c9e1752950">kbdLinuxKeyState()</a>, <a class="el" href="usb-keyboard_8c.html#ac5b3c28b56eee8c08253f2c93247c2fb">kbdUSBKeyDown()</a>, and <a class="el" href="usb-keyboard_8c.html#a31da2502826ab88638635abb2b719cae">kbdUSBKeyState()</a>.</p> 454 455</div> 456</div> 457<a class="anchor" id="a3463151de078a8c7b6bfcae492b9e5f9"></a><!-- doxytag: member="lnx-keyboard.c::SWITCHRETPROC" ref="a3463151de078a8c7b6bfcae492b9e5f9" args="" --> 458<div class="memitem"> 459<div class="memproto"> 460 <table class="memname"> 461 <tr> 462 <td class="memname">#define SWITCHRETPROC   <a class="el" href="dmxinputinit_8h.html#adb9019a46004e627338bfb4a02800636">dmxVTSwitchReturnProcPtr</a></td> 463 </tr> 464 </table> 465</div> 466<div class="memdoc"> 467 468</div> 469</div> 470<a class="anchor" id="acdc80f4d45e1276e533490146d014bde"></a><!-- doxytag: member="lnx-keyboard.c::SYSCALL" ref="acdc80f4d45e1276e533490146d014bde" args="(call)" --> 471<div class="memitem"> 472<div class="memproto"> 473 <table class="memname"> 474 <tr> 475 <td class="memname">#define SYSCALL</td> 476 <td>(</td> 477 <td class="paramtype"> </td> 478 <td class="paramname">call</td><td>)</td> 479 <td>   while(((call) == -1) && (errno == EINTR))</td> 480 </tr> 481 </table> 482</div> 483<div class="memdoc"> 484 485<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a49faeb3e9d06f702f1bd45ffc6f7c8b7">kbdLinuxActivate()</a>.</p> 486 487</div> 488</div> 489<hr/><h2>Typedef Documentation</h2> 490<a class="anchor" id="a25692217bddf2b6c089525b325afccf1"></a><!-- doxytag: member="lnx-keyboard.c::myPrivate" ref="a25692217bddf2b6c089525b325afccf1" args="" --> 491<div class="memitem"> 492<div class="memproto"> 493 <table class="memname"> 494 <tr> 495 <td class="memname">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> <a class="el" href="struct__myPrivate.html">myPrivate</a></td> 496 </tr> 497 </table> 498</div> 499<div class="memdoc"> 500 501</div> 502</div> 503<hr/><h2>Function Documentation</h2> 504<a class="anchor" id="a49faeb3e9d06f702f1bd45ffc6f7c8b7"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxActivate" ref="a49faeb3e9d06f702f1bd45ffc6f7c8b7" args="(int fd, int vtno, int setSig)" --> 505<div class="memitem"> 506<div class="memproto"> 507 <table class="memname"> 508 <tr> 509 <td class="memname">static int kbdLinuxActivate </td> 510 <td>(</td> 511 <td class="paramtype">int </td> 512 <td class="paramname"><em>fd</em>, </td> 513 </tr> 514 <tr> 515 <td class="paramkey"></td> 516 <td></td> 517 <td class="paramtype">int </td> 518 <td class="paramname"><em>vtno</em>, </td> 519 </tr> 520 <tr> 521 <td class="paramkey"></td> 522 <td></td> 523 <td class="paramtype">int </td> 524 <td class="paramname"><em>setSig</em> </td> 525 </tr> 526 <tr> 527 <td></td> 528 <td>)</td> 529 <td></td><td><code> [static]</code></td> 530 </tr> 531 </table> 532</div> 533<div class="memdoc"> 534 535<p>References <a class="el" href="lnx-keyboard_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>, <a class="el" href="lnx-keyboard_8c.html#a93a481bcaf8d735c29c8b8114cf68eba">kbdLinuxVTSignalHandler()</a>, and <a class="el" href="lnx-keyboard_8c.html#acdc80f4d45e1276e533490146d014bde">SYSCALL</a>.</p> 536 537<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#ac4263fa687463ddbe1622bdb82a44b08">kbdLinuxCloseConsole()</a>, <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>, and <a class="el" href="lnx-keyboard_8h.html#a11eda88b5082b0adaad1bbc723dae485">kbdLinuxVTSwitch()</a>.</p> 538 539</div> 540</div> 541<a class="anchor" id="a0acb8c77b4bd032bda9aeb87a656b9e7"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxBell" ref="a0acb8c77b4bd032bda9aeb87a656b9e7" args="(DevicePtr pDev, int percent, int volume, int pitch, int duration)" --> 542<div class="memitem"> 543<div class="memproto"> 544 <table class="memname"> 545 <tr> 546 <td class="memname">void kbdLinuxBell </td> 547 <td>(</td> 548 <td class="paramtype">DevicePtr </td> 549 <td class="paramname"><em>pDev</em>, </td> 550 </tr> 551 <tr> 552 <td class="paramkey"></td> 553 <td></td> 554 <td class="paramtype">int </td> 555 <td class="paramname"><em>percent</em>, </td> 556 </tr> 557 <tr> 558 <td class="paramkey"></td> 559 <td></td> 560 <td class="paramtype">int </td> 561 <td class="paramname"><em>volume</em>, </td> 562 </tr> 563 <tr> 564 <td class="paramkey"></td> 565 <td></td> 566 <td class="paramtype">int </td> 567 <td class="paramname"><em>pitch</em>, </td> 568 </tr> 569 <tr> 570 <td class="paramkey"></td> 571 <td></td> 572 <td class="paramtype">int </td> 573 <td class="paramname"><em>duration</em> </td> 574 </tr> 575 <tr> 576 <td></td> 577 <td>)</td> 578 <td></td><td></td> 579 </tr> 580 </table> 581</div> 582<div class="memdoc"> 583<p>Ring the bell.</p> 584<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> 585<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> 586 587<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>.</p> 588 589</div> 590</div> 591<a class="anchor" id="ac4263fa687463ddbe1622bdb82a44b08"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxCloseConsole" ref="ac4263fa687463ddbe1622bdb82a44b08" args="(DevicePtr pDev)" --> 592<div class="memitem"> 593<div class="memproto"> 594 <table class="memname"> 595 <tr> 596 <td class="memname">static void kbdLinuxCloseConsole </td> 597 <td>(</td> 598 <td class="paramtype">DevicePtr </td> 599 <td class="paramname"><em>pDev</em></td><td>)</td> 600 <td><code> [static]</code></td> 601 </tr> 602 </table> 603</div> 604<div class="memdoc"> 605 606<p>References <a class="el" href="lnx-keyboard_8c.html#ad71b1ebcfa90278a27073d2c0cb4dad4">FINALMESSAGE</a>, <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, <a class="el" href="lnx-keyboard_8c.html#a49faeb3e9d06f702f1bd45ffc6f7c8b7">kbdLinuxActivate()</a>, and <a class="el" href="lnx-keyboard_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>.</p> 607 608<p>Referenced by <a class="el" href="lnx-keyboard_8h.html#a2f0498bfb85d9301b7bab802844b047d">kbdLinuxOff()</a>.</p> 609 610</div> 611</div> 612<a class="anchor" id="a6338eb254610cdbf7942ad91f23c36fe"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxConvert" ref="a6338eb254610cdbf7942ad91f23c36fe" args="(DevicePtr pDev, unsigned char scanCode, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)" --> 613<div class="memitem"> 614<div class="memproto"> 615 <table class="memname"> 616 <tr> 617 <td class="memname">static void kbdLinuxConvert </td> 618 <td>(</td> 619 <td class="paramtype">DevicePtr </td> 620 <td class="paramname"><em>pDev</em>, </td> 621 </tr> 622 <tr> 623 <td class="paramkey"></td> 624 <td></td> 625 <td class="paramtype">unsigned char </td> 626 <td class="paramname"><em>scanCode</em>, </td> 627 </tr> 628 <tr> 629 <td class="paramkey"></td> 630 <td></td> 631 <td class="paramtype">ENQUEUEPROC </td> 632 <td class="paramname"><em>enqueue</em>, </td> 633 </tr> 634 <tr> 635 <td class="paramkey"></td> 636 <td></td> 637 <td class="paramtype">CHECKPROC </td> 638 <td class="paramname"><em>checkspecial</em>, </td> 639 </tr> 640 <tr> 641 <td class="paramkey"></td> 642 <td></td> 643 <td class="paramtype">BLOCK </td> 644 <td class="paramname"><em>block</em> </td> 645 </tr> 646 <tr> 647 <td></td> 648 <td>)</td> 649 <td></td><td><code> [static]</code></td> 650 </tr> 651 </table> 652</div> 653<div class="memdoc"> 654 655<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, <a class="el" href="lnx-keyboard_8c.html#a508da29b3082d7901ebf5c7397bd1a88">kbdLinuxKeyDown()</a>, <a class="el" href="lnx-keyboard_8c.html#a0667fd33b8b30b74319818c9e1752950">kbdLinuxKeyState()</a>, <a class="el" href="lnx-keyboard_8c.html#a67b95ff06cbdb5de12cc01954aa7b67e">kbdLinuxPrefixMapping()</a>, and <a class="el" href="usb-keyboard_8c.html#a4204c7bd1b89b76ee0bd11d53741d4e6">MIN_KEYCODE</a>.</p> 656 657<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#aa7781cedb743039542090faf43d9423f">kbdLinuxRead()</a>.</p> 658 659</div> 660</div> 661<a class="anchor" id="aaeba8e3220761201a64b5da3e2f85e52"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxCreatePrivate" ref="aaeba8e3220761201a64b5da3e2f85e52" args="(DeviceIntPtr pKeyboard)" --> 662<div class="memitem"> 663<div class="memproto"> 664 <table class="memname"> 665 <tr> 666 <td class="memname">pointer kbdLinuxCreatePrivate </td> 667 <td>(</td> 668 <td class="paramtype">DeviceIntPtr </td> 669 <td class="paramname"><em>pKeyboard</em></td><td>)</td> 670 <td></td> 671 </tr> 672 </table> 673</div> 674<div class="memdoc"> 675<p>Create a private structure for use within this file. </p> 676 677<p>References <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, and <a class="el" href="struct__myPrivate.html#a1f72c73bb97bf77b8f5359eabf81fb79">_myPrivate::pKeyboard</a>.</p> 678 679</div> 680</div> 681<a class="anchor" id="a278d93f44fccf1e642fa58c05bb2d06a"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxCtrl" ref="a278d93f44fccf1e642fa58c05bb2d06a" args="(DevicePtr pDev, KeybdCtrl *ctrl)" --> 682<div class="memitem"> 683<div class="memproto"> 684 <table class="memname"> 685 <tr> 686 <td class="memname">void kbdLinuxCtrl </td> 687 <td>(</td> 688 <td class="paramtype">DevicePtr </td> 689 <td class="paramname"><em>pDev</em>, </td> 690 </tr> 691 <tr> 692 <td class="paramkey"></td> 693 <td></td> 694 <td class="paramtype">KeybdCtrl * </td> 695 <td class="paramname"><em>ctrl</em> </td> 696 </tr> 697 <tr> 698 <td></td> 699 <td>)</td> 700 <td></td><td></td> 701 </tr> 702 </table> 703</div> 704<div class="memdoc"> 705<p>Set the LEDs. </p> 706 707<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>.</p> 708 709</div> 710</div> 711<a class="anchor" id="a5c9ddc88a9a5d989ce49a071eadcec87"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxDestroyPrivate" ref="a5c9ddc88a9a5d989ce49a071eadcec87" args="(pointer priv)" --> 712<div class="memitem"> 713<div class="memproto"> 714 <table class="memname"> 715 <tr> 716 <td class="memname">void kbdLinuxDestroyPrivate </td> 717 <td>(</td> 718 <td class="paramtype">pointer </td> 719 <td class="paramname"><em>priv</em></td><td>)</td> 720 <td></td> 721 </tr> 722 </table> 723</div> 724<div class="memdoc"> 725<p>Destroy a private structure. </p> 726 727</div> 728</div> 729<a class="anchor" id="aefe715d8634268857806b5655cb70466"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxGetCurrentVTNumber" ref="aefe715d8634268857806b5655cb70466" args="(int fd)" --> 730<div class="memitem"> 731<div class="memproto"> 732 <table class="memname"> 733 <tr> 734 <td class="memname">static int kbdLinuxGetCurrentVTNumber </td> 735 <td>(</td> 736 <td class="paramtype">int </td> 737 <td class="paramname"><em>fd</em></td><td>)</td> 738 <td><code> [static]</code></td> 739 </tr> 740 </table> 741</div> 742<div class="memdoc"> 743 744<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>.</p> 745 746</div> 747</div> 748<a class="anchor" id="a198a0f886cb4a350bfe714c16e92c44d"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxGetFreeVTNumber" ref="a198a0f886cb4a350bfe714c16e92c44d" args="(void)" --> 749<div class="memitem"> 750<div class="memproto"> 751 <table class="memname"> 752 <tr> 753 <td class="memname">static int kbdLinuxGetFreeVTNumber </td> 754 <td>(</td> 755 <td class="paramtype">void </td> 756 <td class="paramname"></td><td>)</td> 757 <td><code> [static]</code></td> 758 </tr> 759 </table> 760</div> 761<div class="memdoc"> 762 763<p>References <a class="el" href="lnx-keyboard_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>, and <a class="el" href="lnx-keyboard_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>.</p> 764 765<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>.</p> 766 767</div> 768</div> 769<a class="anchor" id="ae65b4fd1c456532a438479b35228d4cf"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxGetInfo" ref="ae65b4fd1c456532a438479b35228d4cf" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" --> 770<div class="memitem"> 771<div class="memproto"> 772 <table class="memname"> 773 <tr> 774 <td class="memname">void kbdLinuxGetInfo </td> 775 <td>(</td> 776 <td class="paramtype">DevicePtr </td> 777 <td class="paramname"><em>pDev</em>, </td> 778 </tr> 779 <tr> 780 <td class="paramkey"></td> 781 <td></td> 782 <td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> </td> 783 <td class="paramname"><em>info</em> </td> 784 </tr> 785 <tr> 786 <td></td> 787 <td>)</td> 788 <td></td><td></td> 789 </tr> 790 </table> 791</div> 792<div class="memdoc"> 793<p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p> 794 795<p>References <a class="el" href="struct__DMXLocalInitInfo.html#a24b09c34e0cf80ec33f093e908206be4">_DMXLocalInitInfo::focusClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#af19caac0e20a9106b73714c9c7991ce5">_DMXLocalInitInfo::kbdFeedbackClass</a>, <a class="el" href="lnx-keyboard_8c.html#ad3e8695c18469949e1ed00f7cd8055a5">kbdLinuxGetMap()</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a214969f0843dcb70d8f7577f58bafa48">_DMXLocalInitInfo::keyboard</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a06626a99542714bbd032e9e12a8c6b55">_DMXLocalInitInfo::keyClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a02861e7e9c24381a229567d36e7a68b7">_DMXLocalInitInfo::keySyms</a>, and <a class="el" href="struct__DMXLocalInitInfo.html#a2e345080abf875ce6f85e63ed631cbcd">_DMXLocalInitInfo::modMap</a>.</p> 796 797</div> 798</div> 799<a class="anchor" id="ad3e8695c18469949e1ed00f7cd8055a5"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxGetMap" ref="ad3e8695c18469949e1ed00f7cd8055a5" args="(DevicePtr pDev, KeySymsPtr pKeySyms, CARD8 *pModMap)" --> 800<div class="memitem"> 801<div class="memproto"> 802 <table class="memname"> 803 <tr> 804 <td class="memname">static void kbdLinuxGetMap </td> 805 <td>(</td> 806 <td class="paramtype">DevicePtr </td> 807 <td class="paramname"><em>pDev</em>, </td> 808 </tr> 809 <tr> 810 <td class="paramkey"></td> 811 <td></td> 812 <td class="paramtype">KeySymsPtr </td> 813 <td class="paramname"><em>pKeySyms</em>, </td> 814 </tr> 815 <tr> 816 <td class="paramkey"></td> 817 <td></td> 818 <td class="paramtype">CARD8 * </td> 819 <td class="paramname"><em>pModMap</em> </td> 820 </tr> 821 <tr> 822 <td></td> 823 <td>)</td> 824 <td></td><td><code> [static]</code></td> 825 </tr> 826 </table> 827</div> 828<div class="memdoc"> 829 830<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, <a class="el" href="usb-keyboard_8c.html#a6238ada986dd7e452a89773c2252a96d">GLYPHS_PER_KEY</a>, <a class="el" href="lnx-keyboard_8c.html#acc3cbed3f7e836f032b2e131baeb4800">kbdLinuxReadKernelMapping()</a>, <a class="el" href="usb-keyboard_8c.html#a2187a19657fb0b38c67dbafc7dd74c4d">map</a>, <a class="el" href="usb-keyboard_8c.html#ac769af5d0ea9b1ab3a1cd61572f8f302">MAX_KEYCODE</a>, <a class="el" href="usb-keyboard_8c.html#a4204c7bd1b89b76ee0bd11d53741d4e6">MIN_KEYCODE</a>, and <a class="el" href="usb-keyboard_8c.html#a6dbb3fc1c4a78ddba8904d186c8b2784">NUM_KEYCODES</a>.</p> 831 832<p>Referenced by <a class="el" href="lnx-keyboard_8h.html#ae65b4fd1c456532a438479b35228d4cf">kbdLinuxGetInfo()</a>.</p> 833 834</div> 835</div> 836<a class="anchor" id="a24c8cbb95ad1f21d590f57cdb22c25f4"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxInit" ref="a24c8cbb95ad1f21d590f57cdb22c25f4" args="(DevicePtr pDev)" --> 837<div class="memitem"> 838<div class="memproto"> 839 <table class="memname"> 840 <tr> 841 <td class="memname">void kbdLinuxInit </td> 842 <td>(</td> 843 <td class="paramtype">DevicePtr </td> 844 <td class="paramname"><em>pDev</em></td><td>)</td> 845 <td></td> 846 </tr> 847 </table> 848</div> 849<div class="memdoc"> 850<p>Initialize the <em>pDev</em> as a Linux keyboard. </p> 851 852<p>References <a class="el" href="lnx-keyboard_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, and <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>.</p> 853 854</div> 855</div> 856<a class="anchor" id="a508da29b3082d7901ebf5c7397bd1a88"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxKeyDown" ref="a508da29b3082d7901ebf5c7397bd1a88" args="(myPrivate *priv, int keyCode)" --> 857<div class="memitem"> 858<div class="memproto"> 859 <table class="memname"> 860 <tr> 861 <td class="memname">static int kbdLinuxKeyDown </td> 862 <td>(</td> 863 <td class="paramtype"><a class="el" href="struct__myPrivate.html">myPrivate</a> * </td> 864 <td class="paramname"><em>priv</em>, </td> 865 </tr> 866 <tr> 867 <td class="paramkey"></td> 868 <td></td> 869 <td class="paramtype">int </td> 870 <td class="paramname"><em>keyCode</em> </td> 871 </tr> 872 <tr> 873 <td></td> 874 <td>)</td> 875 <td></td><td><code> [static]</code></td> 876 </tr> 877 </table> 878</div> 879<div class="memdoc"> 880 881<p>References <a class="el" href="struct__myPrivate.html#a35c7b19223e75cef1eebc0467fb2514d">_myPrivate::kbdState</a>, and <a class="el" href="lnx-keyboard_8c.html#a4551482d17e969e4de70a669be3afc74">NUM_STATE_ENTRIES</a>.</p> 882 883<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a6338eb254610cdbf7942ad91f23c36fe">kbdLinuxConvert()</a>, and <a class="el" href="usb-keyboard_8c.html#a1bdbc94af66450a58735130ce8b994d0">kbdUSBConvert()</a>.</p> 884 885</div> 886</div> 887<a class="anchor" id="a0667fd33b8b30b74319818c9e1752950"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxKeyState" ref="a0667fd33b8b30b74319818c9e1752950" args="(myPrivate *priv, int type, int keyCode)" --> 888<div class="memitem"> 889<div class="memproto"> 890 <table class="memname"> 891 <tr> 892 <td class="memname">static void kbdLinuxKeyState </td> 893 <td>(</td> 894 <td class="paramtype"><a class="el" href="struct__myPrivate.html">myPrivate</a> * </td> 895 <td class="paramname"><em>priv</em>, </td> 896 </tr> 897 <tr> 898 <td class="paramkey"></td> 899 <td></td> 900 <td class="paramtype">int </td> 901 <td class="paramname"><em>type</em>, </td> 902 </tr> 903 <tr> 904 <td class="paramkey"></td> 905 <td></td> 906 <td class="paramtype">int </td> 907 <td class="paramname"><em>keyCode</em> </td> 908 </tr> 909 <tr> 910 <td></td> 911 <td>)</td> 912 <td></td><td><code> [static]</code></td> 913 </tr> 914 </table> 915</div> 916<div class="memdoc"> 917 918<p>References <a class="el" href="struct__myPrivate.html#a35c7b19223e75cef1eebc0467fb2514d">_myPrivate::kbdState</a>, and <a class="el" href="lnx-keyboard_8c.html#a4551482d17e969e4de70a669be3afc74">NUM_STATE_ENTRIES</a>.</p> 919 920<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a6338eb254610cdbf7942ad91f23c36fe">kbdLinuxConvert()</a>.</p> 921 922</div> 923</div> 924<a class="anchor" id="a2f0498bfb85d9301b7bab802844b047d"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxOff" ref="a2f0498bfb85d9301b7bab802844b047d" args="(DevicePtr pDev)" --> 925<div class="memitem"> 926<div class="memproto"> 927 <table class="memname"> 928 <tr> 929 <td class="memname">void kbdLinuxOff </td> 930 <td>(</td> 931 <td class="paramtype">DevicePtr </td> 932 <td class="paramname"><em>pDev</em></td><td>)</td> 933 <td></td> 934 </tr> 935 </table> 936</div> 937<div class="memdoc"> 938<p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p> 939 940<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, and <a class="el" href="lnx-keyboard_8c.html#ac4263fa687463ddbe1622bdb82a44b08">kbdLinuxCloseConsole()</a>.</p> 941 942</div> 943</div> 944<a class="anchor" id="a541096c9032b400b6f7f8cc76c36f716"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxOn" ref="a541096c9032b400b6f7f8cc76c36f716" args="(DevicePtr pDev)" --> 945<div class="memitem"> 946<div class="memproto"> 947 <table class="memname"> 948 <tr> 949 <td class="memname">int kbdLinuxOn </td> 950 <td>(</td> 951 <td class="paramtype">DevicePtr </td> 952 <td class="paramname"><em>pDev</em></td><td>)</td> 953 <td></td> 954 </tr> 955 </table> 956</div> 957<div class="memdoc"> 958<p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p> 959 960<p>References <a class="el" href="lnx-keyboard_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, and <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>.</p> 961 962</div> 963</div> 964<a class="anchor" id="a583121fb5591debead8398c1626f2385"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxOpenConsole" ref="a583121fb5591debead8398c1626f2385" args="(DevicePtr pDev)" --> 965<div class="memitem"> 966<div class="memproto"> 967 <table class="memname"> 968 <tr> 969 <td class="memname">static void kbdLinuxOpenConsole </td> 970 <td>(</td> 971 <td class="paramtype">DevicePtr </td> 972 <td class="paramname"><em>pDev</em></td><td>)</td> 973 <td><code> [static]</code></td> 974 </tr> 975 </table> 976</div> 977<div class="memdoc"> 978 979<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, <a class="el" href="lnx-keyboard_8c.html#a49faeb3e9d06f702f1bd45ffc6f7c8b7">kbdLinuxActivate()</a>, <a class="el" href="lnx-keyboard_8c.html#aefe715d8634268857806b5655cb70466">kbdLinuxGetCurrentVTNumber()</a>, <a class="el" href="lnx-keyboard_8c.html#a198a0f886cb4a350bfe714c16e92c44d">kbdLinuxGetFreeVTNumber()</a>, <a class="el" href="lnx-keyboard_8c.html#af405cce5d5bbc25171b425782f6e0b92">kbdLinuxOpenVT()</a>, <a class="el" href="lnx-keyboard_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>, and <a class="el" href="lnx-keyboard_8c.html#af8a3e30cb4858ca8a098acae107286c0">MESSAGE</a>.</p> 980 981<p>Referenced by <a class="el" href="lnx-keyboard_8h.html#a24c8cbb95ad1f21d590f57cdb22c25f4">kbdLinuxInit()</a>.</p> 982 983</div> 984</div> 985<a class="anchor" id="af405cce5d5bbc25171b425782f6e0b92"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxOpenVT" ref="af405cce5d5bbc25171b425782f6e0b92" args="(int vtno)" --> 986<div class="memitem"> 987<div class="memproto"> 988 <table class="memname"> 989 <tr> 990 <td class="memname">static int kbdLinuxOpenVT </td> 991 <td>(</td> 992 <td class="paramtype">int </td> 993 <td class="paramname"><em>vtno</em></td><td>)</td> 994 <td><code> [static]</code></td> 995 </tr> 996 </table> 997</div> 998<div class="memdoc"> 999 1000<p>References <a class="el" href="lnx-keyboard_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>, and <a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a>.</p> 1001 1002<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>.</p> 1003 1004</div> 1005</div> 1006<a class="anchor" id="a582fe5af774d898b85edb42116598890"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxPrefix0Mapping" ref="a582fe5af774d898b85edb42116598890" args="(unsigned char *scanCode)" --> 1007<div class="memitem"> 1008<div class="memproto"> 1009 <table class="memname"> 1010 <tr> 1011 <td class="memname">static int kbdLinuxPrefix0Mapping </td> 1012 <td>(</td> 1013 <td class="paramtype">unsigned char * </td> 1014 <td class="paramname"><em>scanCode</em></td><td>)</td> 1015 <td><code> [static]</code></td> 1016 </tr> 1017 </table> 1018</div> 1019<div class="memdoc"> 1020 1021<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a67b95ff06cbdb5de12cc01954aa7b67e">kbdLinuxPrefixMapping()</a>.</p> 1022 1023</div> 1024</div> 1025<a class="anchor" id="a67b95ff06cbdb5de12cc01954aa7b67e"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxPrefixMapping" ref="a67b95ff06cbdb5de12cc01954aa7b67e" args="(myPrivate *priv, unsigned char *scanCode)" --> 1026<div class="memitem"> 1027<div class="memproto"> 1028 <table class="memname"> 1029 <tr> 1030 <td class="memname">static int kbdLinuxPrefixMapping </td> 1031 <td>(</td> 1032 <td class="paramtype"><a class="el" href="struct__myPrivate.html">myPrivate</a> * </td> 1033 <td class="paramname"><em>priv</em>, </td> 1034 </tr> 1035 <tr> 1036 <td class="paramkey"></td> 1037 <td></td> 1038 <td class="paramtype">unsigned char * </td> 1039 <td class="paramname"><em>scanCode</em> </td> 1040 </tr> 1041 <tr> 1042 <td></td> 1043 <td>)</td> 1044 <td></td><td><code> [static]</code></td> 1045 </tr> 1046 </table> 1047</div> 1048<div class="memdoc"> 1049 1050<p>References <a class="el" href="lnx-keyboard_8c.html#a582fe5af774d898b85edb42116598890">kbdLinuxPrefix0Mapping()</a>, and <a class="el" href="struct__myPrivate.html#a35c7eda9702b723812312689bf412424">_myPrivate::prefix</a>.</p> 1051 1052<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a6338eb254610cdbf7942ad91f23c36fe">kbdLinuxConvert()</a>.</p> 1053 1054</div> 1055</div> 1056<a class="anchor" id="aa7781cedb743039542090faf43d9423f"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxRead" ref="aa7781cedb743039542090faf43d9423f" args="(DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)" --> 1057<div class="memitem"> 1058<div class="memproto"> 1059 <table class="memname"> 1060 <tr> 1061 <td class="memname">void kbdLinuxRead </td> 1062 <td>(</td> 1063 <td class="paramtype">DevicePtr </td> 1064 <td class="paramname"><em>pDev</em>, </td> 1065 </tr> 1066 <tr> 1067 <td class="paramkey"></td> 1068 <td></td> 1069 <td class="paramtype">MOTIONPROC </td> 1070 <td class="paramname"><em>motion</em>, </td> 1071 </tr> 1072 <tr> 1073 <td class="paramkey"></td> 1074 <td></td> 1075 <td class="paramtype">ENQUEUEPROC </td> 1076 <td class="paramname"><em>enqueue</em>, </td> 1077 </tr> 1078 <tr> 1079 <td class="paramkey"></td> 1080 <td></td> 1081 <td class="paramtype">CHECKPROC </td> 1082 <td class="paramname"><em>checkspecial</em>, </td> 1083 </tr> 1084 <tr> 1085 <td class="paramkey"></td> 1086 <td></td> 1087 <td class="paramtype">BLOCK </td> 1088 <td class="paramname"><em>block</em> </td> 1089 </tr> 1090 <tr> 1091 <td></td> 1092 <td>)</td> 1093 <td></td><td></td> 1094 </tr> 1095 </table> 1096</div> 1097<div class="memdoc"> 1098<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> 1099 1100<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, and <a class="el" href="lnx-keyboard_8c.html#a6338eb254610cdbf7942ad91f23c36fe">kbdLinuxConvert()</a>.</p> 1101 1102</div> 1103</div> 1104<a class="anchor" id="acc3cbed3f7e836f032b2e131baeb4800"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxReadKernelMapping" ref="acc3cbed3f7e836f032b2e131baeb4800" args="(int fd, KeySymsPtr pKeySyms)" --> 1105<div class="memitem"> 1106<div class="memproto"> 1107 <table class="memname"> 1108 <tr> 1109 <td class="memname">static void kbdLinuxReadKernelMapping </td> 1110 <td>(</td> 1111 <td class="paramtype">int </td> 1112 <td class="paramname"><em>fd</em>, </td> 1113 </tr> 1114 <tr> 1115 <td class="paramkey"></td> 1116 <td></td> 1117 <td class="paramtype">KeySymsPtr </td> 1118 <td class="paramname"><em>pKeySyms</em> </td> 1119 </tr> 1120 <tr> 1121 <td></td> 1122 <td>)</td> 1123 <td></td><td><code> [static]</code></td> 1124 </tr> 1125 </table> 1126</div> 1127<div class="memdoc"> 1128 1129<p>References <a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a>, <a class="el" href="usb-keyboard_8c.html#a6238ada986dd7e452a89773c2252a96d">GLYPHS_PER_KEY</a>, <a class="el" href="lnx-keyboard_8c.html#a8448907727701c5b1fd1001458ccd62c">linux_to_x</a>, <a class="el" href="usb-keyboard_8c.html#a2187a19657fb0b38c67dbafc7dd74c4d">map</a>, and <a class="el" href="lnx-keyboard_8c.html#aa472fa3dc86eaccfc92bb0caf47bdcd9">NUM_AT2LNX</a>.</p> 1130 1131<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#ad3e8695c18469949e1ed00f7cd8055a5">kbdLinuxGetMap()</a>.</p> 1132 1133</div> 1134</div> 1135<a class="anchor" id="a8c0e2439e4991b78f99c79e90f5e474d"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxVTPostSwitch" ref="a8c0e2439e4991b78f99c79e90f5e474d" args="(pointer p)" --> 1136<div class="memitem"> 1137<div class="memproto"> 1138 <table class="memname"> 1139 <tr> 1140 <td class="memname">void kbdLinuxVTPostSwitch </td> 1141 <td>(</td> 1142 <td class="paramtype">pointer </td> 1143 <td class="paramname"><em>p</em></td><td>)</td> 1144 <td></td> 1145 </tr> 1146 </table> 1147</div> 1148<div class="memdoc"> 1149<p>Currently unused hook called after returning from a VT switch. </p> 1150 1151</div> 1152</div> 1153<a class="anchor" id="a50fd258e64aa03fd197af2a1a8306b32"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxVTPreSwitch" ref="a50fd258e64aa03fd197af2a1a8306b32" args="(pointer p)" --> 1154<div class="memitem"> 1155<div class="memproto"> 1156 <table class="memname"> 1157 <tr> 1158 <td class="memname">void kbdLinuxVTPreSwitch </td> 1159 <td>(</td> 1160 <td class="paramtype">pointer </td> 1161 <td class="paramname"><em>p</em></td><td>)</td> 1162 <td></td> 1163 </tr> 1164 </table> 1165</div> 1166<div class="memdoc"> 1167<p>Currently unused hook called prior to an VT switch. </p> 1168 1169</div> 1170</div> 1171<a class="anchor" id="a93a481bcaf8d735c29c8b8114cf68eba"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxVTSignalHandler" ref="a93a481bcaf8d735c29c8b8114cf68eba" args="(int sig)" --> 1172<div class="memitem"> 1173<div class="memproto"> 1174 <table class="memname"> 1175 <tr> 1176 <td class="memname">static void kbdLinuxVTSignalHandler </td> 1177 <td>(</td> 1178 <td class="paramtype">int </td> 1179 <td class="paramname"><em>sig</em></td><td>)</td> 1180 <td><code> [static]</code></td> 1181 </tr> 1182 </table> 1183</div> 1184<div class="memdoc"> 1185 1186<p>References <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, <a class="el" href="lnx-keyboard_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>, <a class="el" href="lnx-keyboard_8c.html#a4feca68f31d2c2170bef7d62f747dd88">PRIV</a>, <a class="el" href="struct__myPrivate.html#ab4797772b07f0fc6aca12ca15bf58b26">_myPrivate::switch_return</a>, <a class="el" href="struct__myPrivate.html#a263e4371987e44a409cae181d97ce60b">_myPrivate::switch_return_data</a>, and <a class="el" href="struct__myPrivate.html#a7b46718db81521ae01ffbbe8f32a0203">_myPrivate::switched</a>.</p> 1187 1188<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a49faeb3e9d06f702f1bd45ffc6f7c8b7">kbdLinuxActivate()</a>.</p> 1189 1190</div> 1191</div> 1192<a class="anchor" id="a7e6977d8d414fb1b62710835ca763af4"></a><!-- doxytag: member="lnx-keyboard.c::kbdLinuxVTSwitch" ref="a7e6977d8d414fb1b62710835ca763af4" args="(pointer p, int vt, void(*switch_return)(pointer), pointer switch_return_data)" --> 1193<div class="memitem"> 1194<div class="memproto"> 1195 <table class="memname"> 1196 <tr> 1197 <td class="memname">int kbdLinuxVTSwitch </td> 1198 <td>(</td> 1199 <td class="paramtype">pointer </td> 1200 <td class="paramname"><em>p</em>, </td> 1201 </tr> 1202 <tr> 1203 <td class="paramkey"></td> 1204 <td></td> 1205 <td class="paramtype">int </td> 1206 <td class="paramname"><em>vt</em>, </td> 1207 </tr> 1208 <tr> 1209 <td class="paramkey"></td> 1210 <td></td> 1211 <td class="paramtype">void(*)(pointer) </td> 1212 <td class="paramname"><em>switch_return</em>, </td> 1213 </tr> 1214 <tr> 1215 <td class="paramkey"></td> 1216 <td></td> 1217 <td class="paramtype">pointer </td> 1218 <td class="paramname"><em>switch_return_data</em> </td> 1219 </tr> 1220 <tr> 1221 <td></td> 1222 <td>)</td> 1223 <td></td><td></td> 1224 </tr> 1225 </table> 1226</div> 1227<div class="memdoc"> 1228<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> 1229 1230<p>References <a class="el" href="lnx-keyboard_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>, <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, <a class="el" href="lnx-keyboard_8c.html#a49faeb3e9d06f702f1bd45ffc6f7c8b7">kbdLinuxActivate()</a>, <a class="el" href="struct__myPrivate.html#ab4797772b07f0fc6aca12ca15bf58b26">_myPrivate::switch_return</a>, <a class="el" href="struct__myPrivate.html#a263e4371987e44a409cae181d97ce60b">_myPrivate::switch_return_data</a>, <a class="el" href="struct__myPrivate.html#a7b46718db81521ae01ffbbe8f32a0203">_myPrivate::switched</a>, and <a class="el" href="struct__myPrivate.html#a463f3cda6fa6032ea0d976d35cd11c30">_myPrivate::vtno</a>.</p> 1231 1232</div> 1233</div> 1234<hr/><h2>Variable Documentation</h2> 1235<a class="anchor" id="a87773afe2af683304ea3a365f360b624"></a><!-- doxytag: member="lnx-keyboard.c::at2lnx" ref="a87773afe2af683304ea3a365f360b624" args="[NUM_KEYCODES]" --> 1236<div class="memitem"> 1237<div class="memproto"> 1238 <table class="memname"> 1239 <tr> 1240 <td class="memname">unsigned char <a class="el" href="lnx-keyboard_8c.html#a87773afe2af683304ea3a365f360b624">at2lnx</a>[NUM_KEYCODES]<code> [static]</code></td> 1241 </tr> 1242 </table> 1243</div> 1244<div class="memdoc"> 1245 1246<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#acc3cbed3f7e836f032b2e131baeb4800">kbdLinuxReadKernelMapping()</a>.</p> 1247 1248</div> 1249</div> 1250<a class="anchor" id="a8448907727701c5b1fd1001458ccd62c"></a><!-- doxytag: member="lnx-keyboard.c::linux_to_x" ref="a8448907727701c5b1fd1001458ccd62c" args="[256]" --> 1251<div class="memitem"> 1252<div class="memproto"> 1253 <table class="memname"> 1254 <tr> 1255 <td class="memname">KeySym <a class="el" href="lnx-keyboard_8c.html#a8448907727701c5b1fd1001458ccd62c">linux_to_x</a>[256]<code> [static]</code></td> 1256 </tr> 1257 </table> 1258</div> 1259<div class="memdoc"> 1260 1261<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#acc3cbed3f7e836f032b2e131baeb4800">kbdLinuxReadKernelMapping()</a>.</p> 1262 1263</div> 1264</div> 1265<a class="anchor" id="a4feca68f31d2c2170bef7d62f747dd88"></a><!-- doxytag: member="lnx-keyboard.c::PRIV" ref="a4feca68f31d2c2170bef7d62f747dd88" args="" --> 1266<div class="memitem"> 1267<div class="memproto"> 1268 <table class="memname"> 1269 <tr> 1270 <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> 1271 </tr> 1272 </table> 1273</div> 1274<div class="memdoc"> 1275 1276<p>Referenced by <a class="el" href="lnx-keyboard_8c.html#a93a481bcaf8d735c29c8b8114cf68eba">kbdLinuxVTSignalHandler()</a>.</p> 1277 1278</div> 1279</div> 1280</div> 1281</div> 1282 <div id="nav-path" class="navpath"> 1283 <ul> 1284 <li class="navelem"><a class="el" href="lnx-keyboard_8c.html">lnx-keyboard.c</a> </li> 1285 <hr> 1286 <address> 1287 <small> 1288 Generated June 29, 2004 for <a 1289 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by 1290 <a href="http://www.doxygen.org/index.html">doxygen</a> 1291 1.3.4. 1292 </small> 1293 </addres> 1294 </hr> 1295 </body> 1296</html> 1297