diff -Nru autokey-0.80.3.orig/src/lib/gtkui/data/hotkeysettings.xml autokey-0.80.3/src/lib/gtkui/data/hotkeysettings.xml --- autokey-0.80.3.orig/src/lib/gtkui/data/hotkeysettings.xml 2010-03-31 00:39:30.000000000 -0600 +++ autokey-0.80.3/src/lib/gtkui/data/hotkeysettings.xml 2011-11-07 11:05:23.340906442 -0700 @@ -71,6 +71,19 @@ 3 + + + True + True + Hyper + + + + False + 5 + 3 + + @@ -144,5 +157,5 @@ - controlButtonaltButtonshiftButtonsuperButtonsetButtoncancelButtonokButton - \ No newline at end of file + controlButtonaltButtonshiftButtonsuperButtonhyperButtonsetButtoncancelButtonokButton + diff -Nru autokey-0.80.3.orig/src/lib/gtkui/dialogs.py autokey-0.80.3/src/lib/gtkui/dialogs.py --- autokey-0.80.3.orig/src/lib/gtkui/dialogs.py 2011-09-22 21:31:06.000000000 -0600 +++ autokey-0.80.3/src/lib/gtkui/dialogs.py 2011-11-07 11:05:23.344906443 -0700 @@ -226,6 +226,7 @@ self.altButton = builder.get_object("altButton") self.shiftButton = builder.get_object("shiftButton") self.superButton = builder.get_object("superButton") + self.hyperButton = builder.get_object("hyperButton") self.setButton = builder.get_object("setButton") self.keyLabel = builder.get_object("keyLabel") @@ -239,6 +240,7 @@ self.altButton.set_active(iomediator.Key.ALT in item.modifiers) self.shiftButton.set_active(iomediator.Key.SHIFT in item.modifiers) self.superButton.set_active(iomediator.Key.SUPER in item.modifiers) + self.hyperButton.set_active(iomediator.Key.HYPER in item.modifiers) key = item.hotKey if key in self.KEY_MAP: @@ -271,6 +273,7 @@ self.altButton.set_active(False) self.shiftButton.set_active(False) self.superButton.set_active(False) + self.hyperButton.set_active(False) self._setKeyLabel(_("(None)")) self.key = None @@ -297,6 +300,8 @@ modifiers.append(iomediator.Key.SHIFT) if self.superButton.get_active(): modifiers.append(iomediator.Key.SUPER) + if self.hyperButton.get_active(): + modifiers.append(iomediator.Key.HYPER) modifiers.sort() return modifiers @@ -333,6 +338,7 @@ self.altButton.set_active(iomediator.Key.ALT in item.modifiers) self.shiftButton.set_active(iomediator.Key.SHIFT in item.modifiers) self.superButton.set_active(iomediator.Key.SUPER in item.modifiers) + self.hyperButton.set_active(iomediator.Key.HYPER in item.modifiers) key = item.hotKey if key in self.KEY_MAP: diff -Nru autokey-0.80.3.orig/src/lib/interface.py autokey-0.80.3/src/lib/interface.py --- autokey-0.80.3.orig/src/lib/interface.py 2011-10-11 18:51:38.000000000 -0600 +++ autokey-0.80.3/src/lib/interface.py 2011-11-07 11:05:23.344906443 -0700 @@ -1052,6 +1052,8 @@ XK.XK_ISO_Level3_Shift : Key.ALT_GR, XK.XK_Super_L : Key.SUPER, XK.XK_Super_R : Key.SUPER, + XK.XK_Hyper_L : Key.HYPER, + XK.XK_Hyper_R : Key.HYPER, XK.XK_Num_Lock : Key.NUMLOCK, #SPACE : Key.SPACE, XK.XK_Tab : Key.TAB, diff -Nru autokey-0.80.3.orig/src/lib/iomediator.py autokey-0.80.3/src/lib/iomediator.py --- autokey-0.80.3.orig/src/lib/iomediator.py 2011-10-06 02:10:41.000000000 -0600 +++ autokey-0.80.3/src/lib/iomediator.py 2011-11-07 11:05:23.344906443 -0700 @@ -43,6 +43,7 @@ ALT_GR = "" SHIFT = "" SUPER = "" + HYPER = "" CAPSLOCK = "" NUMLOCK = "" @@ -95,8 +96,8 @@ _logger = logging.getLogger("iomediator") -MODIFIERS = [Key.CONTROL, Key.ALT, Key.ALT_GR, Key.SHIFT, Key.SUPER, Key.CAPSLOCK, Key.NUMLOCK] -HELD_MODIFIERS = [Key.CONTROL, Key.ALT, Key.SUPER, Key.SHIFT] +MODIFIERS = [Key.CONTROL, Key.ALT, Key.ALT_GR, Key.SHIFT, Key.SUPER, Key.HYPER, Key.CAPSLOCK, Key.NUMLOCK] +HELD_MODIFIERS = [Key.CONTROL, Key.ALT, Key.SUPER, Key.SHIFT, Key.HYPER] NAVIGATION_KEYS = [Key.LEFT, Key.RIGHT, Key.UP, Key.DOWN, Key.BACKSPACE, Key.HOME, Key.END, Key.PAGE_UP, Key.PAGE_DOWN] #KEY_SPLIT_RE = re.compile("(<.+?>\+{0,1})", re.UNICODE) @@ -131,6 +132,7 @@ Key.ALT_GR: False, Key.SHIFT : False, Key.SUPER : False, + Key.HYPER : False, Key.CAPSLOCK : False, Key.NUMLOCK : False } diff -Nru autokey-0.80.3.orig/src/lib/scripting.py autokey-0.80.3/src/lib/scripting.py --- autokey-0.80.3.orig/src/lib/scripting.py 2011-09-22 21:16:44.000000000 -0600 +++ autokey-0.80.3/src/lib/scripting.py 2011-11-07 11:05:23.344906443 -0700 @@ -806,6 +806,7 @@ + The key must be an unshifted character (i.e. lowercase)