Magellan Linux

Contents of /trunk/vnc/patches/vnc-gnome-mouse-locale.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (show annotations) (download)
Tue May 8 20:52:56 2007 UTC (17 years ago) by niro
File size: 1620 byte(s)
-import

1 --- unix/vncviewer/DesktopWindow.cxx.fix 2006-05-15 18:56:20.000000000 +0200
2 +++ unix/vncviewer/DesktopWindow.cxx 2006-11-03 15:32:55.000000000 +0100
3 @@ -370,9 +370,13 @@
4 break;
5
6 case ButtonPress:
7 + if(ev->xkey.state & ControlMask)
8 + cc->writer()->keyEvent(XK_Control_L, true);
9 handlePointerEvent(Point(ev->xbutton.x, ev->xbutton.y),
10 (((ev->xbutton.state & 0x1f00) >> 8) |
11 (1 << (ev->xbutton.button-1))));
12 + if(ev->xkey.state & ControlMask)
13 + cc->writer()->keyEvent(XK_Control_L, false);
14 break;
15
16 case ButtonRelease:
17 @@ -387,6 +391,16 @@
18 char keyname[256];
19 XLookupString(&ev->xkey, keyname, 256, &ks, NULL);
20 bool fakeShiftPress = false;
21 + bool ctrlPressed = false;
22 +
23 + if((ks == XK_Control_L) || (ks == XK_Control_R))
24 + break;
25 +
26 + if(ev->xkey.state & ControlMask)
27 + {
28 + ctrlPressed = true;
29 + cc->writer()->keyEvent(XK_Control_L, true);
30 + }
31
32 // Turn ISO_Left_Tab into shifted Tab
33 if (ks == XK_ISO_Left_Tab) {
34 @@ -402,11 +416,19 @@
35
36 if (fakeShiftPress)
37 cc->writer()->keyEvent(XK_Shift_L, false);
38 + if(ctrlPressed)
39 + cc->writer()->keyEvent(XK_Control_L, false);
40 break;
41 }
42
43 case KeyRelease:
44 if (!viewOnly) {
45 + KeySym ks;
46 + char keyname[256];
47 + XLookupString(&ev->xkey, keyname, 256, &ks, NULL);
48 + if((ks == XK_Control_L) || (ks == XK_Control_L))
49 + break;
50 +
51 if (downKeysym[ev->xkey.keycode]) {
52 cc->writer()->keyEvent(downKeysym[ev->xkey.keycode], false);
53 downKeysym[ev->xkey.keycode] = 0;
54