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.
136 lines
3.7 KiB
136 lines
3.7 KiB
13 years ago
|
commit 45fb5561be6e828c78180c781f74d0ae9d1c3ea4
|
||
|
Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
|
||
|
Date: 1326230757 -0600
|
||
|
|
||
|
Enable xtest support flag
|
||
|
|
||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||
|
index b832a92..f4d11ac 100644
|
||
|
--- a/CMakeLists.txt
|
||
|
+++ b/CMakeLists.txt
|
||
|
@@ -65,6 +65,7 @@ option( WITH_XRANDR "Enable xrandr support" OFF )
|
||
|
option( WITH_XRENDER "Enable xrender support" OFF )
|
||
|
option( WITH_XDAMAGE "Enable xdamage support" OFF )
|
||
|
option( WITH_XEXT "Enable xext support" OFF )
|
||
|
+option( WITH_XTEST "Enable xext support" OFF )
|
||
|
option( WITH_LIBUSB "Enable control of some mouse models through libusb" OFF )
|
||
|
option( WITH_LIBRAW1394 "Enable visualization of ieee1394 devices through libraw1394" OFF )
|
||
|
option( WITH_SUDO_KDESU_BACKEND "Use sudo as backend for kdesu (default is su)" OFF )
|
||
|
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
|
||
|
index 7b7a1b4..df892e1 100644
|
||
|
--- a/ConfigureChecks.cmake
|
||
|
+++ b/ConfigureChecks.cmake
|
||
|
@@ -100,12 +100,25 @@ endif( )
|
||
|
# xext (kwin/kompmgr)
|
||
|
if( WITH_XEXT )
|
||
|
pkg_search_module( XEXT xext )
|
||
|
- if( NOT XEXT_FOUND )
|
||
|
+ if( XEXT_FOUND )
|
||
|
+ set( HAVE_XEXT 1 )
|
||
|
+ else( XEXT_FOUND )
|
||
|
tde_message_fatal( "xext is requested, but was not found on your system" )
|
||
|
endif( )
|
||
|
endif( )
|
||
|
|
||
|
|
||
|
+# xtest (kxkb)
|
||
|
+if( WITH_XTEST )
|
||
|
+ pkg_search_module( XTEST xtst )
|
||
|
+ if( XTEST_FOUND )
|
||
|
+ set( HAVE_XTEST 1 )
|
||
|
+ else( XTEST_FOUND )
|
||
|
+ tde_message_fatal( "xtest is requested, but was not found on your system" )
|
||
|
+ endif( )
|
||
|
+endif( )
|
||
|
+
|
||
|
+
|
||
|
# GL
|
||
|
if( BUILD_KDESKTOP OR BUILD_KCONTROL OR BUILD_KSCREENSAVER )
|
||
|
check_library_exists( GL glXChooseVisual "" HAVE_GLXCHOOSEVISUAL )
|
||
|
diff --git a/config.h.cmake b/config.h.cmake
|
||
|
index d72a96c..a8de2fa 100644
|
||
|
--- a/config.h.cmake
|
||
|
+++ b/config.h.cmake
|
||
|
@@ -18,6 +18,9 @@
|
||
|
// konsole, kdm, kxkb
|
||
|
#cmakedefine HAVE_XKB 1
|
||
|
|
||
|
+// kxkb
|
||
|
+#cmakedefine HAVE_XTEST 1
|
||
|
+
|
||
|
// kdm, kioslave
|
||
|
#cmakedefine HAVE_TERMIOS_H 1
|
||
|
|
||
|
diff --git a/kxkb/CMakeLists.txt b/kxkb/CMakeLists.txt
|
||
|
index 703591a..f36a003 100644
|
||
|
--- a/kxkb/CMakeLists.txt
|
||
|
+++ b/kxkb/CMakeLists.txt
|
||
|
@@ -22,6 +22,7 @@ include_directories(
|
||
|
|
||
|
link_directories(
|
||
|
${TQT_LIBRARY_DIRS}
|
||
|
+ ${XTEST_LIBDIR}
|
||
|
)
|
||
|
|
||
|
|
||
|
@@ -39,7 +40,7 @@ tde_add_kpart( kcm_keyboard AUTOMOC
|
||
|
extension.cpp x11helper.cpp rules.cpp kxkbconfig.cpp
|
||
|
pixmap.cpp kcmlayout.cpp kcmlayoutwidget.ui
|
||
|
kcmmisc.cpp kcmmiscwidget.ui
|
||
|
- LINK kio-shared xkbfile
|
||
|
+ LINK kio-shared xkbfile ${XTEST_LIBRARIES}
|
||
|
DESTINATION ${PLUGIN_INSTALL_DIR}
|
||
|
)
|
||
|
|
||
|
diff --git a/kxkb/kcmmisc.cpp b/kxkb/kcmmisc.cpp
|
||
|
index b4c18a4..8850d89 100644
|
||
|
--- a/kxkb/kcmmisc.cpp
|
||
|
+++ b/kxkb/kcmmisc.cpp
|
||
|
@@ -344,6 +344,21 @@ int xkb_set_off()
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
+int xkb_state()
|
||
|
+ {
|
||
|
+ unsigned int mask;
|
||
|
+ unsigned int numlockState;
|
||
|
+ XkbStateRec xkbState;
|
||
|
+ if( !xkb_init())
|
||
|
+ return 0;
|
||
|
+ mask = xkb_numlock_mask();
|
||
|
+ if( mask == 0 )
|
||
|
+ return 0;
|
||
|
+ XkbGetState( dpy, XkbUseCoreKbd, &xkbState);
|
||
|
+ numlockState = xkbState.locked_mods & mask;
|
||
|
+ return numlockState;
|
||
|
+ }
|
||
|
+
|
||
|
int xkb_toggle()
|
||
|
{
|
||
|
unsigned int mask;
|
||
|
@@ -443,7 +458,14 @@ void numlock_toggle()
|
||
|
return;
|
||
|
#endif
|
||
|
#ifdef HAVE_XTEST
|
||
|
+#ifdef HAVE_XKB
|
||
|
+ if (xkb_state())
|
||
|
+ xtest_set_on();
|
||
|
+ else
|
||
|
+ xtest_set_off();
|
||
|
+#else // HAVE_XKB
|
||
|
xtest_toggle();
|
||
|
+#endif // HAVE_XKB
|
||
|
#endif
|
||
|
}
|
||
|
// This code is taken from xset utility from XFree 4.3 (http://www.xfree86.org/)
|
||
|
--- kdebase/khotkeys/shared/CMakeLists.txt.ORI 2012-01-14 21:49:34.423813010 +0100
|
||
|
+++ kdebase/khotkeys/shared/CMakeLists.txt 2012-01-14 21:53:23.915008098 +0100
|
||
|
@@ -36,6 +36,6 @@
|
||
|
tde_add_library( ${target} SHARED AUTOMOC
|
||
|
SOURCES ${${target}_SRCS}
|
||
|
VERSION 1.0.0
|
||
|
- LINK kio-shared
|
||
|
+ LINK kio-shared ${XTEST_LIBRARIES}
|
||
|
DESTINATION ${LIB_INSTALL_DIR}
|
||
|
)
|