You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

388 lines
16 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kvkbd "<application>Kvkbd</application>">
<!ENTITY xmmp "<application>xmodmap</application>">
<!ENTITY Caps "<keycap>Caps</keycap>">
<!ENTITY AltGr "<keycap>Alt Gr</keycap>">
<!-- Alt Gr uses U+00a0 for nbsp -->
<!ENTITY kappname "&kvkbd;">
<!ENTITY package "kde-module">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE">
]>
<book lang="&language;">
<bookinfo>
<title>The &kvkbd; Handbook</title>
<authorgroup>
<author>
<personname><firstname>Todor</firstname><surname>Gyumyushev</surname></personname><email>yodor1@gmail.com</email>
</author>
<author>
<personname><firstname>Guillaume</firstname><surname>Martres</surname></personname><email>smarter@ubuntu.com</email>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright>
<year>2007-2014</year>
<holder>Todor Gyumyushev</holder>
</copyright>
<copyright>
<year>2008</year>
<holder>Guillaume Martres</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<date>2021</date>
<releaseinfo>0.4.8 &tde;</releaseinfo>
<abstract>
&kvkbd; is a virtual keyboard for &tde;
</abstract>
<keywordset>
<keyword>TDE</keyword>
<keyword>Kvkbd</keyword>
<keyword>keyboard</keyword>
<keyword>virtual</keyword>
<keyword>accessibility</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
&kvkbd; is a simple virtual keyboard for &tde;.
<sbr/>It can be used with, or instead of, a physical keyboard or for devices with a touch screen but no keyboard.
<sbr/>It is also useful for displaying a keyboard mapping to identify what characters are defined.
</chapter>
<chapter id="using-kvkbd">
<title>Using &kvkbd;</title>
<sect1 id="kvkbd-interface">
<title>&kvkbd; interface</title>
When first launched, &kvkbd; will appear in the bottom-right corner of the screen.
<sbr/>It can be moved by clicking and dragging on any part of the background area.
<sbr/>Resize it by clicking and dragging on the stripes at the bottom right.
<sbr/><sbr/>The default style will be the system style which can be overridden whether launched from the command line or via the .desktop file with any &tde; or &TQt; style installed on the system.
<sbr/>Example: <command>kvkbd --style plastik</command>, as shown here.
<sbr/><sbr/>The <guiicon><inlinegraphic fileref="exit-btn.png"/></guiicon> button on the top right is used to hide the keyboard - to show it again, just click on the tray icon.
<sbr/><sbr/>
<emphasis role="bold">French keyboard:</emphasis>
<sbr/>The AD11 key, ringed, is a <link linkend='dead-keys'>dead key</link>.
<mediaobject><imageobject>
<imagedata fileref="kvkbd.png" format="PNG"/>
</imageobject></mediaobject>
<sbr/>
To use the numeric keypad, click the double arrow <guiicon><inlinegraphic fileref="num-pad-btn.png"/></guiicon> on the right.
<sbr/>The Num pad display can be toggled by clicking on the Num Lock key <keycap>&#x02116;</keycap>.
<mediaobject><imageobject>
<imagedata fileref="num-pad.png" format="PNG"/>
</imageobject></mediaobject>
<sbr/>
To display and select the shift characters:
<sbr/>&nbsp;&#x02022; Click either &Shift; key, which will 'lock', and the shift characters will be displayed.
<sbr/>&nbsp;&#x02022; Then click on the character to print it.
<sbr/><sbr/>
<emphasis role="bold">Spanish keyboard shift characters:</emphasis>
<mediaobject><imageobject>
<imagedata fileref="kvkbds.png" format="PNG"/>
</imageobject></mediaobject>
<sbr/>
3rd &amp; 4th level characters which are printed using &AltGr; &amp; &AltGr;+&Shift; as modifier keys, can be displayed and printed in a similar way.
<sbr/><sbr/>
There are therefore four sets of characters which can be displayed -
<sbr/>
<keycap>Lower</keycap>&ensp; &Shift;&ensp; &AltGr;&ensp; &AltGr;+&Shift;
<sbr/><sbr/>
For each of these, &Caps; will toggle the case of alpha characters where a lower/upper pair is defined in UnicodeData.txt &amp;&amp; &TQt; &amp;&amp; libX11.
</sect1>
<sect1 id="config-menu">
<title>The configuration menu</title>
The &kvkbd; configuration menu is accessible by clicking on the configuration button <guiicon><inlinegraphic fileref="config-btn.png"/></guiicon> or by right clicking on the tray icon.
<mediaobject><imageobject>
<imagedata fileref="config-menu.png" format="PNG" />
</imageobject></mediaobject>
Select "<emphasis role="bold">Font</emphasis>" to choose the font used to display the characters and text on the keys.
<sbr/>Allows selection of the style and size.
<sbr/><sbr/>Check "<emphasis role="bold">Auto Resize Font</emphasis>" for the font size to change as the keyboard is resized.
<sbr/><sbr/>Select "<emphasis role="bold">Background color</emphasis>" to choose a colour for the keyboard background.
<sbr/><sbr/>Select "<emphasis role="bold">Key color</emphasis>" to choose a colour for the keys/buttons.
<sbr/><sbr/>Check "<emphasis role="bold">Dock Widget</emphasis>" to display a small dock which can be placed anywhere on screen.
<sbr/>Click on the dock to hide or show the virtual keyboard.
<sbr/><sbr/>Check "<emphasis role="bold">Lock on screen</emphasis>" to fix the position and size of the keyboard on the screen.
</sect1>
<sect1 id="keys">
<title>Keys</title>
The &kvkbd; keyboard is based on the US layout with an extra key to the right of Left &Shift; for non-US keyboards - the extra key duplicates the '<emphasis role="bold">&lt;</emphasis>' and '<emphasis role="bold">></emphasis>' characters on the US keyboard.
<sbr/><sbr/>
For non-US keyboards, the key which is normally lower left of the &Enter; key is placed above the &Enter; key.
<sbr/><sbr/>
&AltGr; will enable selection of the character mapped to the lower right of any key, and &AltGr;&nbsp;&Shift; for any upper right character where they have been set up in the keyboard mapping file [<filename>&lt;path_to>/X11/xkb/symbols/</filename>].
<sbr/>
<emphasis role="bold">Note</emphasis> that there are two possible gotchas in displaying the &AltGr; characters:
<sbr/>
&nbsp; &#x02022; they tend to be less commonly used and might not have glyphs in the font being used,
<sbr/>
&nbsp; &#x02022; the keyboard mapping file needs to <emphasis role="bold">include&nbsp;"level3(ralt_switch)"</emphasis> for the variant being used.
<sbr/><sbr/>
The &Shift;, &Ctrl;, <keycap>Alt*</keycap> keys 'lock' when clicked to simulate holding down a key on a physical keyboard.
<sbr/>
Whether the <keycap>*Win</keycap> keys 'lock' will depend on the build time option chosen.
<sbr/><sbr/>
<sect2 id="dead-keys">
<title>Dead Keys</title>
Using &Shift; and/or &AltGr; which need press and hold on a physical keyboard will need click only for &kvkbd;.
<sbr/><sbr/>For example, using the AD11 key [ ˆ ] on the oss variant of the French keyboard:
<sbr/><sbr/><command>setxkbmap fr -variant oss</command>
<informaltable>
<tr>
<td>Character:</td><td></td>
<td>dead_circumflex</td><td>&nbsp;</td>
<td>dead_diaeresis</td><td></td>
<td>dead_tilde</td><td></td>
<td>dead_abovering</td>
</tr>
<tr>
<td>K/B press:</td><td></td>
<td><keycap>ˆ</keycap>&nbsp;<keycap>o</keycap></td><td></td>
<td>&Shift;+<keycap>¨</keycap>&nbsp;<keycap>u</keycap></td><td></td>
<td>&AltGr;+<keycap>ˆ</keycap>&nbsp;<keycap>e</keycap></td><td></td>
<td>&AltGr;+&Shift;+<keycap>¨</keycap>&nbsp;<keycap>a</keycap></td>
</tr>
<tr>
<td>&kvkbd;&nbsp;click:</td><td>&nbsp;</td>
<td><keycap>ˆ</keycap>&nbsp;<keycap>o</keycap></td><td></td>
<td>&Shift;&nbsp;<keycap>¨</keycap>&nbsp;<keycap>u</keycap></td><td>&nbsp;</td>
<td>&AltGr;&nbsp;<keycap>˜</keycap>&nbsp;<keycap>e</keycap></td><td>&nbsp;</td>
<td>&AltGr;&nbsp;&Shift;&nbsp;<keycap>°</keycap>&nbsp;<keycap>a</keycap></td>
</tr>
<tr>
<td>Printed:</td><td></td>
<td><emphasis role="bold">ô</emphasis></td><td></td>
<td><emphasis role="bold">ü</emphasis></td><td></td>
<td><emphasis role="bold"></emphasis></td><td></td>
<td><emphasis role="bold">å</emphasis></td>
</tr>
</informaltable>
<sbr/>
<emphasis>Note</emphasis> that &kvkbd; is compiled for keycodes defined by evdev&nbsp;&#x000bb;&nbsp;<filename>/etc/X11/xkb/keycodes/evdev</filename>.
<sbr/>&kvkbd; will have reduced functionality in systems using another keycode definitions file which can be checked by:
<literallayout> &#x02022; running <command>xev</command> in a konsole
&#x02022; pressing or clicking <keycap>Menu</keycap>
&#x02022; looking for <code><emphasis>keycode 135</emphasis></code> among the output
</literallayout>
</sect2>
<sect2 id="comb-keys">
<title>Combining Keys for diacritics</title>
A similar function to dead keys, but they follow the handwriting sequence of character+diacritic.
<sbr/><sbr/>For example, using the AE12 key [ ´ ] on the ru-recom variant of the German keyboard:
<sbr/><sbr/><command>setxkbmap de -variant ru-recom</command>
<informaltable>
<tr>
<td>Character:</td><td></td>
<td>combining acute</td><td>&nbsp;</td>
<td>combining grave</td><td></td>
<td>combining dot below</td><td></td>
<td>́combining dot above</td>
</tr>
<tr>
<td>K/B press:</td><td></td>
<td><keycap>o</keycap>&nbsp;<keycap>´</keycap></td><td></td>
<td><keycap>u</keycap>&nbsp;&Shift;+<keycap>`</keycap></td><td></td>
<td><keycap>e</keycap>&nbsp;&AltGr;+<keycap>´</keycap></td><td></td>
<td><keycap>a</keycap>&nbsp;&AltGr;+&Shift;+<keycap>`</keycap></td>
</tr>
<tr>
<td>&kvkbd;&nbsp;click:</td><td>&nbsp;</td>
<td><keycap>о</keycap>&nbsp;<keycap>´</keycap></td><td></td>
<td><keycap>у</keycap>&nbsp;&Shift;&nbsp;<keycap>`</keycap></td><td>&nbsp;</td>
<td><keycap>е</keycap>&nbsp;&AltGr;&nbsp;<keycap>.</keycap></td><td>&nbsp;</td>
<td><keycap>а</keycap>&nbsp;&AltGr;&nbsp;&Shift;&nbsp;<keycap>˙</keycap></td>
</tr>
<tr>
<td>Printed:</td><td></td>
<td><emphasis role="bold">о́</emphasis></td><td></td>
<td><emphasis role="bold">у̀</emphasis></td><td></td>
<td><emphasis role="bold">е̣</emphasis></td><td></td>
<td><emphasis role="bold">а̇</emphasis></td>
</tr>
</informaltable>
</sect2>
</sect1>
<sect1 id="loginhelper-mode">
<title>Using &kvkbd; with &tdm;</title>
&kvkbd; doesn't work with &tdm;.
<sbr/>Use with other Display Managers by editing /etc/.../Xsetup.
<sbr/><sbr/>Add this:
<programlisting>HOME=/root kvkbd --loginhelper</programlisting>
There is no configuration button in the loginhelper mode.
<sbr/>To change the default config, launch &kvkbd; as root:
<literallayout><command>tdesu kvkbd</command>
</literallayout>
and make the changes there from the configuration menu.
<sbr/><sbr/>&kvkbd; is run without the --loginhelper option when run from a konsole.
</sect1>
<sect1 id="autostart">
<title>Autostart</title>
Add <filename>kvkbd.desktop</filename> to the &tde; Autostart directory for &kvkbd; to run when &tde; starts.
<sbr/><sbr/>
<emphasis>For a specific keyboard layout:</emphasis> [§]
<sbr/><sbr/>
&nbsp;Exec=<command>setxkbmap &lt;xx>;kvkbd</command>
<sbr/><sbr/>
<emphasis>Or, with &xmmp;:</emphasis> [as in the <link linkend='assign-keycodes'>example</link>]
<sbr/><sbr/>
&nbsp;Exec=<command>setxkbmap &lt;xx>;&xmmp; -e 'keycode 133=quotedbl';&xmmp; -e 'keycode 134=asterisk';kvkbd</command>
<sbr/><sbr/>
<emphasis>Or, including the setxkbmap <link linkend='compose-option'>compose</link> option:</emphasis>
<sbr/><sbr/>
&nbsp;Exec=<command>setxkbmap -option compose:menu &lt;xx>;xmodmap -e 'keycode 133=quotedbl';xmodmap -e 'keycode 134=asterisk';kvkbd</command>
<sbr/><sbr/>
[§] <emphasis>See /etc/X11/xkb/rules/evdev.lst for a list of layouts, variants, and options.</emphasis>
</sect1>
<sect1 id="layout-switching">
<title>Layout switching</title>
&kvkbd; will dynamically switch keyboard layouts as they are changed, either through the command line, with <command>setxkbmap</command>, or using the &tde; Keyboard Tool.
<sbr/><sbr/>
Refer to the <ulink url='help:/kxkb/index.html'>&kxkb; Handbook</ulink> for details on keyboard layout switching.
<sbr/><sbr/>
</sect1>
</chapter>
<chapter id="customizing-kvkbd">
<title>Customizing &kvkbd;</title>
<sect1 id="key-mapping">
<title>Key mapping</title>
Using the compose option for <command id="compose-option">setxkbmap</command>, it could be useful for example to set <keycap>Menu</keycap> as the compose key to set up user specified characters or character strings.
<formalpara>
<title>Examples</title>
</formalpara>
<literallayout><emphasis role="bold">Add the Euro symbol for a US keyboard</emphasis> <link linkend='one'>[¹]</link>
&#x02022; Add <quote> &lt;Multi_key> &lt;e> &lt;r> : U20AC # "€" EuroSign </quote> to ~/.XCompose <link linkend='two'>[²]</link>
&#x02022; Run <command>setxkbmap -option compose:menu us</command>
&#x02022; Start a new konsole or editor
&#x02022; Click <keycap>Menu</keycap> <keycap>e</keycap> <keycap>r</keycap>
.. and <emphasis role="bold"></emphasis> should be displayed
</literallayout>
<literallayout><emphasis role="bold">Add a shortcut for a frequently used text string</emphasis>
&#x02022; Add <quote> &lt;Multi_key> &lt;t> &lt;r> : "&tde; rocks" </quote> to ~/.XCompose
&#x02022; Run <command>setxkbmap -option compose:menu &lt;xx></command>
&#x02022; Start a new konsole or editor
&#x02022; Click <keycap>Menu</keycap> <keycap>t</keycap> <keycap>r</keycap>
.. and <emphasis role="bold">&tde; rocks</emphasis> should be displayed
</literallayout>
<emphasis role="bold" id="assign-keycodes">Assign keycodes</emphasis>
<sbr/>&xmmp; can be used to assign keycodes to any key.
<sbr/><sbr/>If &kvkbd; has been built for the <keycap>Win</keycap> keys not to function as modifier keys, they can conveniently be used for frequently used characters which might otherwise be more cumbersome to generate.
<sbr/><sbr/>For example, the <emphasis role="bold">"</emphasis> and <emphasis role="bold">*</emphasis> characters on a gb keyboard are &Shift;+<keycap>2</keycap> and &Shift;+<keycap>8</keycap>, and they could be assigned to the Win keys:
<literallayout><command>&xmmp; -e 'keycode 133=quotedbl'</command>
<command>&xmmp; -e 'keycode 134=asterisk'</command>
</literallayout>
Then <keycap>LWin</keycap> would print <emphasis role="bold">"</emphasis> and <keycap>RWin</keycap> would print <emphasis role="bold">*</emphasis>
<sbr/><sbr/>
<mediaobject></mediaobject>
[¹] <emphasis id="one">To emulate a keyboard where the Euro sign is engraved on the <keycap>5</keycap> key, <command>setxkbmap us -variant euro</command> and &AltGr; <keycap>5</keycap> would be more appropriate.
</emphasis><!-- setxkbmap us -variant euro uses nbsp U+00a0 to avoid line wrapping -->
<sbr/>[²]
<emphasis id="two">This is an easier combination to enter than the other Euro options in /usr/share/X11/locale/&lt;LOCALE>/Compose, which doesn't include this combination.
<sbr/>    However, if ~/.XCompose 'includes' /usr/share/X11/locale/&lt;LOCALE>/Compose, any duplicated compose sequences in ~/.XCompose will have priority.</emphasis><!-- >    However, uses nbsp U+00a0 for indentation -->
</sect1>
<sect1 id="comp-chars">
<title>Composite Characters</title>
Create a character that doesn't have a direct unicode mapping, but is composed of unicode characters in the font being used.
<sbr/><sbr/>
As an example -- a-ogonek 'ą' [U<emphasis role="bold">0105</emphasis>] + combining acute '´' [U<emphasis role="bold">0301</emphasis>
<sbr/><sbr/>
Add the character and chosen key combination to the ~/.XCompose file:
<sbr/><sbr/>
&#x02022; <command>echo</command> "&lt;Multi_key> &lt;space> &lt;a> : \"$(printf '\u<emphasis role="bold">0105</emphasis>\u<emphasis role="bold">0301</emphasis>')\" # aogonek + combining acute" >> ~/.XCompose
<sbr/><sbr/>
Test:
<sbr/>
&#x02022; Run <command>setxkbmap -option compose:menu &lt;xx></command>
<sbr/>
&#x02022; Start new editor
<sbr/>
&#x02022; Print the character:   <keycap>Menu</keycap> <keycap>space</keycap> <keycap>a</keycap><emphasis role="bold">ą́</emphasis>
<sbr/><sbr/>
</sect1>
</chapter>
<appendix id="credits">
<title>Credits and License</title>
&kvkbd;
<sbr/><sbr/>Program Copyright &copy; 2007-2014 Todor Gyumyushev <email>yodor1@gmail.com</email>
<sbr/><sbr/>Program and Documentation Copyright &copy; 2008 Guillaume Martres <email>smarter@ubuntu.com</email>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL; <!-- FDL: do not remove -->
<!-- Determine which license your application is licensed under,
and delete all the remaining licenses below:
(NOTE: All documentation are licensed under the FDL,
regardless of what license the application uses) -->
&underGPL;
</appendix>
<appendix id="installation">
<title>Installation</title>
For your own build of &kvkbd;, see the INSTALL file.
</appendix>
&documentation.index;
</book>