From afe87841d1149de2c28c5a7905fc74a865f53e13 Mon Sep 17 00:00:00 2001
From: Thomas Hunkapiller <furydevoid@gmail.com>
Date: Fri, 29 Jun 2012 15:21:40 -0500
Subject: [PATCH] fix ignored ctrl key in global hotkeys
---
src/globalhotkeys/eggaccelerators.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/globalhotkeys/eggaccelerators.c b/src/globalhotkeys/eggaccelerators.c
index 6f96411..f53eb4b 100644
|
a
|
b
|
|
| 129 | 129 | } |
| 130 | 130 | |
| 131 | 131 | static inline gboolean |
| | 132 | is_new_control (const gchar *string) |
| | 133 | { |
| | 134 | return ((string[0] == '<') && |
| | 135 | (string[1] == 'p' || string[1] == 'P') && |
| | 136 | (string[2] == 'r' || string[2] == 'R') && |
| | 137 | (string[3] == 'i' || string[3] == 'I') && |
| | 138 | (string[4] == 'm' || string[4] == 'M') && |
| | 139 | (string[5] == 'a' || string[5] == 'A') && |
| | 140 | (string[6] == 'r' || string[6] == 'R') && |
| | 141 | (string[7] == 'y' || string[7] == 'Y') && |
| | 142 | (string[8] == '>')); |
| | 143 | } |
| | 144 | |
| | 145 | static inline gboolean |
| 132 | 146 | is_release (const gchar *string) |
| 133 | 147 | { |
| 134 | 148 | return ((string[0] == '<') && |
| … |
… |
|
| 250 | 264 | len -= 9; |
| 251 | 265 | mods |= EGG_VIRTUAL_CONTROL_MASK; |
| 252 | 266 | } |
| | 267 | else if (len >= 9 && is_new_control (accelerator)) |
| | 268 | { |
| | 269 | accelerator += 9; |
| | 270 | len -= 9; |
| | 271 | mods |= EGG_VIRTUAL_CONTROL_MASK; |
| | 272 | } |
| 253 | 273 | else if (len >= 7 && is_shift (accelerator)) |
| 254 | 274 | { |
| 255 | 275 | accelerator += 7; |