forked from enlightenment/efl
parent
42d262f5f3
commit
0a0f8904f2
|
@ -283,6 +283,11 @@ if test "x$want_ecore_x_xcb" = "xyes" ; then
|
|||
AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ],
|
||||
[ have_ecore_x_xcb_xprint="no" ])
|
||||
|
||||
PKG_CHECK_MODULES(XCB_XTEST, xcb-xtest,
|
||||
[ have_ecore_x_xcb_xtest="yes"
|
||||
AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
|
||||
[ have_ecore_x_xcb_xtest="no" ])
|
||||
|
||||
AC_DEFINE(BUILD_ECORE_X, 1, [Build Ecore_X Module (XCB backend)])
|
||||
AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB backend is enabled.])
|
||||
|
||||
|
@ -365,6 +370,7 @@ if test "x$have_ecore_x_xcb" != "xyes" ; then
|
|||
ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
|
||||
ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRSizes])
|
||||
ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
|
||||
ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
|
||||
ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
|
||||
fi
|
||||
fi
|
||||
|
@ -835,9 +841,9 @@ echo " Ecore_Txt....................: $have_ecore_txt"
|
|||
|
||||
echo " Ecore_Evas...................: $have_ecore_evas"
|
||||
if test "x$have_ecore_x_xcb" = "xyes" ; then
|
||||
echo " Ecore_X (XCB backend)........: $have_ecore_x_xcb (Xprint: $have_ecore_x_xcb_xprint) (Xinerama: $have_ecore_x_xcb_xinerama) (Xrandr: $have_ecore_x_xcb_randr) (Xscreensaver: $have_ecore_x_xcb_screensaver) (Xshape: $have_ecore_x_xcb_shape) (Xsync: $have_ecore_x_xcb_sync) (Xrender: $have_ecore_x_xcb_render) (Xfixes: $have_ecore_x_xcb_xfixes) (Xcomposite: $have_ecore_x_xcb_composite) (Xdamage: $have_ecore_x_xcb_damage) (Xdpms: $have_ecore_x_xcb_dpms)"
|
||||
echo " Ecore_X (XCB backend)........: $have_ecore_x_xcb (Xprint: $have_ecore_x_xcb_xprint) (Xinerama: $have_ecore_x_xcb_xinerama) (Xrandr: $have_ecore_x_xcb_randr) (Xscreensaver: $have_ecore_x_xcb_screensaver) (Xshape: $have_ecore_x_xcb_shape) (Xsync: $have_ecore_x_xcb_sync) (Xrender: $have_ecore_x_xcb_render) (Xfixes: $have_ecore_x_xcb_xfixes) (Xcomposite: $have_ecore_x_xcb_composite) (Xdamage: $have_ecore_x_xcb_damage) (Xdpms: $have_ecore_x_xcb_dpms) (Xtest $have_ecore_x_xcb_xtest)"
|
||||
else
|
||||
echo " Ecore_X (Xlib backend).......: $have_ecore_x (Xcursor: $use_Xcursor) (Xprint: $use_xprint) (Xinerama: $use_xinerama) (Xrandr: $use_xrandr) (Xscreensaver: $use_xss) (Xrender: $use_xrender) (Xcomposite: $use_xcomposite) (Xfixes: $use_xfixes) (Xdamage: $use_xdamage) (Xdpms: $use_xdpms)"
|
||||
echo " Ecore_X (Xlib backend).......: $have_ecore_x (Xcursor: $use_Xcursor) (Xprint: $use_xprint) (Xinerama: $use_xinerama) (Xrandr: $use_xrandr) (Xscreensaver: $use_xss) (Xrender: $use_xrender) (Xcomposite: $use_xcomposite) (Xfixes: $use_xfixes) (Xdamage: $use_xdamage) (Xdpms: $use_xdpms) (Xtest $use_xtest)"
|
||||
fi
|
||||
echo " Ecore_Evas X11 Support.......: $have_ecore_evas_x11"
|
||||
echo " Ecore_Evas X11 GL Support....: $have_ecore_evas_x11_gl"
|
||||
|
|
|
@ -1681,7 +1681,9 @@ EAPI void ecore_x_dpms_timeout_standby_set(unsigned int new_timeout
|
|||
EAPI void ecore_x_dpms_timeout_suspend_set(unsigned int new_timeout);
|
||||
EAPI void ecore_x_dpms_timeout_off_set(unsigned int new_timeout);
|
||||
|
||||
|
||||
EAPI int ecore_x_test_fake_key_down(const char *key);
|
||||
EAPI int ecore_x_test_fake_key_up(const char *key);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -13,6 +13,7 @@ AM_CPPFLAGS = \
|
|||
@XCB_XFIXES_CFLAGS@ \
|
||||
@XCB_XINERAMA_CFLAGS@ \
|
||||
@XCB_XPRINT_CFLAGS@ \
|
||||
@XCB_XTEST_CFLAGS@ \
|
||||
@XCB_CFLAGS@ \
|
||||
-I$(top_srcdir)/src/lib/ecore \
|
||||
-I$(top_srcdir)/src/lib/ecore_txt \
|
||||
|
@ -30,6 +31,7 @@ AM_CPPFLAGS = \
|
|||
@XRANDR_CFLAGS@ \
|
||||
@XRENDER_CFLAGS@ \
|
||||
@XSS_CFLAGS@ \
|
||||
@XTEST_CFLAGS@ \
|
||||
@x_cflags@ \
|
||||
-I$(top_srcdir)/src/lib/ecore \
|
||||
-I$(top_srcdir)/src/lib/ecore_txt \
|
||||
|
@ -85,6 +87,7 @@ libecore_x_la_LIBADD = \
|
|||
@XCB_XFIXES_LIBS@ \
|
||||
@XCB_XINERAMA_LIBS@ \
|
||||
@XCB_XPRINT_LIBS@ \
|
||||
@XCB_XTEST_LIBS@ \
|
||||
@XCB_LIBS@ \
|
||||
$(top_builddir)/src/lib/ecore/libecore.la \
|
||||
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
|
||||
|
@ -130,6 +133,7 @@ ecore_x_screensaver.c \
|
|||
ecore_x_dpms.c \
|
||||
ecore_x_drawable.c \
|
||||
ecore_x_cursor.c \
|
||||
ecore_x_test.c \
|
||||
ecore_x_private.h
|
||||
|
||||
libecore_x_la_LIBADD = \
|
||||
|
@ -143,6 +147,7 @@ libecore_x_la_LIBADD = \
|
|||
@XRANDR_LIBS@ \
|
||||
@XRENDER_LIBS@ \
|
||||
@XSS_LIBS@ \
|
||||
@XTEST_LIBS@ \
|
||||
@x_libs@ \
|
||||
$(top_builddir)/src/lib/ecore/libecore.la \
|
||||
$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
|
||||
|
@ -185,4 +190,5 @@ ecore_x_screensaver.c \
|
|||
ecore_x_dpms.c \
|
||||
ecore_x_drawable.c \
|
||||
ecore_x_cursor.c \
|
||||
ecore_x_test.c \
|
||||
ecore_x_private.h
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||
*/
|
||||
|
||||
#include "ecore_x_private.h"
|
||||
#include "Ecore_X.h"
|
||||
|
||||
EAPI int
|
||||
ecore_x_test_fake_key_down(const char *key)
|
||||
{
|
||||
#ifdef ECORE_XTEST
|
||||
KeyCode keycode = 0;
|
||||
KeySym keysym;
|
||||
|
||||
if (!strncmp(key, "Keycode-", 8))
|
||||
keycode = atoi(key + 8);
|
||||
else
|
||||
{
|
||||
keysym = XStringToKeysym(key);
|
||||
if (keysym == NoSymbol) return 0;
|
||||
keycode = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(key));
|
||||
}
|
||||
if (keycode == 0) return 0;
|
||||
return XTestFakeKeyEvent(_ecore_x_disp, keycode, 1, 0);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
EAPI int
|
||||
ecore_x_test_fake_key_up(const char *key)
|
||||
{
|
||||
#ifdef ECORE_XTEST
|
||||
KeyCode keycode = 0;
|
||||
KeySym keysym;
|
||||
|
||||
if (!strncmp(key, "Keycode-", 8))
|
||||
keycode = atoi(key + 8);
|
||||
else
|
||||
{
|
||||
keysym = XStringToKeysym(key);
|
||||
if (keysym == NoSymbol) return 0;
|
||||
keycode = XKeysymToKeycode(_ecore_x_disp, XStringToKeysym(key));
|
||||
}
|
||||
if (keycode == 0) return 0;
|
||||
return XTestFakeKeyEvent(_ecore_x_disp, keycode, 0, 0);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
Loading…
Reference in New Issue