1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Tty getting & leaving</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> </center>
<hr><h1>Tty getting & leaving</h1>How to take control of ttys for direct braille display / read.
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__brlapi__tty.html#a2">BRLKEYCODES</a> ((uint32_t) 1)</td></tr>
<tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__brlapi__tty.html#a3">BRLCOMMANDS</a> ((uint32_t) 2)</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group__brlapi__tty.html#a0">brlapi_getTty</a> (uint32_t tty, uint32_t how, <a class="el" href="structbrlapi__keybinding__t.html">brlapi_keybinding_t</a> *keybinding)</td></tr>
<tr><td nowrap align=right valign=top>int </td><td valign=bottom><a class="el" href="group__brlapi__tty.html#a1">brlapi_leaveTty</a> (void)</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Before being able to write on the braille display, the application must tell the server which tty it will handle. Some checking is done just to be sure that only one client gets control of each tty.
<p>
The application must also specify how braille keys will be delivered to it. Two ways are possible: KEYCODES and COMMANDS
<p>
<ul>
<li>KEYCODES are specific to each braille driver, since the raw keycode, as defined in the driver will be given for each key press. Using them leads to building highly driver-dependent applications, which can yet sometimes be useful to mimic existing proprietary applications for instance.<li>COMMANDS means that applications will get exactly the same values as <em>brltty</em>. This allows driver-independent clients, which will hopefully be nice to use with a lot of different terminals </ul>
<dl compact><dt><b>See also: </b></dt><dd>
<a class="el" href="group__brlapi__keys.html#a1">brlapi_readKey()</a> <a class="el" href="group__brlapi__keys.html#a2">brlapi_readCommand()</a> <a class="el" href="group__brlapi__keys.html#a3">brlapi_readBinding()</a> </dl><hr><h2>Define Documentation</h2>
<a name="a3" doxytag="brlapi.h::BRLCOMMANDS"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BRLCOMMANDS ((uint32_t) 2)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
ask for <em>brltty</em> commands </td>
</tr>
</table>
<a name="a2" doxytag="brlapi.h::BRLKEYCODES"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> #define BRLKEYCODES ((uint32_t) 1)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
ask for raw driver keycodes </td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a0" doxytag="brlapi.h::brlapi_getTty"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> int brlapi_getTty </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">uint32_t </td>
<td class="mdname" nowrap> <em>tty</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>uint32_t </td>
<td class="mdname" nowrap> <em>how</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="structbrlapi__keybinding__t.html">brlapi_keybinding_t</a> * </td>
<td class="mdname" nowrap> <em>keybinding</em></td>
</tr>
<tr>
<td></td>
<td class="md">) </td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
ask for some tty, with some key mechanism<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tty</em> </td><td>
* - If tty>0, application takes control of the specified tty;<ul>
<li>if tty==0, the library calls <a class="el" href="group__brlapi__connection.html#a3">brlapi_getControllingTty()</a> itself and takes control of the result.</ul>
</td></tr>
</table>
</dl><dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>how</em> </td><td>
tells whether the application wants <a class="el" href="group__brlapi__keys.html#a1">brlapi_readKey()</a> to return keycodes or <em>brltty</em> commands: either BRLKEYCODES or BRLCOMMANDS;</td></tr>
<tr><td valign=top><em>keybinding</em> </td><td>
tells settings for bindings. This is only necessary if <a class="el" href="group__brlapi__keys.html#a3">brlapi_readBinding()</a> will be called; else <code>NULL</code> can be given.</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
0 on success, -1 on error </dl> </td>
</tr>
</table>
<a name="a1" doxytag="brlapi.h::brlapi_leaveTty"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> int brlapi_leaveTty </td>
<td class="md" valign="top">( </td>
<td class="md" nowrap valign="top">void </td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">) </td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
</td>
<td>
<p>
stop controlling the tty
<p>
<dl compact><dt><b>Returns: </b></dt><dd>
0 on success, -1 on error. </dl> </td>
</tr>
</table>
<hr><address style="align: right;"><small>Generated on Thu Jan 15 13:21:27 2004 for BrlAPI by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.2.18 </small></address>
</body>
</html>
|