Contents of /trunk/vnc/patches/vnc-gnome-mouse-locale.patch
Parent Directory | Revision Log
Revision 153 -
(show annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 1620 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months 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 |