aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/kdrive/ephyr/ephyr.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-10-25 19:53:22 +0200
committermarha <marha@users.sourceforge.net>2014-10-25 19:53:22 +0200
commitd6d5581d5fba846c8476ad4d593da662306765d7 (patch)
tree7a864e15d2c5007b7c3298487a59f11f15c55c75 /xorg-server/hw/kdrive/ephyr/ephyr.c
parenta14858a22f164b5accc4bd192a5d3de21d88e3d1 (diff)
downloadvcxsrv-d6d5581d5fba846c8476ad4d593da662306765d7.tar.gz
vcxsrv-d6d5581d5fba846c8476ad4d593da662306765d7.tar.bz2
vcxsrv-d6d5581d5fba846c8476ad4d593da662306765d7.zip
libXft mesa xserver pixman xkeyboard-config git update 25 Oct 2014
xserver commit 16a32c53f6e9ad1f3284d4596edfa33e9efb740e xkeyboard-config commit 0d4c3d9d891536aa1ec4f1fff5e3df51cfd2718d pixman commit 594e6a6c93e92fcfb495e987aec5617f6c37f467 libXft commit e8a83226bc10afb587f6f34daac44d2ef809c85e mesa commit 13862812dc910a4ef57cb72cb9fe777ce3c14515
Diffstat (limited to 'xorg-server/hw/kdrive/ephyr/ephyr.c')
-rw-r--r--xorg-server/hw/kdrive/ephyr/ephyr.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/xorg-server/hw/kdrive/ephyr/ephyr.c b/xorg-server/hw/kdrive/ephyr/ephyr.c
index 8b88f3e6d..57617107d 100644
--- a/xorg-server/hw/kdrive/ephyr/ephyr.c
+++ b/xorg-server/hw/kdrive/ephyr/ephyr.c
@@ -68,6 +68,7 @@ typedef struct _EphyrInputPrivate {
Bool EphyrWantGrayScale = 0;
Bool EphyrWantResize = 0;
+Bool EphyrWantNoHostGrab = 0;
Bool
host_has_extension(xcb_extension_t *extension)
@@ -649,7 +650,11 @@ ephyrInitScreen(ScreenPtr pScreen)
EPHYR_LOG("pScreen->myNum:%d\n", pScreen->myNum);
hostx_set_screen_number(screen, pScreen->myNum);
- hostx_set_win_title(screen, "(ctrl+shift grabs mouse and keyboard)");
+ if (EphyrWantNoHostGrab) {
+ hostx_set_win_title(screen, "xephyr");
+ } else {
+ hostx_set_win_title(screen, "(ctrl+shift grabs mouse and keyboard)");
+ }
pScreen->CreateColormap = ephyrCreateColormap;
#ifdef XV
@@ -1092,12 +1097,13 @@ ephyrProcessKeyRelease(xcb_generic_event_t *xev)
if (!keysyms)
keysyms = xcb_key_symbols_alloc(conn);
- if (((xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_L
+ if (!EphyrWantNoHostGrab &&
+ (((xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_L
|| xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Shift_R)
&& (key->state & XCB_MOD_MASK_CONTROL)) ||
((xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Control_L
|| xcb_key_symbols_get_keysym(keysyms, key->detail, 0) == XK_Control_R)
- && (key->state & XCB_MOD_MASK_SHIFT))) {
+ && (key->state & XCB_MOD_MASK_SHIFT)))) {
KdScreenInfo *screen = screen_from_window(key->event);
EphyrScrPriv *scrpriv = screen->driver;