|
Adam Tkac |
6db666f |
diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc
|
|
Adam Tkac |
6db666f |
--- tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 2011-05-12 10:42:52.813229993 +0200
|
|
Adam Tkac |
6db666f |
+++ tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc 2011-05-12 10:52:41.036211939 +0200
|
|
Adam Tkac |
6db666f |
@@ -305,7 +305,7 @@ static inline void pressKey(DeviceIntPtr
|
|
Adam Tkac |
6db666f |
vlog.debug("%s %d %s", msg, kc, down ? "down" : "up");
|
|
Adam Tkac |
6db666f |
|
|
Adam Tkac |
6db666f |
action = down ? KeyPress : KeyRelease;
|
|
Adam Tkac |
6db666f |
- n = GetKeyboardEvents(eventq, dev, action, kc);
|
|
Adam Tkac |
6db666f |
+ n = GetKeyboardEvents(eventq, dev, action, kc, NULL);
|
|
Adam Tkac |
6db666f |
enqueueEvents(dev, n);
|
|
Adam Tkac |
6db666f |
}
|
|
Adam Tkac |
6db666f |
|
|
Adam Tkac |
6db666f |
@@ -341,8 +341,11 @@ public:
|
|
Adam Tkac |
6db666f |
int state, maxKeysPerMod, keycode;
|
|
Adam Tkac |
6db666f |
#if XORG >= 17
|
|
Adam Tkac |
6db666f |
KeyCode *modmap = NULL;
|
|
Adam Tkac |
6db666f |
+ DeviceIntPtr master;
|
|
Adam Tkac |
6db666f |
|
|
Adam Tkac |
6db666f |
- state = XkbStateFieldFromRec(&dev->u.master->key->xkbInfo->state);
|
|
Adam Tkac |
6db666f |
+ master = GetMaster(dev, MASTER_KEYBOARD);
|
|
Adam Tkac |
6db666f |
+
|
|
Adam Tkac |
6db666f |
+ state = XkbStateFieldFromRec(&master->key->xkbInfo->state);
|
|
Adam Tkac |
6db666f |
#else
|
|
Adam Tkac |
6db666f |
KeyClassPtr keyc = dev->key;
|
|
Adam Tkac |
6db666f |
state = keyc->state;
|
|
Adam Tkac |
6db666f |
@@ -379,8 +382,10 @@ public:
|
|
Adam Tkac |
6db666f |
KeyClassPtr keyc;
|
|
Adam Tkac |
6db666f |
#if XORG >= 17
|
|
Adam Tkac |
6db666f |
KeyCode *modmap = NULL;
|
|
Adam Tkac |
6db666f |
+ DeviceIntPtr master;
|
|
Adam Tkac |
6db666f |
|
|
Adam Tkac |
6db666f |
- keyc = dev->u.master->key;
|
|
Adam Tkac |
6db666f |
+ master = GetMaster(dev, MASTER_KEYBOARD);
|
|
Adam Tkac |
6db666f |
+ keyc = master->key;
|
|
Adam Tkac |
6db666f |
state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
|
|
Adam Tkac |
6db666f |
#else
|
|
Adam Tkac |
6db666f |
keyc = dev->key;
|
|
Adam Tkac |
6db666f |
@@ -565,9 +570,7 @@ static inline int isModifier(KeySymsPtr
|
|
Adam Tkac |
6db666f |
|
|
Adam Tkac |
6db666f |
void InputDevice::keyEvent(rdr::U32 keysym, bool down)
|
|
Adam Tkac |
6db666f |
{
|
|
Adam Tkac |
6db666f |
-#if XORG < 17
|
|
Adam Tkac |
6db666f |
DeviceIntPtr master;
|
|
Adam Tkac |
6db666f |
-#endif
|
|
Adam Tkac |
6db666f |
KeyClassPtr keyc;
|
|
Adam Tkac |
6db666f |
KeySymsPtr keymap = NULL;
|
|
Adam Tkac |
6db666f |
KeySym *map = NULL;
|
|
Adam Tkac |
6db666f |
@@ -596,7 +599,8 @@ void InputDevice::keyEvent(rdr::U32 keys
|
|
Adam Tkac |
6db666f |
}
|
|
Adam Tkac |
6db666f |
|
|
Adam Tkac |
6db666f |
#if XORG >= 17
|
|
Adam Tkac |
6db666f |
- keyc = keyboardDev->u.master->key;
|
|
Adam Tkac |
6db666f |
+ master = GetMaster(keyboardDev, MASTER_KEYBOARD);
|
|
Adam Tkac |
6db666f |
+ keyc = master->key;
|
|
Adam Tkac |
6db666f |
|
|
Adam Tkac |
6db666f |
keymap = XkbGetCoreMap(keyboardDev);
|
|
Adam Tkac |
6db666f |
if (!keymap) {
|
|
Adam Tkac |
6db666f |
@@ -753,7 +757,7 @@ ModeSwitchFound:
|
|
Adam Tkac |
6db666f |
XkbApplyMappingChange(keyboardDev, keymap, minKeyCode,
|
|
Adam Tkac |
6db666f |
maxKeyCode - minKeyCode + 1,
|
|
Adam Tkac |
6db666f |
NULL, serverClient);
|
|
Adam Tkac |
6db666f |
- XkbCopyDeviceKeymap(keyboardDev->u.master, keyboardDev);
|
|
Adam Tkac |
6db666f |
+ XkbCopyDeviceKeymap(master, keyboardDev);
|
|
Adam Tkac |
6db666f |
#endif /* XORG < 17 */
|
|
Adam Tkac |
6db666f |
break;
|
|
Adam Tkac |
6db666f |
}
|
|
Adam Tkac |
6db666f |
diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h
|
|
Adam Tkac |
6db666f |
--- tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-05-12 10:40:34.109227333 +0200
|
|
Adam Tkac |
6db666f |
+++ tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h 2011-05-12 10:41:10.970229530 +0200
|
|
Adam Tkac |
6db666f |
@@ -36,6 +36,8 @@
|
|
Adam Tkac |
6db666f |
#define XORG 19
|
|
Adam Tkac |
6db666f |
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000))
|
|
Adam Tkac |
6db666f |
#define XORG 110
|
|
Adam Tkac |
6db666f |
+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000))
|
|
Adam Tkac |
6db666f |
+#define XORG 111
|
|
Adam Tkac |
6db666f |
#else
|
|
Adam Tkac |
6db666f |
#error "X.Org newer than 1.10 is not supported"
|
|
Adam Tkac |
6db666f |
#endif
|
|
Adam Tkac |
6db666f |
diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc
|
|
Adam Tkac |
6db666f |
--- tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-05-12 10:54:21.068235787 +0200
|
|
Adam Tkac |
6db666f |
+++ tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc 2011-05-12 10:59:01.867225478 +0200
|
|
Adam Tkac |
6db666f |
@@ -670,8 +670,13 @@ vfbUninstallColormap(ColormapPtr pmap)
|
|
Adam Tkac |
6db666f |
{
|
|
Adam Tkac |
6db666f |
if (pmap->mid != pmap->pScreen->defColormap)
|
|
Adam Tkac |
6db666f |
{
|
|
Adam Tkac |
6db666f |
+#if XORG < 111
|
|
Adam Tkac |
6db666f |
curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
|
|
Adam Tkac |
6db666f |
RT_COLORMAP);
|
|
Adam Tkac |
6db666f |
+#else
|
|
Adam Tkac |
6db666f |
+ dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap,
|
|
Adam Tkac |
6db666f |
+ RT_COLORMAP, serverClient, DixUnknownAccess);
|
|
Adam Tkac |
6db666f |
+#endif
|
|
Adam Tkac |
6db666f |
(*pmap->pScreen->InstallColormap)(curpmap);
|
|
Adam Tkac |
6db666f |
}
|
|
Adam Tkac |
6db666f |
}
|