Contents of /trunk/tigervnc/patches/tigervnc-1.3.0-key_is_down.patch
Parent Directory | Revision Log
Revision 2252 -
(show annotations)
(download)
Mon Aug 12 09:25:56 2013 UTC (11 years, 1 month ago) by niro
File size: 1668 byte(s)
Mon Aug 12 09:25:56 2013 UTC (11 years, 1 month ago) by niro
File size: 1668 byte(s)
-add patches for 1.3.0
1 | diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.key_is_down tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc |
2 | --- tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.key_is_down 2013-07-24 12:54:41.461930866 +0100 |
3 | +++ tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc 2013-07-24 13:04:39.743663652 +0100 |
4 | @@ -321,7 +321,11 @@ std::list<KeyCode> InputDevice::releaseS |
5 | XkbAction *act; |
6 | unsigned char mask; |
7 | |
8 | - if (!key_is_down(master, key, KEY_PROCESSED)) |
9 | + int bit; |
10 | + BYTE *kptr; |
11 | + kptr = &master->key->down[key >> 3]; |
12 | + bit = 1 << (key & 7); |
13 | + if (*kptr & bit) |
14 | continue; |
15 | |
16 | act = XkbKeyActionPtr(xkb, key, state); |
17 | @@ -402,7 +406,11 @@ std::list<KeyCode> InputDevice::releaseL |
18 | XkbAction *act; |
19 | unsigned char key_mask; |
20 | |
21 | - if (!key_is_down(master, key, KEY_PROCESSED)) |
22 | + int bit; |
23 | + BYTE *kptr; |
24 | + kptr = &master->key->down[key >> 3]; |
25 | + bit = 1 << (key & 7); |
26 | + if (*kptr & bit) |
27 | continue; |
28 | |
29 | act = XkbKeyActionPtr(xkb, key, state); |
30 | @@ -638,6 +646,8 @@ void InputDevice::vncXkbProcessDeviceEve |
31 | |
32 | if (event->device_event.sourceid == self->keyboardDev->id) { |
33 | XkbControlsPtr ctrls; |
34 | + int bit; |
35 | + BYTE *kptr; |
36 | |
37 | /* |
38 | * We need to bypass AccessX since it is timing sensitive and |
39 | @@ -651,8 +661,10 @@ void InputDevice::vncXkbProcessDeviceEve |
40 | * This flag needs to be set for key repeats to be properly |
41 | * respected. |
42 | */ |
43 | + kptr = &dev->key->down[event->device_event.detail.key >> 3]; |
44 | + bit = 1 << (event->device_event.detail.key & 7); |
45 | if ((event->device_event.type == ET_KeyPress) && |
46 | - key_is_down(dev, event->device_event.detail.key, KEY_PROCESSED)) |
47 | + (*kptr & bit)) |
48 | event->device_event.key_repeat = TRUE; |
49 | } |
50 |