author | Stuart Kreitman <Stuart.Kreitman@Sun.COM> |
Thu, 17 Dec 2009 15:35:07 -0800 | |
changeset 865 | 2830e8bf613b |
child 981 | 34c4991cc8b6 |
permissions | -rw-r--r-- |
865
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
1 |
--- /dev/null 2009-12-17 01:29:23.000000000 -0800 |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
2 |
+++ upstream-modkeystick.patch 2009-12-17 01:28:12.531376950 -0800 |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
3 |
@@ -0,0 +1,34 @@ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
4 |
+open-src/xserver/xvnc/build_32/tigervnc-1.0.0 |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
5 |
+--- unix/xserver/hw/vnc/Input.cc.orig 2009-12-16 17:23:13.298295400 -0800 |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
6 |
++++ unix/xserver/hw/vnc/Input.cc 2009-12-16 17:14:56.292383650 -0800 |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
7 |
+@@ -456,6 +456,14 @@ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
8 |
+ unsigned int i, n; |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
9 |
+ int j, k, action; |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
10 |
+ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
11 |
++ /* |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
12 |
++ * Since we are checking the current state to determine if we need |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
13 |
++ * to fake modifiers, we must make sure that everything put on the |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
14 |
++ * input queue is processed before we start. Otherwise, shift may be |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
15 |
++ * stuck down. |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
16 |
++ */ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
17 |
++ mieqProcessInputEvents(); |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
18 |
++ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
19 |
+ if (keysym == XK_Caps_Lock) { |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
20 |
+ vlog.debug("Ignoring caps lock"); |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
21 |
+ goto cleanup; |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
22 |
+@@ -617,6 +625,15 @@ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
23 |
+ xfree(keymap); |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
24 |
+ } |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
25 |
+ #endif |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
26 |
++ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
27 |
++ /* |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
28 |
++ * When faking a modifier we are putting a keycode (which can |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
29 |
++ * currently activate the desired modifier) on the input |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
30 |
++ * queue. A future modmap change can change the mapping so |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
31 |
++ * that this keycode means something else entirely. Guard |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
32 |
++ * against this by processing the queue now. |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
33 |
++ */ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
34 |
++ mieqProcessInputEvents(); |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
35 |
+ } |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
36 |
+ |
2830e8bf613b
6911361 vnc has problems with sticky modifier keys
Stuart Kreitman <Stuart.Kreitman@Sun.COM>
parents:
diff
changeset
|
37 |
+ static KeySym KeyCodetoKeySym(KeySymsPtr keymap, int keycode, int col) |