Add LSGT key for non-US keyboards
Add RWIN key with option to set both Win keys to non-toggle for xmodmap use
Fix keycodes for evdev mapping
Show ampersand when on lower level of key
Fix Num pad numbers keycodes where 0-9 are not on lower level of keyboard key
Abbreviate num pad keys text
Fix size of keys for keyboard right side alignment
Use icons for quit and num pad show/hide buttons
Resize quit, num pad show/hide, configure buttons
Add a tooltip for the panel icon
Add help file
<sbr/>It can be used instead of a physical keyboard or for devices with a touch screen but no keyboard.
<sbr/>It is also useful to quickly test a keyboard mapping to locate some keys.
</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/><sbr/>Resize it by clicking and dragging on the stripes at the bottom right.
<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>
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>№</keycap>.
<mediaobject><imageobject>
<imagedata fileref="num-pad.png" format="PNG"/>
</imageobject></mediaobject>
To display and select the shift characters, use both &Shift; keys:
<sbr/> • Click either &Shift; key, which will 'lock', and then the other &Shift; key and the shift characters will be displayed.
<sbr/> • Then click on the character to print it.
<sbr/><sbr/>Otherwise, if you know which key the shift character is on, then the expected behaviour applies, and &Shift; <keycap>'key'</keycap> will print it.
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.
<sbr/><sbr/>Select "<emphasis role="bold">Font ...</emphasis>" to choose the font used to display the characters on the keys.
<sbr/><sbr/>Check "<emphasis role="bold">Auto Resize Font</emphasis>" to resize the font when &kvkbd; is resized.
<sbr/><sbr/>Check "<emphasis role="bold">Dock Widget</emphasis>" to display a small dock which can be placed anywhere on screen.
<sbr/>Click on it to hide or show the virtual keyboard.
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 <emphasis role="bold"><</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/>
Where set up in the keyboard mapping file, &AltGr; will enable selection of the character mapped to the lower right of any key, and &AltGr; &Shift; for any upper right character.
<sbr/><sbr/>
The &Shift;, &Ctrl;, <keycap>Alt*</keycap> buttons 'lock' when clicked to simulate holding down a key on a physical keyboard.
<sbr/>
Whether the <keycap>*Win</keycap> buttons '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[fr]/azerty keyboard:
&kvkbd; will dynamically switch keyboard layouts as they are changed, either through the command line or using the &tde; Keyboard Tool.
<sbr/><sbr/>
Refer to the <ulink url='help:/kxkb/index.html'>Keyboard Layouts Handbook</ulink> for details on how to set up different and switchable keyboard layouts.
<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 the <keycap>Menu</keycap> key 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>
<sbr/>&xmmp; can be used to assign keycodes to any key.
<sbr/><sbr/>If &kvkbd; has been built for the <keycap>Win</keycap> keys to function as non-control 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:
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>setxkbmapus-varianteuro</command> and &AltGr;<keycap>5</keycap> would be more appropriate.
</emphasis><!-- setxkbmapus-varianteuro 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/<LOCALE>/Compose, which doesn't include this combination.
<sbr/>However, if ~/.XCompose 'includes' /usr/share/X11/locale/<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>] -- <emphasis role="bold">ą́</emphasis>́
<sbr/><sbr/>
Add the character and chosen key combination to the ~/.XCompose file:
## not in this version - introduced for the later qt4 build
sed -i '/CSS Color themes/d' README
## remove meinproc check - there are a number of validity errors relating to the use of <sbr/> etc.,
## which I feel provides a better presentation. The help file displays as intended.
sed -i 's|--check --cache index.cache.bz2|--cache index.cache.bz2|' cmake/modules/TDEMacros.cmake
## These patches are applied in chunks to identify the changes being made and allow any particular change to be easily identified and removed if required
## Add a key, LSGT, between 'left shift' and 'z' for non-US keyboards.
## This duplicates '<' and '>' characters for US keyboards, but otherwise leaves the US keyboard fully functional.
## The key which is normally lower left of Enter on non-US keyboards is above the Enter key.
patch -N -p0 << EOF || true
--- src/MainWidget.cpp
+++ src/MainWidget.cpp
#
## add a key[code] to row 4
@@ -46 +46 @@
-#define R4LEN 7
+#define R4LEN 8
#
## add keycode 94 key between l-shift and z key
## gb=\| fr=<> de=<>| [us=<>] etc
@@ -72,3 +72,3 @@
- //TQString k4="zxcvbnm"; //,./";
- //TQString k4s="ZXCVBNM";
- unsigned int kc4[R4LEN] = {52,53,54,55,56,57,58};//59,60,61};
+ //TQString k4="<zxcvbnm"; //,./";
+ //TQString k4s=">ZXCVBNM";
+ unsigned int kc4[R4LEN] = {94,52,53,54,55,56,57,58};//59,60,61};
The \Zb\Z6LWin\Zn and \Zb\Z6RWin\Zn keys on the \Zb\Z6Kvkbd\Zn keyboard are set to 'lock'for the next key click.
If they're to be used as control keys to map a number of characters or functions, then they need to be set to \Zr\Z4\ZbLock\Zn while the next key is clicked - this is to simulate holding down the key on a physical keyboard.
If they will only be used as alternately mapped keys using xmodmap, then they will need to be set to generate a keycode on a single click - \Z1N\Zb\Z0o Lock\Zn.
"\
1775
[[$?==0]]&& 2> $TMPVARS/WinLock
[[$?==1]]&&echo1 > $TMPVARS/WinLock
}
## option to prefix some package names
## get a list of packages that have SlackBuilds set up to use the prefix 'tde'