diff --git a/cross-compiling-TDE-for-the-RPi3.html b/cross-compiling-TDE-for-the-RPi3.html index 539fa95..217d5f8 100755 --- a/cross-compiling-TDE-for-the-RPi3.html +++ b/cross-compiling-TDE-for-the-RPi3.html @@ -133,7 +133,7 @@ Builds have been done for the RPi3 running systems based on Slackware-arm-curren
The packages listed on this page have been built on an x86_64 machine and installed and tested OK on an RPi3.
-[Edit: builds for R14.0.9 have been verified for 64-bit arm only]. +[Edit: builds for R14.0.10 have been verified for 64-bit arm only].
For any problems, questions, etc please open an issue at tde-slackbuilds.

@@ -337,10 +337,7 @@ contrib/download_prerequisites --no-verify echo $'--- libsanitizer/asan/asan_linux.cc +++ libsanitizer/asan/asan_linux.cc @@ -33,0 +34 @@ -+#include <linux/limits.h>' | while read line -do -patch -p0 -done ++#include <linux/limits.h>' | patch -p0 ## Build Binutils ## The cross compiler toolchain is going to be built with defaults for the RPi3 using machine [arch/tune/fpu/float] options @@ -593,7 +590,7 @@ To keep track of where stuff is installed use the package management system - de installpkg /tmp/xgcc910-glibc2.29-${K_VER}_RPi_headers-en_GB-$ARM.txz ## Set the variables for the TDE packages builds -export TDE_VERSION=14.0.9 +export TDE_VERSION=14.0.10 export INSTALL_TDE=/opt/tde export SYS_CNF_DIR=/etc/tde [[ $ARM == aarch64 ]] && export LIBDIRSUFFIX=64 @@ -637,6 +634,9 @@ ln -sf $TDE_SRC/* $SYSROOT/src/ ## only need qemu-$ARM from the qemu build/installation - just place it somewhere the kernel can find it … mkdir -p $SYSROOT/x86 +## Remove any previously installed files if they are for an older version build +rm $SYSROOT/x86/* + cp /tmp/qemu-temp/usr/local/bin/qemu-$ARM $SYSROOT/x86 rm -rf /tmp/qemu* @@ -749,6 +749,8 @@ installpkg l/libwebp-*.txz installpkg l/zstd-*.txz ## + for 14.0.9+ builds installpkg d/intltool-*.txz +## + for 14.0.10+ builds +installpkg ap/lm_sensors-*.txz ## remove .la files and any links to them - they can cause a problem because the paths are hard-coded to /usr/... and so pick up the build machine libs rather than the libs in SYSROOT find $SYSROOT/usr/lib$LIBDIRSUFFIX -type l -name \*.la -exec rename .la .la-bak {} \; @@ -982,10 +984,7 @@ mv ../linux-g++ mkspecs/ +QMAKE_LINK_SHLIB\t= $(COMPILER_CXX) @@ -58 +58 @@ -QMAKE_RPATH\t\t= -Wl,-rpath, -+QMAKE_RPATH =' | while read line -do -patch -p0 -done ++QMAKE_RPATH =' | patch -p0 chown_fn @@ -1011,10 +1010,7 @@ echo $'--- mkspecs/linux-arm-g++/qmake.conf -QMAKE_INCDIR_OPENGL\t= /usr/include/GL -QMAKE_LIBDIR_OPENGL\t= /usr/lib$(LIBDIRSUFFIX) +QMAKE_INCDIR_OPENGL\t= $(SYSROOT)/usr/include/GL -+QMAKE_LIBDIR_OPENGL\t= $(SYSROOT)/usr/lib$(LIBDIRSUFFIX)' | while read line -do -patch -p0 -done ++QMAKE_LIBDIR_OPENGL\t= $(SYSROOT)/usr/lib$(LIBDIRSUFFIX)' | patch -p0 ## Set -platform to arm so that tqmoc is built as an arm binary for installation on RPi3. ## Set -rpath so that libtqt-mt.so.3 can be found during the build @@ -1571,7 +1567,7 @@ tdelfeditor/tdelfeditor.cpp \ tdeio/tests/kurifiltertest.cpp \ tdeio/tests/kmimetypetest.sh.cmake \ tdeio/tests/jobtest.cpp \ -tdeio/kssl/kopenssl.cc \ +tdeio/kssl/kopenssl.cpp \ tdeinit/tdestartupconfig.cpp \ tdecore/tdeconfig_compiler/tests/test9main.cpp do @@ -1630,14 +1626,25 @@ EOF cd_builddir_fn +## Set some paths to required binaries +## /bin/sh: dcopidl2cpp: command not found +## /bin/sh: tdeconfig_compiler: command not found +## /bin/sh: meinproc: command not found +sed -i "s|dcopidl2cpp|$PWD/dcop/dcopidl2cpp/dcopidl2cpp|" ../CMakeLists.txt +sed -i "s|tdeconfig_compiler|$PWD/tdecore/tdeconfig_compiler/tdeconfig_compiler|" ../CMakeLists.txt +## Take this opportunity to use the native meinproc +sed -i "s|meinproc|$INSTALL_TDE/bin/meinproc-x86|" ../CMakeLists.txt + ## Add exitcodes for try_run tests which produce a cmake error when x-compiling, unless CMAKE_CROSSCOMPILING_EMULATOR is set ## Set exitcodes to values that a native build would give ## Additionally, command line '-D HAVE_xxxxx_EXITCODE:STRING=x' option fails with cmake 3.12, so these builds use cmake 3.10 +## Use native binary intltool-merge for ARCH independent desktop files ## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -D HAVE_GOOD_GETADDRINFO_EXITCODE:STRING=0 \ -D HAVE_OPENPTY_EXITCODE:STRING=0 \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ @@ -1666,6 +1673,7 @@ cmake \ -DWITH_GCC_VISIBILITY="OFF" \ -DWITH_HAL="OFF" \ -DWITH_HSPELL="OFF" \ + -DWITH_IMAGETOPS_BINARY="OFF" \ -DWITH_INOTIFY="ON" \ -DWITH_ISPELL="OFF" \ -DWITH_JASPER="OFF" \ @@ -1702,12 +1710,6 @@ cmake \ sed -i "s|=/usr/include|=$SYSROOT/usr/include|" CMakeCache.txt sed -i "s|=/usr/lib$LIBDIRSUFFIX|=$SYSROOT/usr/lib$LIBDIRSUFFIX|" CMakeCache.txt -## Quick fix for: -## /bin/sh: dcopidl2cpp: command not found -## /bin/sh: tdeconfig_compiler: command not found -## /bin/sh: meinproc: command not found -PATH=$PATH:$PWD/dcop/dcopidl2cpp:$PWD/tdecore/tdeconfig_compiler:$PWD/kdoctools - make $NUMJOBS make DESTDIR=$PKG install @@ -1758,7 +1760,7 @@ untar_fn ## picking up the wrong limits.h - MAX_PATH not defined sed -i 's|<limits.h>|&\n#include <linux/limits.h>|' kcontrol/krdb/krdb.cpp -sed -i '20s|^|#include <linux/limits.h>|' kdesktop/lock/lockprocess.cc +sed -i '20s|^|#include <linux/limits.h>|' kdesktop/lock/lockprocess.cpp ## make default tdm screen text clearer against dark background and align login button with clickable area ## edit color="#ffff74" and/or color="#ff0000" for your own choice @@ -1790,10 +1792,7 @@ sed -i '20s|^|#include <linux/limits.h>|' kdesktop/lock/lockprocess.cc -\t\t\t\t<pos x="435" y="323" anchor="s" /> +\t\t\t\t<normal color="#ff0000" font="Sans 11" /> +\t\t\t\t<pos x="435" y="260" anchor="s" /> -' | while read line -do -patch -p0 -done +' | patch -p0 ## enable konqueror filemanagement ViewMode to be set - TDE bug 1963 echo $' @@ -1821,10 +1820,7 @@ done +++ konqueror/listview/konq_treeview.desktop @@ -87,0 +88 @@ +X-TDE-BrowserView-Built-Into=konqueror -' | while read line -do -patch -p0 -done +' | patch -p0 ## Configuration files are in /etc/tde, and plugins in $INSTALL_TDE/lib$LIBDIRSUFFIX/tde sed -i "s|trinity|$PLUGIN_INSTALL_DIR|g" tdm/config.def || true @@ -1868,6 +1864,7 @@ cmake \ -D HTDIG_SEARCH_BINARY=$SYSROOT/var/www/cgi-bin/htsearch \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_COMPILER=$COMPILER \ @@ -1893,7 +1890,7 @@ cmake \ -DWITH_PCRE="ON" \ -DWITH_SAMBA="OFF" \ -DWITH_SASL="OFF" \ - -DWITH_SENSORS="OFF" \ + -DWITH_SENSORS="ON" \ -DWITH_SHADOW="ON" \ -DWITH_SUDO_KONSOLE_SUPER_USER_COMMAND="ON" \ -DWITH_SUDO_TDESU_BACKEND="ON" \ @@ -1956,6 +1953,7 @@ cmake \ -DBUILD_TDESCREENSAVER="ON" \ -DBUILD_TDESU="ON" \ -DBUILD_TDM="ON" \ + -DBUILD_TDM_SYSTEMD_UNIT_FILE="OFF" \ -DBUILD_TQT3INTEGRATION="ON" \ -DBUILD_TSAK="ON" \ -DBUILD_TWIN="ON" \ @@ -2309,6 +2307,7 @@ cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_COMPILER=$COMPILER \ @@ -2380,6 +2379,10 @@ mkdir $TMP/tmp-$PRGNAM untar_fn +## Set some paths to required binaries +## /bin/sh: makecrc: command not found +sed -i "s|COMMAND makecrc|COMMAND ./makecrc|" klaptopdaemon/CMakeLists.txt + chown_fn cd_builddir_fn @@ -2390,6 +2393,7 @@ cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_COMPILER=$COMPILER \ @@ -2433,10 +2437,6 @@ cmake \ -Wno-dev \ .. -## Quick fix for: -## /bin/sh: makecrc: command not found -PATH=$PATH:$PWD/klaptopdaemon - make $NUMJOBS make DESTDIR=$PKG install @@ -2490,6 +2490,7 @@ cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_COMPILER=$COMPILER \ @@ -2498,6 +2499,7 @@ cmake \ -DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \ -DLIB_SUFFIX=$LIBDIRSUFFIX \ -DPLUGIN_INSTALL_DIR=$INSTALL_TDE/lib$LIBDIRSUFFIX/$PLUGIN_INSTALL_DIR \ + -DWITH_ALL_INCLUDED_XSCREENSAVERS="OFF" \ -DWITH_ARTS="ON" \ -DWITH_XSCREENSAVER="OFF" \ -DWITH_LIBART="ON" \ @@ -3007,10 +3009,7 @@ untar_fn +\t\t\t if (colptr + ls < sizeof(col)) @@ -1560,0 +1583 @@ + free(line); -' | while read line -do -patch -p0 -done +' | patch -p0 ltoolupdate_fn @@ -3081,6 +3080,7 @@ cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_COMPILER=$COMPILER \ @@ -3171,6 +3171,7 @@ cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_COMPILER=$COMPILER \ @@ -3247,6 +3248,7 @@ cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_COMPILER=$COMPILER \ @@ -3327,6 +3329,7 @@ cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_C_COMPILER=$COMPILER \ @@ -3455,885 +3458,181 @@ mkdir $TMP/tmp-$PRGNAM untar_fn -These patches are to build Kvkbd to -• add a LSGT key, which is required for non-US keyboards -• add a RWIN key -• support evdev key mapping -• support dead keys -• fix num pad keycodes -• show & and shift characters -• add 'Lock on screen' feature -• add i18n support -• add ColorDialog for user to set keyboard and keys colours -• add tooltips -
Kvkbd can be run with a different style than the system style, for example kvkbd --style plastik: +These patches provide Kvkbd build options +• Use Win keys as modifier keys or for characters set with xmodmap. +• Use alternative text on the num pad keys. +• Show small icons on the buttons. +• Show blank keys where AltGr doesn't produce a character. +
Kvkbd can be run with a different style than the system style, for example kvkbd --style plastik for the basic Greek keyboard: greek keyboard -## 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. -echo $'--- 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 @@ --\t//TQString k4="zxcvbnm"; //,./"; --\t//TQString k4s="ZXCVBNM"; --\tunsigned int kc4[R4LEN] = {52,53,54,55,56,57,58};//59,60,61}; -+\t//TQString k4="<zxcvbnm"; //,./"; -+\t//TQString k4s=">ZXCVBNM"; -+\tunsigned int kc4[R4LEN] = {94,52,53,54,55,56,57,58};//59,60,61}; -# -## reduce width of left shift key -@@ -249 +249 @@ --\tlshft->resize ( 80,30 ); -+\tlshft->resize ( 45,30 ); -# -## remove one key space after left shift -## and fix spacing -@@ -262 +262 @@ --\t\tv->move ( stx+35+16+35+ ( 35*a ),sty+ ( 4*35 ) ); -+\t\tv->move ( stx+lshft->width() +5+ ( 35*a ),sty+ ( 4*35 ) ); -' | patch -N -p0 -#


