diff --git a/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml b/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml
index cf56397bd..aa3eaccee 100644
--- a/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml
+++ b/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml
@@ -344,23 +344,19 @@
masterPanelWindow
playAudio
- x
X
Space
pauseAudio
- v
V
stopAudio
- c
C
nextTrack
- b
B
@@ -381,7 +377,6 @@
playAudio
- x
X
Space
diff --git a/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml.template b/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml.template
index 310198dd0..c8fb78b54 100644
--- a/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml.template
+++ b/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml.template
@@ -344,23 +344,19 @@
masterPanelWindow
playAudio
- x
X
Space
pauseAudio
- v
V
stopAudio
- c
C
nextTrack
- b
B
@@ -381,7 +377,6 @@
playAudio
- x
X
Space
diff --git a/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml.user-template b/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml.user-template
index c2b93db94..0b791f01e 100644
--- a/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml.user-template
+++ b/livesupport/src/products/gLiveSupport/etc/gLiveSupport.xml.user-template
@@ -344,23 +344,19 @@
masterPanelWindow
playAudio
- x
X
Space
pauseAudio
- v
V
stopAudio
- c
C
nextTrack
- b
B
@@ -381,7 +377,6 @@
playAudio
- x
X
Space
diff --git a/livesupport/src/products/gLiveSupport/src/KeyboardShortcut.cxx b/livesupport/src/products/gLiveSupport/src/KeyboardShortcut.cxx
index 9039aa49e..189b478fb 100644
--- a/livesupport/src/products/gLiveSupport/src/KeyboardShortcut.cxx
+++ b/livesupport/src/products/gLiveSupport/src/KeyboardShortcut.cxx
@@ -113,7 +113,7 @@ KeyboardShortcut :: addKey(unsigned int modifiers,
unsigned int key) throw ()
{
modifierList.push_back(modifiers);
- keyList.push_back(key);
+ keyList.push_back(gdk_keyval_to_upper(key));
}
@@ -186,11 +186,14 @@ bool
KeyboardShortcut :: isTriggeredBy(unsigned int modifiers,
unsigned int key) const throw ()
{
+ unsigned int myKey = gdk_keyval_to_upper(key);
+ unsigned int myModifiers = modifiers & modifiersChecked;
+
KeyListType::const_iterator modifierIt = modifierList.begin();
KeyListType::const_iterator keyIt = keyList.begin();
while (keyIt != keyList.end()) {
- if (*modifierIt == (modifiers & modifiersChecked) && *keyIt == key) {
+ if (*modifierIt == myModifiers && *keyIt == myKey) {
return true;
}
++modifierIt;
diff --git a/livesupport/src/products/gLiveSupport/src/KeyboardShortcut.h b/livesupport/src/products/gLiveSupport/src/KeyboardShortcut.h
index 3c43716be..0d6c1ab12 100644
--- a/livesupport/src/products/gLiveSupport/src/KeyboardShortcut.h
+++ b/livesupport/src/products/gLiveSupport/src/KeyboardShortcut.h
@@ -44,6 +44,7 @@
#include
#include
#include
+#include
#include "LiveSupport/Core/Ptr.h"
#include "LiveSupport/Core/Configurable.h"
@@ -82,7 +83,8 @@ using namespace LiveSupport::Core;
*
* The possible action values are the members of the Action enumeration.
*
- * The possible key values are the letters a-z, A-Z, the numbers 0-9,
+ * The possible key values are the letters A-Z (or a-z; they are not
+ * case-sensitive), the numbers 0-9,
* plus Space, Esc (or Escape), Tab, Backspace, Delete (Del), Home, End,
* Up, Down, Left, Right, PgUp (PageUp), PgDown (PageDown, PgDn),
* and the function keys F1 through F12.