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 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
|
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>IBus-typing-booster README</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<h1 id="ibus-typing-booster">Ibus-typing-booster</h1>
<p>Get faster typing experience by intelligent context sensitive completion.</p>
<h2 id="backdrop--introduction">Backdrop & Introduction</h2>
<p><em>Ibus-typing-booster</em> is a completion input method to speed-up typing.</p>
<p>The project was started in 2010 for <a href="https://en.wikipedia.org/wiki/Fedora_version_history#Fedora_15">Fedora 15</a>. The original purpose was to make typing of Indic languages easier and faster by providing completion and spell checking suggestions.</p>
<p>Originally it was forked from <a href="https://github.com/acevery/ibus-table">ibus-table</a> whose developer was Yu Yuwei <a href="mailto:acevery@gmail.com">acevery@gmail.com</a>, with contributions from Caius("kaio") <a href="mailto:chanceme@kaio.net">chanceme@kaio.net</a>.</p>
<p>Since then <em>ibus-typing-booster</em> has been improved to support many other languages as well (i.e. most languages except Chinese and Japanese are supported).</p>
<p>Recently the capability to type different languages at the same time without having to switch between languages has been added.</p>
<h2 id="developers">Developers</h2>
<ul>
<li>Mike Fabian <a href="mailto:mfabian@redhat.com">mfabian@redhat.com</a></li>
<li>Anish Patil: <a href="mailto:anish.developer@gmail.com">anish.developer@gmail.com</a></li>
</ul>
<h2 id="features">Features</h2>
<ul>
<li>Context sensitive completions.</li>
<li>Learns from user input.</li>
<li>Can be trained by supplying files containing typical user input.</li>
<li>If available, <a href="https://github.com/hunspell/hunspell">hunspell dictionaries</a> will also be used to provide not only completion but also spellchecking suggestions (But <em>ibus-typing-booster</em> can also work without <em>hunspell</em> by learning from user input alone).</li>
<li>Can be used with almost any keyboard layout.</li>
<li>Almost all input methods supplied by <a href="https://pkgs.org/download/libm17n.so.0">libm17n</a> are supported (including the <a href="https://fedoraproject.org/wiki/QA:Inscript2_Keymaps">inscript2</a> input methods).</li>
<li>Several input methods and languages can be used at the same time without switching.</li>
<li>Predicts <a href="https://en.wikipedia.org/wiki/Unicode">Unicode</a> symbols and emojis as well.</li>
</ul>
<h2 id="online-documentation">Online documentation</h2>
<p>You can find online documentation here:</p>
<ul>
<li><a href="http://mike-fabian.github.io/ibus-typing-booster/"><em>ibus-typing-booster</em> home page on github</a></li>
<li><a href="http://mike-fabian.github.io/ibus-typing-booster/documentation.html"><em>ibus-typing-booster</em> documentation page</a></li>
</ul>
<h2 id="feature-requests--bug-reports">Feature Requests & Bug reports</h2>
<ul>
<li>You can report bugs here: <a href="https://github.com/mike-fabian/ibus-typing-booster/issues"><em>ibus-typing-booster</em> issue tracker on github</a></li>
<li>Request for new features here: <a href="https://github.com/mike-fabian/ibus-typing-booster/pulls"><em>ibus-typing-booster</em> pull request on github</a></li>
</ul>
<h2 id="contributing-translations">Contributing translations</h2>
<p>The best (& the easiest) way to contribute translations is using this <a href="https://translate.fedoraproject.org/projects/ibus-typing-booster/">online translation platform</a>.</p>
<h2 id="development">Development</h2>
<p>If you want to build from source or contribute to the development, see the <a href="http://mike-fabian.github.io/ibus-typing-booster/development.html">ibus-typing-booster development page</a>. There you'd also find the requirements for building from source for most systems.</p>
<h2 id="table-of-default-key-bindings">Table of default key bindings</h2>
<ul>
<li><a href="http://mike-fabian.github.io/ibus-typing-booster/documentation.html#key-bindings">Default key bindings</a></li>
<li><a href="http://mike-fabian.github.io/ibus-typing-booster/documentation.html#mouse-bindings">Default mouse bindings</a></li>
</ul>
<p><em>Note: A copy of these bindings is also shown below for convenience. Some of these key bindings can be customized in the setup tool.</em></p>
<p>The following table explains the defaults:</p>
<table>
<thead>
<tr class="header">
<th>Key Combination</th>
<th>Effect</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><kbd>Space</kbd></td>
<td>Commit the preëdit (or the selected candidate, if any) and send a <kbd>Space</kbd> to the application, i.e. commit the typed string followed by a space.</td>
</tr>
<tr class="even">
<td><kbd>Return</kbd> or <kbd>Enter</kbd></td>
<td>Commit the preëdit (or the selected candidate, if any) and send a <kbd>Return</kbd> or <kbd>Enter</kbd> to the application.</td>
</tr>
<tr class="odd">
<td><kbd>Tab</kbd></td>
<td>Bound by default to the commands "select_next_candidate" and "enable_lookup".<ul><li> If the option "Enable suggestions by <kbd>Tab</kbd>" <em>is not set</em> (☐) then <kbd>Tab</kbd> always just executes "select_next_candidate" which selects the next candidate from the candidate list.</li><li>If the option "Enable suggestions by <kbd>Tab</kbd>" <em>is set</em> (☑), then no candidate list is shown by default: </li><ul><li>If no candidate list is shown: "enable_lookup" is executed which requests to show the candidate list (nothing might be shown if no candidates can be found).</li><li>If a candidate list is already shown: "select_next_candidate" is executed which selects the next candidate in the list. After each commit and after each change of the contents of the preëdit, the candidate list will be hidden again until the "enable_lookup" requests it again.</li></ul></ul></td>
</tr>
<tr class="even">
<td><kbd>Shift</kbd>+<kbd>Tab</kbd></td>
<td>Bound by default to the command "select_previous_candidate". Selects the previous candidate in the candidate list.</td>
</tr>
<tr class="odd">
<td><kbd>Esc</kbd></td>
<td>Bound by default to the command "cancel".<ul><li>When a candidate is selected (no matter whether this is a normal lookup table or a "related" lookup table): Show the first page of that lookup table again with no candidate selected.</li><li>When no candidate is selected:</li><ul><li>When a lookup table with related candidates is shown or a lookup table where upper/lower-case has been changed by typing the Shift key is shown: go back to the original lookup table.</li><li>When a normal lookup table is shown: close it and clear the preëdit.</li></ul></ul></td>
</tr>
<tr class="even">
<td><kbd>←</kbd></td>
<td>Move cursor one typed key left in the preëdit text. May trigger a commit if the left end of the preëdit is reached.</td>
</tr>
<tr class="odd">
<td><kbd>Control</kbd>+<kbd>←</kbd></td>
<td>Move cursor to the left end of the preëdit text. If the cursor is already at the left end of the preëdit text, trigger a commit and send a <kbd>Control</kbd>+<kbd>←</kbd> to the application.</td>
</tr>
<tr class="even">
<td><kbd>→</kbd></td>
<td>Move cursor one typed key right in preëdit text. May trigger a commit if the right end of the preëdit is reached.</td>
</tr>
<tr class="odd">
<td><kbd>Ctrl</kbd>+<kbd>→</kbd></td>
<td>Move cursor to the right end of the preëdit text. If the cursor is already at the right end of the preëdit text, trigger a commit and send a <kbd>Ctrl</kbd>+<kbd>→</kbd> to the application.</td>
</tr>
<tr class="even">
<td><kbd>Backspace</kbd></td>
<td>Remove the typed key to the left of the cursor in the preëdit text.</td>
</tr>
<tr class="odd">
<td><kbd>Ctrl</kbd>+<kbd>Backspace</kbd></td>
<td>Remove everything to the left of the cursor in the preëdit text.</td>
</tr>
<tr class="even">
<td><kbd>Delete</kbd></td>
<td>Remove the typed key to the right of the cursor in the preëdit text.</td>
</tr>
<tr class="odd">
<td><kbd>Ctrl</kbd>+<kbd>Delete</kbd></td>
<td>Remove everything to the right of the cursor in the preëdit text.</td>
</tr>
<tr class="even">
<td><kbd>↓</kbd></td>
<td>Bound by default to the command "select_next_candidate". Selects the next candidate.</td>
</tr>
<tr class="odd">
<td><kbd>↑</kbd></td>
<td>Bound by default to the command "select_previous_candidate". Selects the previous candidate.</td>
</tr>
<tr class="even">
<td><kbd>Pg Up</kbd></td>
<td>Bound by default to the command "lookup_table_page_up". Shows the previous page of candidates.</td>
</tr>
<tr class="odd">
<td><kbd>Pg Down</kbd></td>
<td>Bound by default to the command "lookup_table_page_down". Shows the next page of candidates.</td>
</tr>
<tr class="even">
<td><kbd>F1</kbd></td>
<td>Commit the candidate with the label "1" followed by a space.</td>
</tr>
<tr class="odd">
<td><kbd>F2</kbd></td>
<td>Commit the candidate with the label "2" followed by a space.</td>
</tr>
<tr class="even">
<td>...</td>
<td>...</td>
</tr>
<tr class="odd">
<td><kbd>F9</kbd></td>
<td>Commit the candidate with the label "9" followed by a space.</td>
</tr>
<tr class="even">
<td><kbd>Ctrl</kbd>+<kbd>F1</kbd></td>
<td>Remove the candidate with the label "1" from the database of learned user input (If possible, if this candidate is not learned from user input, nothing happens).</td>
</tr>
<tr class="odd">
<td><kbd>Ctrl</kbd>+<kbd>F2</kbd></td>
<td>Remove the candidate with the label "2" from the database of learned user input (If possible, if this candidate is not learned from user input, nothing happens).</td>
</tr>
<tr class="even">
<td>...</td>
<td>...</td>
</tr>
<tr class="odd">
<td><kbd>Ctrl</kbd>+<kbd>F9</kbd></td>
<td>Remove the candidate with the label "3" from the database of learned user input (If possible, if this candidate is not learned from user input, nothing happens).</td>
</tr>
<tr class="even">
<td><kbd>1</kbd>...<kbd>9</kbd></td>
<td>Same as <kbd>F1</kbd>...<kbd>F9</kbd> if the option "Use digits as select keys" is enabled. Enabling that option makes selecting candidates a bit easier because the number keys <kbd>1</kbd>...<kbd>9</kbd> are closer to the fingers than <kbd>F1</kbd>...<kbd>F9</kbd> on most keyboards. On the other hand, it makes completing when typing numbers impossible and it makes typing strings which are combinations of letters and numbers like "A4" more difficult. If digits are used as select keys, numbers can only be typed when no candidate list is shown. In most cases this means that numbers can only be typed when nothing else has been typed yet and the preëdit is empty.</td>
</tr>
<tr class="odd">
<td><kbd>Ctrl</kbd>+<kbd>1</kbd>...<kbd>Ctrl</kbd>+<kbd>9</kbd></td>
<td>Same as <kbd>Ctrl</kbd>+<kbd>F1</kbd>...<kbd>Ctrl</kbd>+<kbd>F9</kbd> if the option “Use digits as select keys” is enabled.</td>
</tr>
<tr class="even">
<td><kbd>Alt</kbd>+<kbd>F6</kbd></td>
<td>Bound by default to the command "toggle_emoji_prediction". Toggle the emoji and Unicode symbol prediction on/off. This has the same result as using the setup tool to change this.</td>
</tr>
<tr class="odd">
<td><kbd>Alt</kbd>+<kbd>F9</kbd></td>
<td>Bound by default to the command "toggle_off_the_record". Toggle the "Off the record" mode. This has the same result as using the setup tool to change this. While "Off the record" mode is on, learning from user input is disabled. If learned user input is available, predictions are usually much better than predictions using only dictionaries. Therefore, one should use this option sparingly. Only if one wants to avoid saving secret user input to disk it might make sense to use this option temporarily.</td>
</tr>
<tr class="even">
<td><kbd>Alt</kbd>+<kbd>F10</kbd></td>
<td>Bound by default to the command "setup". Opens the setup tool.</td>
</tr>
<tr class="odd">
<td><kbd>Alt</kbd>+<kbd>F12</kbd></td>
<td>Bound by default to the command "lookup_related". Shows related emoji and Unicode symbols or related words.</td>
</tr>
<tr class="even">
<td><kbd>Alt</kbd>+<kbd>Space</kbd></td>
<td>Insert a literal space into the preëdit.</td>
</tr>
</tbody>
</table>
<p>When more than one input method at the same time is used, the following additional key bindings are available:</p>
<table>
<thead>
<tr class="header">
<th>Key Combination</th>
<th>Effect</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><kbd>Ctrl</kbd>+<kbd>↓</kbd></td>
<td>Bound by default to the command "next_input_method". Switches the input method used for the preëdit to the next input method.</td>
</tr>
<tr class="even">
<td><kbd>Ctrl</kbd>+<kbd>↑</kbd></td>
<td>Bound by default to the command "previous_input_method". Switches the input method used for the preëdit to the previous method.</td>
</tr>
</tbody>
</table>
<h2 id="mouse-bindings">Mouse bindings</h2>
<p><em>These mouse bindings are currently hard-coded and cannot yet be customized.</em></p>
<table>
<thead>
<tr class="header">
<th>Mouse Event</th>
<th>Effect</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Button 1 click on a candidate</td>
<td>Commit the candidate clicked on followed by a space (Same as <kbd>F1</kbd>...<kbd>F9</kbd>).</td>
</tr>
<tr class="even">
<td><kbd>Ctrl</kbd> + Button 1 click on a candidate</td>
<td>Remove clicked candidate from database of learned user input (If possible, if this candidate is not learned from user input, nothing happens).</td>
</tr>
<tr class="odd">
<td>Button 3 clicks on a candidate</td>
<td>Show related emoji and Unicode symbols or related words (Same as <kbd>Alt</kbd>+<kbd>F12</kbd>).</td>
</tr>
<tr class="even">
<td><kbd>Ctrl</kbd> + Button 3 clicks anywhere in the candidate list</td>
<td>Toggle the emoji and Unicode symbol prediction on/off (Same as <kbd>Alt</kbd>+<kbd>F6</kbd>). This has the same result as using the setup tool to change this.</td>
</tr>
<tr class="odd">
<td><kbd>Alt</kbd> + Button 3 clicks anywhere in the candidate list</td>
<td>Toggle the “Off the record” mode (Same as <kbd>Alt</kbd>+<kbd>F9</kbd>).<br>This has the same result as using the setup tool to change this.<br>While "Off the record" mode is on, learning from user input is disabled. If learned user input is available, predictions are usually much better than those which predictions use only dictionaries. Therefore, one should use this option sparingly. Only if one wants to avoid saving secret user input to disk it might make sense to use this option temporarily.</td>
</tr>
</tbody>
</table>
</body>
</html>
|