-## add RWin key -echo $'--- src/MainWidget.h -+++ src/MainWidget.h -@@ -96,2 +96,3 @@ -\tVButton *win; -+\tVButton *rwin; -\tVButton *mnu; ---- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -353,2 +354,11 @@ - -+\trwin = new VButton ( this,"" ); -+\trwin->resize ( 50,30 ); -+\trwin->move ( ralt->x() +ralt->width() +5, sty+ ( 5*35 ) ); -+\trwin->setText ( "RWin" ); -+\trwin->setKeyCode ( 134 ); -+\trwin->setToggleButton ( true ); -+\tmod_keys.append( rwin ); -+\trwin->res(); -+ - -@@ -355,4 +364,4 @@ - \tmnu = new VButton ( this,"" ); --\tmnu->resize ( 45,30 ); --\tmnu->move ( 5+ralt->x() +ralt->width(), sty+ ( 5*35 ) ); -+\tmnu->resize ( 50,30 ); -+\tmnu->move ( rwin->x() +rwin->width() +5, sty+ ( 5*35 ) ); - \tmnu->setText ( "Menu" ); -' | patch -N -p0 -#
-## Fix keycodes for evdev mapping: -## Right shift, LWin, AltGr, Menu, Right Ctrl, Num pad divide, Num pad Enter -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -296 +296 @@ --\trshft->setKeyCode ( 50 ); -+\trshft->setKeyCode ( 62 ); -@@ -321 +321 @@ --\twin->setKeyCode ( 115 ); -+\twin->setKeyCode ( 133 ); -@@ -349 +349 @@ --\tralt->setKeyCode ( 113 ); -+\tralt->setKeyCode ( 108 ); -@@ -368 +368 @@ --\tmnu->setKeyCode ( 117 ); -+\tmnu->setKeyCode ( 135 ); -@@ -379 +379 @@ --\trctrl->setKeyCode ( 37 ); -+\trctrl->setKeyCode ( 105 ); -@@ -468 +468 @@ --\tdiv->setKeyCode(112); -+\tdiv->setKeyCode(106); -@@ -485 +485 @@ --\tent->setKeyCode(36); -+\tent->setKeyCode(104); -' | patch -N -p0 -#
-## Cosmetic changes: -## Set F4-F5 spacing as per F8-F9 -echo $'--- src/MainWidget.cpp +## change num-pad keys text +echo $'--- src/MainWidget.cpp +++ src/MainWidget.cpp -@@ -97 +97 @@ --\t\tf->move ( stx+esc->width() + ( 35*a ) +20,sty ); -+\t\tf->move ( stx+esc->width() +30 + ( 35*a ),sty ); -@@ -107 +107 @@ --\t\tf->move ( stx+esc->width() + ( 35*a ) +40+ ( 4*35 ),sty ); -+\t\tf->move ( stx+esc->width() +30 + ( 4*35 ) +14 + ( 35*a ),sty ); -@@ -118 +118 @@ --\t\tf->move ( stx+esc->width() + ( 35*a ) +45+ ( 8*35 ) +10,sty ); -+\t\tf->move ( stx+esc->width() +30 + ( 8*35 ) +28 + ( 35*a ),sty ); -# -## resize keys for alignment on right side of keyboard -@@ -139 +139 @@ --\tbksp->resize ( 46,30 ); -+\tbksp->resize ( 48,30 ); -@@ -149 +149 @@ --\ttab->resize ( 47,30 ); -+\ttab->resize ( 48,30 ); -## reduce size of Dock image -@@ -938 +938 @@ --\tresize ( 96,47 ); -+\tresize ( 64,31 ); -' | patch -N -p0 -#
-## Revise positions of keys and reformat code to represent the calculations left-to-right -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -219,3 +219,3 @@ - \tsmcl->setKeyCode ( 47 ); --\tsmcl->move ( stx+ ( R3LEN *35 ) +caps->width() +5,sty+ ( 3*35 ) ); -+\tsmcl->move ( stx+caps->width() +5+ ( R3LEN *35 ) ,sty+ ( 3*35 ) ); - \t//smcl->setText ( ";" ); -@@ -228,3 +228,3 @@ - \tsngq->setKeyCode ( 48 ); --\tsngq->move ( stx+ ( ( R3LEN +1 ) *35 ) +caps->width() +5,sty+ ( 3*35 ) ); -+\tsngq->move ( stx+caps->width() +5+ ( ( R3LEN +1 ) *35 ) ,sty+ ( 3*35 ) ); - \t//sngq->setText ( "\'" ); -@@ -237,3 +237,3 @@ - \tenter->setKeyCode ( 36 ); --\tenter->move ( stx+ ( ( R3LEN +2 ) *35 ) +caps->width() +5,sty+ ( 3*35 ) ); -+\tenter->move ( stx+caps->width() +5+ ( ( R3LEN +2 ) *35 ) ,sty+ ( 3*35 ) ); - \tenter->resize ( 50,30 ); -@@ -269,3 +269,3 @@ - \tsm->setKeyCode ( 59 ); --\tsm->move ( stx+ ( R4LEN *35 ) +lshft->width() +5,sty+ ( 4*35 ) ); -+\tsm->move ( stx+lshft->width() +5+ ( R4LEN *35 ) ,sty+ ( 4*35 ) ); - \t//sm->setText ( "," ); -@@ -278,3 +278,3 @@ - \tgr->setKeyCode ( 60 ); --\tgr->move ( stx+ ( ( R4LEN +1 ) *35 ) +lshft->width() +5,sty+ ( 4*35 ) ); -+\tgr->move ( stx+lshft->width() +5+ ( ( R4LEN +1 ) *35 ) ,sty+ ( 4*35 ) ); - \t//gr->setText ( "." ); -@@ -287,3 +287,3 @@ - \tsl->setKeyCode ( 61 ); --\tsl->move ( stx+ ( ( R4LEN +2 ) *35 ) +lshft->width() +5,sty+ ( 4*35 ) ); -+\tsl->move ( stx+lshft->width() +5+ ( ( R4LEN +2 ) *35 ) ,sty+ ( 4*35 ) ); - \t//sl->setText ( "/" ); -@@ -296,3 +296,3 @@ - \trshft->setKeyCode ( 62 ); --\trshft->move ( stx+ ( ( R4LEN +3 ) *35 ) +lshft->width() +5,sty+ ( 4*35 ) ); -+\trshft->move ( stx+lshft->width() +5+ ( ( R4LEN +3 ) *35 ) ,sty+ ( 4*35 ) ); - \trshft->resize ( 68,30 ); -@@ -305,3 +305,3 @@ - \t -- -+\t//ROW 5 - \tlctrl = new VButton ( this,"" ); -@@ -317,5 +317,5 @@ - \twin = new VButton ( this,"" ); --\twin->resize ( 45,30 ); --\twin->move ( 5+lctrl->x() +lctrl->width(), sty+ ( 5*35 ) ); --\twin->setText ( "Win" ); -+\twin->resize ( 50,30 ); -+\twin->move ( lctrl->x() +lctrl->width() +5, sty+ ( 5*35 ) ); -+\twin->setText ( "LWin" ); -\twin->setKeyCode ( 133 ); -@@ -328,3 +328,3 @@ - \tlalt->resize ( 45,30 ); --\tlalt->move ( 5+win->x() +win->width(), sty+ ( 5*35 ) ); -+\tlalt->move ( win->x() +win->width() +5, sty+ ( 5*35 ) ); - \tlalt->setText ( "Alt" ); -@@ -338,4 +338,4 @@ - \tspace->setKeyCode ( 65 ); --\tspace->resize ( 5*35+28,30 ); --\tspace->move ( 5+lalt->x() +lalt->width(),sty+ ( 5*35 ) ); -+\tspace->resize ( 133,30 ); -+\tspace->move ( lalt->x() +lalt->width() +5, sty+ ( 5*35 ) ); - \tconnect ( space, TQT_SIGNAL ( keyClick ( unsigned int ) ), this, TQT_SLOT ( keyPress ( unsigned int ) ) ); -@@ -345,4 +345,4 @@ - \tralt = new VButton ( this,"" ); --\tralt->resize ( 45,30 ); --\tralt->move ( 5+space->x() +space->width(), sty+ ( 5*35 ) ); -+\tralt->resize ( 50,30 ); -+\tralt->move ( space->x() +space->width() +5, sty+ ( 5*35 ) ); - \tralt->setText ( "AltGr" ); -@@ -376,3 +376,3 @@ - \trctrl->resize ( 45,30 ); --\trctrl->move ( 5+mnu->x() +mnu->width(), sty+ ( 5*35 ) ); -+\trctrl->move ( mnu->x() +mnu->width() +5, sty+ ( 5*35 ) ); - \trctrl->setText ( "Ctrl" ); -' | patch -N -p0 -#
-## Replace text on Num pad keys for a better fit -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -411 +411 @@ +@@ -408 +408 @@ -\tTQString txt[9] = { "Ho\\nme", TQString::fromUtf8("▲"), "Pg\\nUp", -+\tTQString txt[9] = { TQString::fromUtf8("H\\u2190"), TQString::fromUtf8("▲"), TQString::fromUtf8("P\\u2191"), -@@ -413 +413 @@ ++\tTQString txt[9] = { TQString::fromUtf8("H\u2190"), TQString::fromUtf8("▲"), TQString::fromUtf8("P\u2191"), +@@ -410 +410 @@ -\t\t"End", TQString::fromUtf8("▼"), "Pg\\nDn" }; -+\t\tTQString::fromUtf8("E\\u2192"), TQString::fromUtf8("▼"), TQString::fromUtf8("P\\u2193") }; -@@ -457 +457 @@ ++\t\tTQString::fromUtf8("E\u2192"), TQString::fromUtf8("▼"), TQString::fromUtf8("P\u2193") }; +@@ -453 +453 @@ -\tnuml->setText("Num\\nLock"); -+\tnuml->setText(TQString::fromUtf8("\\u2116")); -' | patch -N -p0 -#
-## dead_* characters don't display on keys, so add single click printable character equivalents -## to display on keys - the printed character remains as dead_<whatever> -## Only needed for levels 0 and 1 - higher levels don't show on keys -## NoSymbol shows as an outline square [.notdef] on keys - replace with space=blank -## Re: MainWidget.cpp "* therefore keysymtab[] must remain SORTED by keysym value." -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -1008,2 +1030,3 @@ - } keysymtab[] = { -+ { 0x0000, 0x0020 }, /* NoSymbol -> <- space */ - { 0x01a1, 0x0104 }, /* Aogonek Ą LATIN CAPITAL LETTER A WITH OGONEK */ -@@ -1781,2 +1782,18 @@ - { 0x20ac, 0x20ac }, /* EuroSign € EURO SIGN */ -+ { 0xfe50, 0x0060 }, /* dead_grave ` */ -+ { 0xfe51, 0x00b4 }, /* dead_acute ´ */ -+ { 0xfe52, 0x02c6 }, /* dead_circumflex ˆ */ -+ { 0xfe53, 0x02dc }, /* dead_tilde ˜ small tilde */ -+ { 0xfe54, 0x00af }, /* dead_macron ¯ */ -+ { 0xfe55, 0x02d8 }, /* dead_breve ˘ */ -+ { 0xfe56, 0x02d9 }, /* dead_abovedot ˙ */ -+ { 0xfe57, 0x00a8 }, /* dead_diaeresis ¨ */ -+ { 0xfe58, 0x02da }, /* dead_abovering ° */ -+ { 0xfe59, 0x02dd }, /* dead_doubleacute ˝ */ -+ { 0xfe5a, 0x02c7 }, /* dead_caron ˇ */ -+ { 0xfe5b, 0x00b8 }, /* dead_cedilla ¸ */ -+ { 0xfe5c, 0x02db }, /* dead_ogonek ˛ */ -+ { 0xfe5d, 0x0269 }, /* dead_iota ɩ Latin small iota */ -+ { 0xfe64, 0x1fbf }, /* dead_abovecomma ᾽ Greek Psili */ -+ { 0xfe65, 0x1ffe }, /* dead_abovereversedcomma ῾ Greek Dasia */ - }; -' | patch -N -p0 -#
-## add a tooltip for the panel icon -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -1834,3 +1834,3 @@ - { -- -+\tTQToolTip::add ( this, "Virtual keyboard" ); - } -' | patch -N -p0 -#
-## Fix Num pad numbers where 0-9 aren't the non-shift characters on the keyboard -## E.g. for fr, the num pad '1' [KP_1 keycode 87] appears as '&' [keycode 10] when Num Lock is on -## And fix Del keycode so that KP_Separator prints correctly, eg for gr = comma -## This is a quick-and-dirty fix because it effectively means that this routine is redundant. -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -416 +416 @@ --\tint nval[9] = {16,17,18,13,14,15,10,11,12}; -+\tint nval[9] = {79,80,81,83,84,85,87,88,89}; -@@ -436 +436 @@ --\tins->setKeyCode(19,90); -+\tins->setKeyCode(90,90); -@@ -448 +448 @@ --\tdel->setKeyCode(60,91); -+\tdel->setKeyCode(91,91); -' | patch -N -p0 -#
-## Set a default keyboard background colour -## - changeable from configuration menu with a later patch -## For the plastik and keramik styles which have a key boundary within the key 30x30 footprint, -## setting the button/key background colour will bleed through outside that boundary -## except for the configuration button and the num pad keys, which follow these two lines. -## Moving these settings to the beginning of MainWidget::MainWidget enables all keys to be displayed correctly. -# -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -79,2 +79,5 @@ - -+\tsetPaletteBackgroundColor ( TQColor("#cdc0b0") ); -+\tsetFocusPolicy ( TQ_NoFocus ); -+ - // \tresize ( 550,235 ); -@@ -405,5 +408,2 @@ - --\tsetPaletteBackgroundColor ( TQt::black ); --\tsetFocusPolicy ( TQ_NoFocus ); -- - -' | patch -N -p0 -#
-## Use icons for quit and num pad show/hide buttons -## these are the 16x16/actions icons used for the system selected icon set -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -# -## num pad show button -@@ -400 +400 @@ --\textent->setText(">>"); -+\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); -@@ -698 +698 @@ --\t\textent->setText(">>"); -+\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); -# -## num pad hide button -@@ -702 +702 @@ --\t\textent->setText("<<"); -+\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-backward")).pixmap()); -# -## quit button ---- src/MainWidget.cpp ++\tnuml->setText(TQString::fromUtf8("\u2116")); +@@ -479 +479 @@ +-\tent->setText("En\\nter"); ++\tent->setText("Ent");'|patch -p0 + +## set small icons to better fit on buttons for keyboard used at default size +echo $'--- src/MainWidget.cpp +++ src/MainWidget.cpp -@@ -392 +392 @@ --\tquit->setPaletteBackgroundColor ( TQt::red ); +@@ -380 +380 @@ +-\tquit->setPixmap(TQIconSet(SmallIcon("application-exit", TDEIcon::SizeMedium)).pixmap()); +\tquit->setPixmap(TQIconSet(SmallIcon("application-exit")).pixmap()); -' | patch -N -p0 -#
-## Display '&' where it is the lower key character on the key -## E.g. fr be azerty keyboards -echo $'--- src/MainWidget.cpp +@@ -391 +391 @@ +-\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-backward", TDEIcon::SizeMedium)).pixmap()); ++\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-backward")).pixmap()); +@@ -396 +396 @@ +-\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward", TDEIcon::SizeMedium)).pixmap()); ++\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); +@@ -561 +561 @@ +-\t\tpopup_menu->setPixmap(TQIconSet(SmallIcon("configure", TDEIcon::SizeMedium)).pixmap()); ++\t\tpopup_menu->setPixmap(TQIconSet(SmallIcon("configure")).pixmap()); +@@ -748 +748 @@ +-\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward", TDEIcon::SizeMedium)).pixmap()); ++\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); +@@ -754 +754 @@ +-\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-backward", TDEIcon::SizeMedium)).pixmap()); ++\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-backward")).pixmap());'|patch -p0 + +## configuration menu +echo $'--- src/MainWidget.cpp +++ src/MainWidget.cpp -@@ -895,5 +897,9 @@ - \tTQString btn_text(TQChar((uint)ret)); - \t --\tv.setText(btn_text); -+\t\tTQChar c((uint)ret); -+\t\tif (c==\'&\') -+\t\t\tv.setText("&&"); -+\t\telse -+\t\t\tv.setText(btn_text); - - \tTQString btn_upper(btn_text.upper()); -' | patch -N -p0 -#
-## resize quit, num pad show/hide, configure buttons to see the icons better at reduced size of keyboard -echo $'--- src/MainWidget.cpp +@@ -515 +515 @@ +-\t\tm->insertItem ( i18n("Font ..."), this, TQT_SLOT ( chooseFont() ) ); ++\t\tm->insertItem ( i18n("Font"), this, TQT_SLOT ( chooseFont() ) ); +@@ -520,0 +521 @@ ++\t\tm->insertSeparator(); +@@ -522 +523 @@ +-\t\tm->insertItem ( i18n ("Keys color"), this, TQT_SLOT ( chooseKeysColor() ) ); ++\t\tm->insertItem ( i18n ("Key color"), this, TQT_SLOT ( chooseKeysColor() ) );'|patch -p0 + +## key spacing & sizing +echo $'--- src/MainWidget.cpp +++ src/MainWidget.cpp -@@ -390,2 +390,2 @@ --\tquit->resize ( 15,30 ); --\tquit->move ( 525,15 ); -+\tquit->resize ( 20,30 ); +@@ -323 +323 @@ +-\tlalt->move ( lwin->x() +lwin->width() +6, sty+ ( 5*35 ) ); ++\tlalt->move ( lwin->x() +lwin->width() +5, sty+ ( 5*35 ) ); +@@ -340 +340 @@ +-\tralt->resize ( 48,30 ); ++\tralt->resize ( 50,30 ); +@@ -350 +350 @@ +-\trwin->resize ( 48,30 ); ++\trwin->resize ( 50,30 ); +@@ -359 +359 @@ +-\tmnu->resize ( 49,30 ); ++\tmnu->resize ( 50,30 ); +@@ -369 +369 @@ +-\trctrl->resize ( 49,30 ); ++\trctrl->resize ( 45,30 ); +@@ -379 +379 @@ +-\tquit->move ( 524,15 ); +\tquit->move ( 526,15 ); -@@ -398,2 +398,2 @@ --\textent->resize( 15,65 ); --\textent->move(525, 85 ); -+\textent->resize ( 20,65 ); -+\textent->move(526, 85 ); -@@ -551,2 +551,2 @@ --\t\tpopup_menu->resize ( 15,30 ); --\t\tpopup_menu->move ( 525,15+35 ); -+\t\tpopup_menu->resize ( 20,30 ); +@@ -388 +388 @@ +-\textent->move (524, 85 ); ++\textent->move (526, 85 ); +@@ -558 +558 @@ +-\t\tpopup_menu->move ( 524,15+35 ); +\t\tpopup_menu->move ( 526,15+35 ); -# -## move numpad after resizing buttons ---- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -410 +410 @@ --\tint padx= 550; -+\tint padx= 554; -# -## move and resize keyboard ---- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -593 +593 @@ --\tint d_width=550; -+\tint d_width=553; -@@ -639,2 +639,2 @@ --\t\tsdxs = width() - (width() * (150.0/700.0)); --\t\tVButton::pw=700.0; -+\t\tsdxs = width() - (width() * (150.0/703.0)); -+\t\tVButton::pw=703.0; -@@ -642 +642 @@ --\t\tsetMinimumSize(700/3,235/3); -+\t\tsetMinimumSize(703/3,235/3); -@@ -646,2 +646,2 @@ --\t\tsdxb = width() + (width() * (150.0/550.0)); --\t\tVButton::pw=550.0; -+\t\tsdxb = width() + (width() * (150.0/552.0)); -+\t\tVButton::pw=552.0; -@@ -649 +649 @@ --\t\tsetMinimumSize(550/3,235/3); -+\t\tsetMinimumSize(552/3,235/3); ---- src/VButton.cpp +@@ -959 +959 @@ +-\tresize ( 96,47 ); ++\tresize ( 64,31 );'|patch -p0 + +## Caps+AltGr[+Shift] displayed characters should be toggled from the non-Caps state +echo $'--- src/VButton.cpp +++ src/VButton.cpp -@@ -5 +5 @@ --double VButton::pw=550.0; -+double VButton::pw=552.0; -' | patch -N -p0 -#
-## missing characters in keysymtab[] - for AC12 -> AD13 key on ua keyboard -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -1251,2 +1251,3 @@ - { 0x06ac, 0x045c }, /* Macedonia_kje ќ CYRILLIC SMALL LETTER KJE */ -+ { 0x06ad, 0x0491 }, /* Ukrainian_ghe_with_upturn ґ CYRILLIC SMALL LETTER GHE WITH UPTURN */ - { 0x06ae, 0x045e }, /* Byelorussian_shortu ў CYRILLIC SMALL LETTER SHORT U */ -@@ -1266,2 +1267,3 @@ - { 0x06bc, 0x040c }, /* Macedonia_KJE Ќ CYRILLIC CAPITAL LETTER KJE */ -+ { 0x06bd, 0x0490 }, /* Ukrainian_GHE_WITH_UPTURN Ґ CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ - { 0x06be, 0x040e }, /* Byelorussian_SHORTU Ў CYRILLIC CAPITAL LETTER SHORT U */ -' | patch -N -p0 -#
+@@ -94,2 +94,13 @@ +-\t\t// Caps does not seem to make any difference when AltGr is pressed +-\t\tif (shift) ++\t\t// If Caps is on, displayed alpha characters should be toggled from the AltGr case ++\t\tif (caps) ++\t\t{ ++\t\t\tif (shift) ++\t\t\t{ ++\t\t\t\tTQPushButton::setText(altGrShiftText.lower()); ++\t\t\t} ++\t\t\telse ++\t\t\t{ ++\t\t\t\tTQPushButton::setText(altGrText.upper()); ++\t\t\t} ++\t\t} ++\t\telse if (shift)'|patch -p0 + +## blank character display where AltGr does not provide extra characters +echo $'--- src/VButton.cpp ++++ src/VButton.cpp +@@ -56,6 +56,6 @@ +-\tif (c == " ") +-\t{ +-\t\t// use normal text in case altGr does not provide extra characters. +-\t\t// This is required at least on US keyboards, where altGr works as Alt. +-\t\tc = nc; +-\t} ++//\tif (c == " ") ++//\t{ ++//\t\t// use normal text in case altGr does not provide extra characters. ++//\t\t// This is required at least on US keyboards, where altGr works as Alt. ++//\t\tc = nc; ++//\t} +@@ -74,6 +74,6 @@ +-\tif (c == " ") +-\t{ +-\t\t// use shift text in case altGr does not provide extra characters. +-\t\t// This is required at least on US keyboards, where altGr works as Alt. +-\t\tc = sc; +-\t} ++//\tif (c == " ") ++//\t{ ++//\t\t// use shift text in case altGr does not provide extra characters. ++//\t\t// This is required at least on US keyboards, where altGr works as Alt. ++//\t\tc = sc; ++//\t} +# +## substitute the .notdef, VoidSymbol, with a space +--- src/Xutils.cpp ++++ src/Xutils.cpp +@@ -839,0 +840 @@ ++ { 0x00ffffffL, 0x0020 }, /* VoidSymbol -> <- space */'|patch -p0 + ## generate keycode for Win keys with single click so that they can be used for xmodmap -echo $'--- src/MainWidget.cpp +echo $'--- src/MainWidget.cpp +++ src/MainWidget.cpp # -## don\'t lock the LWin button -@@ -325 +325 @@ --\twin->setToggleButton ( true ); -+\twin->setToggleButton ( false ); -## don\'t lock the RWin button -@@ -362 +362 @@ +## donʹt lock the LWin button +@@ -317 +317 @@ +-\tlwin->setToggleButton ( true ); ++\tlwin->setToggleButton ( false ); +## generate keycode on click rather than wait for next key-click +@@ -318 +318,2 @@ +-\tmod_keys.append ( lwin ); ++\tconnect ( lwin, TQT_SIGNAL ( keyClick ( unsigned int ) ), this, TQT_SLOT ( keyPress ( unsigned int ) ) ); ++\tother_keys.append( lwin ); +# +## donʹt lock the RWin button +@@ -354 +355 @@ -\trwin->setToggleButton ( true ); +\trwin->setToggleButton ( false ); -# -## generate keycode on click rather than wait for next key-click for keycode ---- src/MainWidget.cpp -+++ src/MainWidget.cpp -# -## for LWin -@@ -326 +326,2 @@ --\tmod_keys.append ( win ); -+\tconnect ( win, TQT_SIGNAL ( keyClick ( unsigned int ) ), this, TQT_SLOT ( keyPress ( unsigned int ) ) ); -+\tother_keys.append( win ); -# -## for RWin -@@ -363 +364,2 @@ --\tmod_keys.append( rwin ); +## generate keycode on click rather than wait for next key-click +@@ -355 +356,2 @@ +-\tmod_keys.append ( rwin ); +\tconnect ( rwin, TQT_SIGNAL ( keyClick ( unsigned int ) ), this, TQT_SLOT ( keyPress ( unsigned int ) ) ); -+\tother_keys.append( rwin ); -' | patch -N -p0 -#
-## add 'Lock on screen' feature from v0.5 -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -529,4 +529,8 @@ - \t\tm->setItemChecked(mnu_dock, show_dock); - \t\t -+\t\tmnu_lock = m->insertItem("Lock on screen", this, TQT_SLOT(toggleLock())); -+\t\tbool is_locked = cfg->readBoolEntry("locked",false); -+\t\tm->setItemChecked(mnu_lock,is_locked); -+\t\t - \t\t//m->insertItem("Configure", this, TQT_SLOT(config())); - \t\tm->insertSeparator(); -@@ -742,2 +746,14 @@ - } -+void MainWidget::toggleLock() -+{ -+\tbool c = isLocked(); -+ -+\ttray->contextMenu()->setItemChecked ( mnu_lock, !c ); -+\tsetLocked(!c); -+ -+\tTDEConfig *cfg = TDEApplication::kApplication()->config(); -+\tcfg->writeEntry ("locked", !c); -+\tcfg->sync(); -+ -+} - void MainWidget::showDock() -# -## ---- src/MainWidget.h -+++ src/MainWidget.h -@@ -69,2 +69,3 @@ - \tvoid saveState(); -+\tvoid toggleLock(); - -@@ -131,2 +131,3 @@ - \tint mnu_autores; -+\tint mnu_lock; - -# -## ---- src/DragWidget.cpp -+++ src/DragWidget.cpp -@@ -6,3 +6,3 @@ - \tdrag=false; -- -+\tlocked=false; - } -@@ -17,2 +17,3 @@ - \tgpress=e->globalPos(); -+\tif (locked)return; - \tdrag=true; -@@ -34,2 +35,12 @@ - } -+ -+void DragWidget::setLocked(bool mode) -+{ -+\tlocked=mode; -+} -+ -+const bool DragWidget::isLocked() const -+{ -+\treturn locked; -+} - -# -## ---- src/DragWidget.h -+++ src/DragWidget.h -@@ -14,2 +14,5 @@ - -+\tvoid setLocked(bool mode); -+\tconst bool isLocked() const; -+ - private: -@@ -24,2 +27,3 @@ - \tTQPoint gpress; -+\tbool locked; - -# -## ---- src/resizabledragwidget.cpp -+++ src/resizabledragwidget.cpp -@@ -38,2 +38,3 @@ - { -+\tif (locked)return; - \t -' | patch -N -p0 -#
-## Fix azerty keyboards shift keys showing caps by simplifying the algorithm: -# * if Shift Lock is on, set text as shift character, else use lower character -# * if Caps Lock is on, set text as l.upper(), which will be upper case for alpha characters, or lower level for non-alpha characters, else use lower character -# * for lower level or shift characters, set ampersand as a special case -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -905,30 +905,22 @@ - \tKeyCode keycode=v.getKeyCode(); -- -+// first level character keysym - \tKeySym keysym_l = XkbKeycodeToKeysym(display, keycode, 0, 0); -+// second level, ie shift, character keysym -+\tKeySym keysym_s = XkbKeycodeToKeysym(display, keycode, 0, 1); - --\tKeySym keysym_u = XkbKeycodeToKeysym(display, keycode, 0, 1); -- --\tlong ret = keysym2ucs(keysym_l); -- --\tTQString btn_text(TQChar((uint)ret)); -+\tlong retl = keysym2ucs(keysym_l); - \t --\t\tTQChar c((uint)ret); --\t\tif (c==\'&\') -+\t\tTQChar l((uint)retl); -+\t\tif (l==\'&\') - \t\t\tv.setText("&&"); - \t\telse --\t\t\tv.setText(btn_text); -+\t\t\tv.setText(l); - --\tTQString btn_upper(btn_text.upper()); -+\tlong rets = keysym2ucs(keysym_s); - --\tif (btn_upper==btn_text) { --\t\tret = keysym2ucs(keysym_u); --\t\tTQChar c((uint)ret); --\t\tif (c==\'&\') -+\t\tTQChar s((uint)rets); -+\t\tif (s==\'&\') - \t\t\tv.setShiftText("&&"); - \t\telse --\t\t\tv.setShiftText(c); --\t} --\telse { --\t\tv.setShiftText(btn_upper); --\t} -+\t\t\tv.setShiftText(s); - } -' | patch -N -p0 -#
-echo $'--- src/VButton.cpp -+++ src/VButton.cpp -@@ -22,16 +22,6 @@ - { --\tif (press==true){\t --\t\tTQString tu=l.upper(); --\t\tif (tu.compare(l)==0){ --\t\t\t//TQPushButton::setText(tu); --\t\t\tTQPushButton::setText(u); --\t\t} --\t\telse{ --\t\t\tTQPushButton::setText(tu); --\t\t} -- --\t} --\telse{ -+\tif (press==true) -+\t\tTQPushButton::setText(s); -+\telse - \t\tTQPushButton::setText(l); --\t} - } -@@ -39,14 +29,7 @@ - { --\tif (press==true){\t -+\tif (press==true) { - \t\tTQString tu=l.upper(); --\t\tif (tu.compare(l)==0){ --\t\t\tTQPushButton::setText(tu); --\t\t} --\t\telse{ --\t\t\tTQPushButton::setText(u); --\t\t} --\t} --\telse{ -+\t\tTQPushButton::setText(tu); } -+\telse - \t\tTQPushButton::setText(l); --\t} - } -@@ -60,3 +43,3 @@ - { --\tu=text; -+\ts=text; - } -' | patch -N -p0 -#
-echo $'--- src/VButton.h -+++ src/VButton.h -@@ -31,3 +31,3 @@ - \tunsigned int keycode; --\tTQString u; -+\tTQString s; - \tTQString l; -' | patch -N -p0 -#
-echo $'--- src/numpadvbutton.cpp -+++ src/numpadvbutton.cpp -@@ -35,3 +35,3 @@ - \tif (press==true){ --\t\tTQPushButton::setText(u); -+\t\tTQPushButton::setText(s); - \t\tVButton::setKeyCode(numlock_code); -' | patch -N -p0 -#
-## Set a default button background colour which otherwise defaults to system colour -## Changeable from configuration menu -echo $'--- src/VButton.cpp -+++ src/VButton.cpp -@@ -11,2 +11,3 @@ - \t//connect(this,TQT_SIGNAL(clicked()),this,TQT_SLOT(sendKey())); -+\tsetPaletteBackgroundColor ( TQColor("#f0f0f0") ); - \tsetFocusPolicy(TQ_NoFocus); -' | patch -N -p0 -#
-## Base the auto font size on main board size otherwise when the num pad is brought into view -## the font size immediately increases in proportion, ie by 703/552. -## and set a more realistic initial font size -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -690,3 +690,6 @@ - \t\t//double rs = (100.0/700.0)*width(); --\t\tdouble rp = (8.0/600.0)*width(); -+\tif (extent_visible) { -+\t\trp = (11.0/600.0)*width() * (552.0/703.0); } -+\telse { -+\t\trp = (11.0/600.0)*width(); } - \t\t//fnt.setStretch(rs); -' | patch -N -p0 -#
-echo $'--- src/MainWidget.h -+++ src/MainWidget.h -@@ -130,2 +130,3 @@ - \tdouble sdxb; -+\tdouble rp; - \tint mnu_dock; -' | patch -N -p0 -#
-## i18n -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -519 +519 @@ --\t\tm->insertItem ( "Font ...", this, TQT_SLOT ( chooseFont() ) ); -+\t\tm->insertItem ( i18n ("Font"), this, TQT_SLOT ( chooseFont() ) ); -@@ -521 +521 @@ --\t\tmnu_autores = m->insertItem( "Auto resize font",this, TQT_SLOT ( toggleFontAutoRes() ) ); -+\t\tmnu_autores = m->insertItem( i18n ("Auto resize font"),this, TQT_SLOT ( toggleFontAutoRes() ) ); -@@ -524 +524,0 @@ --\t\t -@@ -526 +525 @@ --\t\tmnu_dock = m->insertItem ( "Dock widget", this, TQT_SLOT ( showDock() ) ); -+\t\tmnu_dock = m->insertItem ( i18n ("Dock widget"), this, TQT_SLOT ( showDock() ) ); -@@ -531 +530 @@ --\t\tmnu_lock = m->insertItem("Lock on screen", this, TQT_SLOT(toggleLock())); -+\t\tmnu_lock = m->insertItem( i18n ("Lock on screen"), this, TQT_SLOT(toggleLock())); -@@ -537 +536 @@ --\t\tm->insertItem ( "Help", h->menu() ); -+\t\tm->insertItem ( i18n ("Help"), h->menu() ); -@@ -1854 +1853 @@ --\tTQToolTip::add ( this, "Virtual keyboard" ); -+\tTQToolTip::add ( this, i18n ("Virtual keyboard") ); -' | patch -N -p0 -#
-## Add TQColorDialog -## keyboard colour defaults to #cdc0b0 -## key/button colour defaults to #f0f0f0 -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -39,4 +39,3 @@ - #include <tdeapplication.h> -- -- -+#include <ntqcolordialog.h> - -## load any existing chosen colours for the keyboard, otherwise default to #cdc0b0 -@@ -79,3 +78,7 @@ - --\tsetPaletteBackgroundColor ( TQColor("#cdc0b0") ); -+\tTDEConfig *cfg = TDEApplication::kApplication()->config(); -+// if "kbColor" entry doesn\'t exist - either because it hasn\'t been saved -+// or kvkbdrc doesn\'t exist, default to "#cdc0b0" -+\tTQColor bc = cfg->readEntry ("kbColor","#cdc0b0"); -+\tsetPaletteBackgroundColor ( TQColor(bc) ); - \tsetFocusPolicy ( TQ_NoFocus ); -## new configuration menu entries -@@ -524,2 +527,8 @@ - -+\t\tm->insertSeparator(); -+\t\tm->insertItem ( i18n ("Keyboard color"), this, TQT_SLOT ( Colorb() ) ); -+ -+\t\tm->insertItem ( i18n ("Key color (restart if changed)"), this, TQT_SLOT ( Colork() ) ); -+ -+\t\tm->insertSeparator(); - \t\tmnu_dock = m->insertItem ( i18n ("Dock widget"), this, TQT_SLOT ( showDock() ) ); -## open ColorDialog and save chosen colours -@@ -573,3 +582,26 @@ - -- -+void MainWidget::Colorb() // keyboard colour chosen through the configuration menu -+{ -+\tTDEConfig *cfg = TDEApplication::kApplication()->config(); -+// if "kbColor" entry exists, start with that, otherwise start with the default "#cdc0b0" -+\tTQColor bc = cfg->readEntry ("kbColor","#cdc0b0"); -+\tTQColor b = TQColorDialog::getColor( TQColor( bc ) ); -+// if the selection of the new colour is cancelled, b will be invalid -+// otherwise the new value is written to kvkbdrc -+// - this must be in the #rrggbb format -+\tif ( b.isValid() ) { -+\tcfg->writeEntry ("kbColor", b.name() ); -+\tcfg->sync(); -+\tsetPaletteBackgroundColor ( TQColor( b ) ); } -+} -+void MainWidget::Colork() // key/button colour chosen through the configuration menu -+{ -+\tTDEConfig *cfg = TDEApplication::kApplication()->config(); -+\tTQColor kc = cfg->readEntry ("keyColor","#f0f0f0"); -+\tTQColor k = TQColorDialog::getColor( TQColor( kc ) ); -+\tif ( k.isValid() ) { -+\tcfg->writeEntry ("keyColor", k.name() ); -+\tcfg->sync(); } -+// can\'t set PaletteBackgroundColor because it\'s in VButton::VButton - needs restart to read configuration entry -+} - void MainWidget::finishInit() -## set initially 150 from the RH edge of the screen to allow for the num pad -## and set 50 from the bottom edge to allow for the panel -@@ -599,3 +631,3 @@ - \tint d_height=235; --\tTQRect dflt_geom(screen_geom.width()-d_width,screen_geom.height()-d_height,d_width,d_height); -+\tTQRect dflt_geom(screen_geom.width()-d_width-150,screen_geom.height()-d_height-50,d_width,d_height); - ---- src/MainWidget.h -+++ src/MainWidget.h -@@ -70,2 +70,4 @@ - \tvoid toggleLock(); -+\tvoid Colorb(); -+\tvoid Colork(); - ---- src/VButton.cpp -+++ src/VButton.cpp -@@ -3,2 +3,4 @@ - #include <tqfont.h> -+#include <tdeconfig.h> -+#include <tdeapplication.h> - -## load any existing chosen colours for the keys/buttons, otherwise default to #f0f0f0 -@@ -11,4 +13,10 @@ - \t//connect(this,TQT_SIGNAL(clicked()),this,TQT_SLOT(sendKey())); --\tsetPaletteBackgroundColor ( TQColor("#f0f0f0") ); -+\tTDEConfig *cfg = TDEApplication::kApplication()->config(); -+// if "keyColor" entry doesn\'t exist - either because it hasn\'t been saved -+// or kvkbdrc doesn\'t exist, default to "#f0f0f0" -+\tTQColor kc = cfg->readEntry ("keyColor","#f0f0f0"); -+\tsetPaletteBackgroundColor ( TQColor(kc) ); -+ - \tsetFocusPolicy(TQ_NoFocus); -+ - \tresize(30,30); -' | patch -N -p0 -#
-<<'comment' -The keyboard geometry is saved when either of the Quit options is selected. -If the num pad is visible [extent_visible=true] when Kvkbd is Quit, then when it is run again, with the default being extent_visible=false, the keyboard will display without the num pad but at an x-axis size which includes the num pad dimension, ie elongated. -To fix this, add the state of extent_visible to the configuration file and start with that when Kvkbd is re-started. -comment -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -76,5 +76,6 @@ - \tint sty=15; --\textent_visible=false; - - \tTDEConfig *cfg = TDEApplication::kApplication()->config(); -+// if the num pad was visible when Kvkbd was \'Quit\', the geometry includes it, so start with the num pad in the same state -+\textent_visible = cfg->readBoolEntry("numpad_visible",false); - // if "kbColor" entry doesn\'t exist - either because it hasn\'t been saved -@@ -659,2 +660,3 @@ - \t\tcfg->writeEntry("geometry",geometry()); -+\t\tcfg->writeEntry("numpad_visible",extent_visible); - \t\tcfg->sync(); -' | patch -N -p0 -#
-## add tooltips to buttons -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -398,2 +398,3 @@ - \tquit->setPixmap(TQIconSet(SmallIcon("application-exit")).pixmap()); -+\tTQToolTip::add( quit, i18n( "Hide keyboard" ) ); - \tquit->res(); -@@ -406,2 +407,3 @@ - \textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); -+\tTQToolTip::add( extent, i18n( "Show num pad" ) ); - \textent->res(); -@@ -571,3 +573,3 @@ - \t\tpopup_menu->setPixmap(TQIconSet(SmallIcon("configure")).pixmap()); -- -+\t\tTQToolTip::add( popup_menu, i18n( "Configure" ) ); - \t\tother_keys.append(popup_menu); -@@ -989,3 +991,3 @@ - --\tTQToolTip::add ( this, "Toggle keyboard visibility" ); -+\tTQToolTip::add ( this, i18n ("Toggle keyboard visibility") ); - } -' | patch -N -p0 -#
-## more add tooltips to buttons -## if the num pad was visible, the tooltip continued to show 'Show num pad' -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -742,2 +742,3 @@ - \t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); -+\t\tTQToolTip::add( extent, i18n( "Show num pad" ) ); - \t} -@@ -747,2 +748,3 @@ - \t\tTQWidget::resize ( (int)sdxb, height() ); -+\t\tTQToolTip::add( extent, i18n( "Hide num pad" ) ); - \t} -' | patch -N -p0 -#
-## yet more add tooltips to buttons -## if Kvkbd was 'Quit' with the num pad visible, on restart the double arrow was indicating 'Show num pad' -echo $'--- src/MainWidget.cpp -+++ src/MainWidget.cpp -@@ -406,4 +406,8 @@ - \textent->move(526, 85 ); --\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); --\tTQToolTip::add( extent, i18n( "Show num pad" ) ); -+\tif (extent_visible) { -+\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-backward")).pixmap()); -+\t\tTQToolTip::add( extent, i18n( "Hide num pad" ) ); } -+\telse { -+\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); -+\t\tTQToolTip::add( extent, i18n( "Show num pad" ) ); } - \textent->res(); -' | patch -N -p0 ++\tother_keys.append( rwin );'|patch -p0 + +## another combining character to display +echo $'--- src/Xutils.cpp ++++ src/Xutils.cpp +@@ -871,0 +872 @@ ++ { 0x01000358L, 0x02d9 }, /* combining dot above right ˙ dot above */'|patch -p0
chown_fn @@ -4344,6 +3643,7 @@ cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ -D MOC_EXECUTABLE=$SYSROOT/x86/tqmoc \ + -D INTLTOOL_MERGE_EXECUTABLE=$(which intltool-merge) \ -D KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \