From 0e2e52d46c639f1a7fd4afce49ed8a5e090354dc Mon Sep 17 00:00:00 2001 From: Ray-V Date: Sun, 1 Nov 2020 00:10:11 +0000 Subject: [PATCH] Updated for release 14.0.9 Added Kvkbd build --- cross-compiling-TDE-for-the-RPi3.html | 715 ++++++++++++++++++++++++-- 1 file changed, 684 insertions(+), 31 deletions(-) diff --git a/cross-compiling-TDE-for-the-RPi3.html b/cross-compiling-TDE-for-the-RPi3.html index d3cab50..0b4c71d 100755 --- a/cross-compiling-TDE-for-the-RPi3.html +++ b/cross-compiling-TDE-for-the-RPi3.html @@ -14,6 +14,7 @@ body {font:13px sans;max-width: 1000px;padding:0px 10px;margin: 0 auto; /* cente .thtwob {border: dotted 1px;} .central {border: dashed 1px;display: inline-block;padding: 2px;} .appx {background-color: #Fafafa;} +.bkslt {color: #dadada;} .console {border-left: 3px solid lightgrey;margin-left: 15px;} .dastx {color: #978DFF;} .comment {color: #acacac;} @@ -590,7 +591,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.8 +export TDE_VERSION=14.0.9 export INSTALL_TDE=/opt/tde export SYS_CNF_DIR=/etc/tde [[ $ARM == aarch64 ]] && export LIBDIRSUFFIX=64 @@ -744,6 +745,8 @@ installpkg l/poppler-*.txz ## + for imlib - Slarm64 deps installpkg l/libwebp-*.txz installpkg l/zstd-*.txz +## + for 14.0.9+ builds +installpkg d/intltool-*.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 {} \; @@ -1177,7 +1180,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake \ -DCMAKE_C_FLAGS="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ @@ -1313,7 +1316,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -1370,7 +1373,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -1428,7 +1431,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -1484,16 +1487,25 @@ untar_fn chown_fn -## add TQt headers directory to configure search list -sed -i "s|/usr/include/tqt|$TQTDIR/include/tqt|" configure +cd_builddir_fn -QMAKESPEC=linux-arm-g++ \ -QTDIR=$TQTDIR \ -CXXFLAGS="$SLKCFLAGS" \ -./configure +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* +cmake-toolchain_fn +cmake \ + -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ + -DCMAKE_C_FLAGS="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ + -DCMAKE_C_COMPILER=$COMPILER \ + -DCMAKE_CXX_COMPILER=$COMPILER_CXX \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \ + -DLIB_SUFFIX=$LIBDIRSUFFIX \ + -DWITH_GCC_VISIBILITY="OFF" \ + -Wno-dev \ + .. make $NUMJOBS -make INSTALL_ROOT=$PKG install +make DESTDIR=$PKG install strip_fn @@ -1565,6 +1577,53 @@ sed -i "s|trinity|$PLUGIN_INSTALL_DIR|g" $file || true done sed -i "s|\"trinity\"|\"$PLUGIN_INSTALL_DIR\"|" tdecore/tdeapplication.cpp || true +## Patching for preferred formatting of help files +patch -N -p0 << EOF || true +--- doc/common/tde-docs.css ++++ doc/common/tde-docs.css +# +## tone down menu items highlighting +@@ -176,6 +176,6 @@ + .guilabel, .interface, .guibutton { +- background-color: rgb(220, 220, 220); ++ background-color: #f0f0f0; + color: black; + border: 1px solid rgb(190, 190, 190); +- ++ padding:0px 1px; + -khtml-border-radius: 3px; +# +## for the tags +@@ -199 +199 @@ +- background-color: #DFDFFF; ++ background-color: #efefef; +@@ -201 +201,6 @@ +- ++ padding-left: 1px; ++ padding-right: 1px; ++ border-style: solid; ++ border-width: 0px 1px; ++ border-color: lightgray; ++ color:gray; +@@ -209 +214 @@ +- border 2px solid gray; ++ border: 2px solid gray; +# +## left justify text in the tags in index.docbook +--- doc/common/tde-default.css ++++ doc/common/tde-default.css +@@ -211 +211 @@ +- text-align: justify; ++ text-align: left; +@@ -319 +319 @@ +- text-align: justify; ++ text-align: left; +EOF + +## Build without spell checker installed +## Otherwise, install Aspell, or Hspell, or Ispell … +sed -i 's|^.*Spell checker selected as default.*$|message( STATUS " ## no spell checker selected ##" )|' CMakeLists.txt + chown_fn cd_builddir_fn @@ -1572,7 +1631,7 @@ cd_builddir_fn ## 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 -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -1606,6 +1665,7 @@ cmake \ -DWITH_HAL="OFF" \ -DWITH_HSPELL="OFF" \ -DWITH_INOTIFY="ON" \ + -DWITH_ISPELL="OFF" \ -DWITH_JASPER="OFF" \ -DWITH_KDE4_MENU_SUFFIX="ON" \ -DWITH_LIBART="ON" \ @@ -1640,6 +1700,12 @@ 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 @@ -1764,11 +1830,31 @@ sed -i "s|trinity|$PLUGIN_INSTALL_DIR|" tdm/kfrontend/gentdmconf.c || true sed -i "s|trinity|$PLUGIN_INSTALL_DIR|" kcontrol/hwmanager/devicepropsdlg.cpp || true sed -i "s|trinity|$PLUGIN_INSTALL_DIR|" tdeioslave/trash/testtrash.cpp || true +patch -N -p0 << EOF || true +--- translations/desktop_files/kcontrol-desktops/en_GB.po ++++ translations/desktop_files/kcontrol-desktops/en_GB.po +@@ -1355,3 +1355,3 @@ + msgid "Configure display ICC color profile" +-msgstr "" ++msgstr "Configure display ICC colour profile" + +@@ -1360,3 +1360,3 @@ + msgid "ICC;display;color;profile;" +-msgstr "" ++msgstr "ICC;display;colour;profile;" + +@@ -1365,3 +1365,3 @@ + msgid "Color Profile" +-msgstr "" ++msgstr "Colour Profile" + +EOF + chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -1874,8 +1960,8 @@ cmake \ -Wno-dev \ .. -## The linker has decided it can't find some libs to build kicker even though they've been built. -## Editing kicker.dir/link.txt and rerunning make works: +## If the linker has decided it can't find some libs to build kicker even though they've been built, +## editing kicker.dir/link.txt and rerunning make works: make $NUMJOBS || \ [[ ! -e ./kicker/kicker/kicker ]] && { sed -i 's|^.*$|& ../../libkonq/libkonq.so.4 ./interfaces/libkickoffsearch_interfaces.so.0|' ./kicker/kicker/CMakeFiles/kicker.dir/link.txt && \ @@ -2215,7 +2301,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -2292,14 +2378,11 @@ mkdir $TMP/tmp-$PRGNAM untar_fn -## set installation directory for superkaramba.desktop file -sed -i 's|DESTINATION ${APPS_INSTALL_DIR}/Utilities|DESTINATION ${XDG_APPS_INSTALL_DIR}|' superkaramba/src/CMakeLists.txt - chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -2348,6 +2431,10 @@ cmake \ -Wno-dev \ .. +## Quick fix for: +## /bin/sh: makecrc: command not found +PATH=$PATH:$PWD/klaptopdaemon + make $NUMJOBS make DESTDIR=$PKG install @@ -2395,7 +2482,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -2929,7 +3016,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM-$VERSION/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* CFLAGS="$SLKCFLAGS" \ ../configure \ --prefix=/usr \ @@ -2984,7 +3071,7 @@ untar_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* ## If imlib is installed, include kuickshow: [[ $(ls $SYSROOT/usr/lib$LIBDIRSUFFIX/libImlib.so.*) ]] && KUICKSHOW=ON cmake-toolchain_fn @@ -3076,7 +3163,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -3151,7 +3238,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* ## all locales and html docs built by default, actually only en_US cmake-toolchain_fn cmake \ @@ -3223,16 +3310,16 @@ sed -i -e 's|network_|knemo_network_|g' src/{knemod/interfaceicon,kcm/configdial sed -i 's|<tr><td>|<tr><td width=70%>|g' src/knemod/interfacetooltip.cpp ## patch sed -i 's|Default Gateway" ), LINK_QUALITY|Default Gateway" ), GATEWAY|' src/knemod/interfacetooltip.cpp + ## set support for additional language(s) as per I18N variable ## but only for languages available with this package -langs="";for Lang in $I18N;do [[ -d translations/$Lang ]] && langs="$langs $Lang";done -sed -i "s|SUBDIRS=.*$|SUBDIRS=$langs|" translations/Makefile.am +[[ $I18N ]] && TRANS=ON && LINGUAS=$I18N chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* cmake-toolchain_fn cmake \ -D CMAKE_TOOLCHAIN_FILE=./cmake-toolchain.cmake \ @@ -3272,7 +3359,6 @@ makepkg_fn
-

@@ -3310,7 +3396,7 @@ chown_fn cd_builddir_fn -## rm -rf $TMP/tmp-$PRGNAM/$SUB_DIR$PRGNAM/build-$PRGNAM/* +## rm -rf $TMP/tmp-$PRGNAM/$PRGNAM*/build-$PRGNAM/* CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ MOC=$SYSROOT/x86/tqmoc \ @@ -3345,6 +3431,572 @@ makepkg_fn
+ +

+ + +
+… kvkbd   + +

close + +cd / +PRGNAM=kvkbd +VERSION=$TDE_VERSION +BUILD=$BUILD +TMP=/tmp/build +rm -rf $TMP +PKG=$TMP/package-$PRGNAM +OUTPUT=/tmp +mkdir -p $PKG +mkdir $TMP/tmp-$PRGNAM + +untar_fn + +These patches are to build Kvkbd to +• add a LSGT key for non-US keyboards +• add a RWIN key +• add 'Lock on screen' feature +• support evdev key mapping +• support dead keys +• fix num pad keycodes +• show & and shift characters +• set user choice of background colour + change "antiquewhite3" to the colour of your choice - the double quotes are required + alternative forms of the same colour are "#cdc0b0", or 205,192,176. +echo $'--- src-orig/MainWidget.cpp ++++ src/MainWidget.cpp +@@ -45,3 +45,3 @@ + #define R3LEN 9 +-#define R4LEN 7 ++#define R4LEN 8 + +@@ -71,7 +71,7 @@ + +-\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}; + +-\tint stx=15; ++\tint stx=16; + \tint sty=15; +@@ -96,3 +96,3 @@ + \t\tf->setText ( "F"+TQString ( "%1" ).arg ( a+1 ) ); +-\t\tf->move ( stx+esc->width() + ( 35*a ) +20,sty ); ++\t\tf->move ( stx+esc->width() +30 + ( 35*a ),sty ); + \t\tf->res(); +@@ -106,3 +106,3 @@ + \t\tf->setText ( "F"+TQString ( "%1" ).arg ( a+5 ) ); +-\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 ); + \t\tf->res(); +@@ -117,3 +117,3 @@ + \t\tf->setText ( "F"+TQString ( "%1" ).arg ( a+9 ) ); +-\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 ); + \t\tf->res(); +@@ -138,3 +138,3 @@ + \tbksp->move ( stx+ ( R1LEN *35 ),sty+35 ); +-\tbksp->resize ( 46,30 ); ++\tbksp->resize ( 48,30 ); + \tbksp->setText ( "Bksp" ); +@@ -148,3 +148,3 @@ + \ttab->move ( stx,sty+35+35 ); +-\ttab->resize ( 47,30 ); ++\ttab->resize ( 48,30 ); + \ttab->setText ( "Tab" ); +@@ -248,3 +248,3 @@ + \tlshft->move ( stx,sty+ ( 4*35 ) ); +-\tlshft->resize ( 80,30 ); ++\tlshft->resize ( 45,30 ); + \tlshft->setText ( "Shift" ); +@@ -261,3 +261,3 @@ + \t\t//v->setShiftText ( k4s.mid ( a,1 ) ); +-\t\tv->move ( stx+35+16+35+ ( 35*a ),sty+ ( 4*35 ) ); ++\t\tv->move ( stx+lshft->width() +5+ ( 35*a ),sty+ ( 4*35 ) ); + \t\tbtns.append ( v ); +@@ -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 ( "/" ); +@@ -295,4 +295,4 @@ + \trshft = new VButton ( this,"" ); +-\trshft->setKeyCode ( 50 ); +-\trshft->move ( stx+ ( ( R4LEN +3 ) *35 ) +lshft->width() +5,sty+ ( 4*35 ) ); ++\trshft->setKeyCode ( 62 ); ++\trshft->move ( stx+lshft->width() +5+ ( ( R4LEN +3 ) *35 ) ,sty+ ( 4*35 ) ); + \trshft->resize ( 68,30 ); +@@ -318,7 +318,8 @@ + \twin->resize ( 45,30 ); +-\twin->move ( 5+lctrl->x() +lctrl->width(), sty+ ( 5*35 ) ); +-\twin->setText ( "Win" ); +-\twin->setKeyCode ( 115 ); +-\twin->setToggleButton ( true ); +-\tmod_keys.append ( win ); ++\twin->move ( lctrl->x() +lctrl->width() +5, sty+ ( 5*35 ) ); ++\twin->setText ( "LWin" ); ++\twin->setKeyCode ( 133 ); ++\twin->setToggleButton ( false ); ++\tconnect ( win, TQT_SIGNAL ( keyClick ( unsigned int ) ), this, TQT_SLOT ( keyPress ( unsigned int ) ) ); ++\tother_keys.append( win ); + \twin->res(); +@@ -328,3 +329,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 +339,4 @@ + \tspace->setKeyCode ( 65 ); +-\tspace->resize ( 5*35+28,30 ); +-\tspace->move ( 5+lalt->x() +lalt->width(),sty+ ( 5*35 ) ); ++\tspace->resize ( 153,30 ); ++\tspace->move ( lalt->x() +lalt->width() +5, sty+ ( 5*35 ) ); + \tconnect ( space, TQT_SIGNAL ( keyClick ( unsigned int ) ), this, TQT_SLOT ( keyPress ( unsigned int ) ) ); +@@ -346,5 +347,5 @@ + \tralt->resize ( 45,30 ); +-\tralt->move ( 5+space->x() +space->width(), sty+ ( 5*35 ) ); ++\tralt->move ( space->x() +space->width() +5, sty+ ( 5*35 ) ); + \tralt->setText ( "AltGr" ); +-\tralt->setKeyCode ( 113 ); ++\tralt->setKeyCode ( 108 ); + \tralt->setToggleButton ( true ); +@@ -353,2 +354,12 @@ + ++\trwin = new VButton ( this,"" ); ++\trwin->resize ( 45,30 ); ++\trwin->move ( ralt->x() +ralt->width() +5, sty+ ( 5*35 ) ); ++\trwin->setText ( "RWin" ); ++\trwin->setKeyCode ( 134 ); ++\trwin->setToggleButton ( false ); ++\tconnect ( rwin, TQT_SIGNAL ( keyClick ( unsigned int ) ), this, TQT_SLOT ( keyPress ( unsigned int ) ) ); ++\tother_keys.append( rwin ); ++\trwin->res(); ++ + +@@ -356,5 +367,5 @@ + \tmnu->resize ( 45,30 ); +-\tmnu->move ( 5+ralt->x() +ralt->width(), sty+ ( 5*35 ) ); ++\tmnu->move ( rwin->x() +rwin->width() +5, sty+ ( 5*35 ) ); + \tmnu->setText ( "Menu" ); +-\tmnu->setKeyCode ( 117 ); ++\tmnu->setKeyCode ( 135 ); + \tmnu->setToggleButton ( false ); +@@ -367,5 +378,5 @@ + \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" ); +-\trctrl->setKeyCode ( 37 ); ++\trctrl->setKeyCode ( 105 ); + \trctrl->setToggleButton ( true ); +@@ -377,5 +388,5 @@ + \tquit = new VButton ( this,"quit" ); +-\tquit->resize ( 15,30 ); +-\tquit->move ( 525,15 ); +-\tquit->setPaletteBackgroundColor ( TQt::red ); ++\tquit->resize ( 20,30 ); ++\tquit->move ( 526,15 ); ++\tquit->setPixmap(TQIconSet(SmallIcon("application-exit")).pixmap()); + \tquit->res(); +@@ -385,5 +396,5 @@ + \textent = new VButton(this,"extent"); +-\textent->resize( 15,65 ); +-\textent->move(525, 85 ); +-\textent->setText(">>"); ++\textent->resize ( 20,65 ); ++\textent->move(526, 85 ); ++\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); + \textent->res(); +@@ -396,13 +407,13 @@ + +-\tsetPaletteBackgroundColor ( TQt::black ); + \tsetFocusPolicy ( TQ_NoFocus ); ++\tsetPaletteBackgroundColor ( TQColor("antiquewhite3") ); + + +-\tint padx= 550; +-\tTQString txt[9] = { "Ho\\nme", TQString::fromUtf8("▲"), "Pg\\nUp", ++\tint padx= 553; ++\tTQString txt[9] = { TQString::fromUtf8("H\\u2190"), TQString::fromUtf8("▲"), TQString::fromUtf8("P\\u2191"), + \t\tTQString::fromUtf8("◄"), " ", TQString::fromUtf8("►"), +-\t\t"End", TQString::fromUtf8("▼"), "Pg\\nDn" }; ++\t\tTQString::fromUtf8("E\\u2192"), TQString::fromUtf8("▼"), TQString::fromUtf8("P\\u2193") }; + \tTQString nump[9] = {"7","8","9","4","5","6","1","2","3"}; + \tint val=0; +-\tint nval[9] = {16,17,18,13,14,15,10,11,12}; ++\tint nval[9] = {79,80,81,83,84,85,87,88,89}; + \tint cval[9] = {79,80,81,83,84,85,87,88,89}; +@@ -426,3 +437,3 @@ + \tins->setText("Ins"); +-\tins->setKeyCode(19,90); ++\tins->setKeyCode(90,90); + \tins->setShiftText("0"); +@@ -438,3 +449,3 @@ + \tdel->setShiftText("."); +-\tdel->setKeyCode(60,91); ++\tdel->setKeyCode(91,91); + \tnuml_keys.append(del); +@@ -447,3 +458,3 @@ + \tnuml->res(); +-\tnuml->setText("Num\\nLock"); ++\tnuml->setText(TQString::fromUtf8("\\u2116")); + \tnuml->setToggleButton ( true ); +@@ -458,3 +469,3 @@ + \tdiv->setText("/"); +-\tdiv->setKeyCode(112); ++\tdiv->setKeyCode(106); + \tother_keys.append(div); +@@ -475,3 +486,3 @@ + \tent->setText("Ent"); +-\tent->setKeyCode(36); ++\tent->setKeyCode(104); + \tother_keys.append(ent); +@@ -519,2 +530,6 @@ + \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())); +@@ -541,4 +556,4 @@ + \t\tpopup_menu = new VButton ( this,"popupmenu" ); +-\t\tpopup_menu->resize ( 15,30 ); +-\t\tpopup_menu->move ( 525,15+35 ); ++\t\tpopup_menu->resize ( 20,30 ); ++\t\tpopup_menu->move ( 526,15+35 ); + \t\t//popup_menu->setPaletteBackgroundColor ( TQt::green ); +@@ -583,3 +598,3 @@ + +-\tint d_width=550; ++\tint d_width=553; + \tint d_height=235; +@@ -629,6 +644,6 @@ + \t\tsdxb = width(); +-\t\tsdxs = width() - (width() * (150.0/700.0)); +-\t\tVButton::pw=700.0; ++\t\tsdxs = width() - (width() * (150.0/704.0)); ++\t\tVButton::pw=704.0; + \t\tVButton::ph=235.0; +-\t\tsetMinimumSize(700/3,235/3); ++\t\tsetMinimumSize(704/3,235/3); + \t} +@@ -636,6 +651,6 @@ + \t\tsdxs = width(); +-\t\tsdxb = width() + (width() * (150.0/550.0)); +-\t\tVButton::pw=550.0; ++\t\tsdxb = width() + (width() * (150.0/553.0)); ++\t\tVButton::pw=553.0; + \t\tVButton::ph=235.0; +-\t\tsetMinimumSize(550/3,235/3); ++\t\tsetMinimumSize(553/3,235/3); + \t} +@@ -675,3 +690,3 @@ + \t\t//double rs = (100.0/700.0)*width(); +-\t\tdouble rp = (8.0/600.0)*width(); ++\t\tdouble rp = (10.0/600.0)*width(); + \t\t//fnt.setStretch(rs); +@@ -688,3 +703,3 @@ + \t\tTQWidget::resize ( (int)sdxs, height() ); +-\t\textent->setText(">>"); ++\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-forward")).pixmap()); + \t} +@@ -692,3 +707,3 @@ + \t\textent_visible=true;\t +-\t\textent->setText("<<"); ++\t\textent->setPixmap(TQIconSet(SmallIcon("media-seek-backward")).pixmap()); + \t\tTQWidget::resize ( (int)sdxb, height() ); +@@ -731,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() +@@ -878,26 +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 +-\tv.setText(btn_text); ++\t\tTQChar l((uint)retl); ++\t\tif (l==\'&\') ++\t\t\tv.setText("&&"); ++\t\telse ++\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); + } +@@ -928,3 +951,3 @@ + \ticn=UserIcon ( "dock" ); +-\tresize ( 96,47 ); ++\tresize ( 64,31 ); + +@@ -999,2 +1022,3 @@ + } keysymtab[] = { ++ { 0x0000, 0x0020 }, /* NoSymbol -> <- space */ + { 0x01a1, 0x0104 }, /* Aogonek Ą LATIN CAPITAL LETTER A WITH OGONEK */ +@@ -1237,2 +1261,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 */ +@@ -1252,2 +1277,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 */ +@@ -1772,2 +1798,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 */ + }; +@@ -1808,3 +1850,3 @@ + { +- ++\tTQToolTip::add ( this, "Virtual keyboard" ); + } +--- src-orig/MainWidget.h ++++ src/MainWidget.h +@@ -69,2 +69,3 @@ + \tvoid saveState(); ++\tvoid toggleLock(); + +@@ -96,2 +97,3 @@ + \tVButton *win; ++\tVButton *rwin; + \tVButton *mnu; +@@ -130,2 +132,3 @@ + \tint mnu_autores; ++\tint mnu_lock; + +--- src-orig/VButton.cpp ++++ src/VButton.cpp +@@ -4,3 +4,3 @@ + +-double VButton::pw=550.0; ++double VButton::pw=553.0; + double VButton::ph=235.0; +@@ -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; + } +--- src-orig/VButton.h ++++ src/VButton.h +@@ -31,3 +31,3 @@ + \tunsigned int keycode; +-\tTQString u; ++\tTQString s; + \tTQString l; +--- src-orig/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-orig/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-orig/resizabledragwidget.cpp ++++ src/resizabledragwidget.cpp +@@ -38,2 +38,3 @@ + { ++\tif (locked)return; + \t +--- src-orig/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 + +This patch sets the background colour of the keys/buttons, but is not suitable for running Kvkbd with the plastik or keramik styles. +They have a button outline within the 30x30 key footprint and the background colour shows around the edges of the outline. +Kvkbd can be run with a different style than the system style, and kvkbd --style cde looks reasonable: +
+
Enter the colour in the form shown, or as "#f0f0f0" or 240,240,240 - the double quotes are required. +echo $'--- src/VButton.cpp ++++ src/VButton.cpp +@@ -11,2 +11,3 @@ + \t//connect(this,TQT_SIGNAL(clicked()),this,TQT_SLOT(sendKey())); ++\tsetPaletteBackgroundColor ( TQColor("gray94") ); + \tsetFocusPolicy(TQ_NoFocus); +' | patch -N -p0 + +chown_fn + +cd_builddir_fn + +## 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 KDE3_MEINPROC_EXECUTABLE:INTERNAL=$INSTALL_TDE/bin/meinproc-x86 \ + -DCMAKE_C_FLAGS="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ + -DCMAKE_C_COMPILER=$COMPILER \ + -DCMAKE_CXX_COMPILER=$COMPILER_CXX \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \ + -DWITH_GCC_VISIBILITY="OFF" \ + -DBUILD_DOC="ON" \ + -DBUILD_TRANSLATIONS="OFF" \ + -Wno-dev \ + .. + +make $NUMJOBS +make DESTDIR=$PKG install + +strip_fn + +mkdir_install_fn + +doinst_sh_fn + +makepkg_fn + +## don't need to install this +## installpkg $OUTPUT/$PRGNAM-$VERSION-$ARM-$BUILD.txz +## ROOT=$SYSROOT installpkg $OUTPUT/$PRGNAM-$VERSION-$ARM-$BUILD.txz + +There is a help page included with the tde-slackbuilds source which is not practical to add to this build. +It can be built from that source with meinproc and added to this package if needed. + +close +
+
+ +
The source for this page is in the gh-pages branch of tde-slackbuilds: @@ -3385,6 +4037,7 @@ git checkout gh-pages

… tdmtheme

… knemo

… krusader +

… kvkbd