|
@@ -66,14 +66,13 @@ class ExtendedControls:
|
|
if self._toggle_keysym == X.NoSymbol:
|
|
if self._toggle_keysym == X.NoSymbol:
|
|
raise Exception("Extended keyboard controls toggle:"
|
|
raise Exception("Extended keyboard controls toggle:"
|
|
+ " Unknown keysym name '{}'".format(toggle_keysym_name))
|
|
+ " Unknown keysym name '{}'".format(toggle_keysym_name))
|
|
- keysym_mappings = copy.deepcopy(
|
|
|
|
|
|
+ self._keysym_mappings = copy.deepcopy(
|
|
EXTENDED_CONTROLS_DEFAULT_KEYSYM_MAPPINGS,
|
|
EXTENDED_CONTROLS_DEFAULT_KEYSYM_MAPPINGS,
|
|
)
|
|
)
|
|
- if self._toggle_keysym in keysym_mappings:
|
|
|
|
- del keysym_mappings[self._toggle_keysym]
|
|
|
|
|
|
+ if self._toggle_keysym in self._keysym_mappings:
|
|
print("INFO Extended Controls:"
|
|
print("INFO Extended Controls:"
|
|
+ " Ignoring mapping for toggle key '{}'".format(toggle_keysym_name))
|
|
+ " Ignoring mapping for toggle key '{}'".format(toggle_keysym_name))
|
|
- self._keysym_mappings = keysym_mappings
|
|
|
|
|
|
+ self._keysym_mappings[self._toggle_keysym] = ToggleExtendedControlsAction()
|
|
self._default_action = ForwardKeyEventAction()
|
|
self._default_action = ForwardKeyEventAction()
|
|
self._engine_window = None
|
|
self._engine_window = None
|
|
self._enabled = False
|
|
self._enabled = False
|
|
@@ -129,9 +128,7 @@ class ExtendedControls:
|
|
xkeyevent.detail,
|
|
xkeyevent.detail,
|
|
index=0,
|
|
index=0,
|
|
)
|
|
)
|
|
- if keysym_in == self._toggle_keysym:
|
|
|
|
- action = ToggleExtendedControlsAction()
|
|
|
|
- elif self.enabled and keysym_in in self._keysym_mappings:
|
|
|
|
|
|
+ if keysym_in in self._keysym_mappings:
|
|
action = self._keysym_mappings[keysym_in]
|
|
action = self._keysym_mappings[keysym_in]
|
|
else:
|
|
else:
|
|
action = self._default_action
|
|
action = self._default_action
|
|
@@ -139,17 +136,19 @@ class ExtendedControls:
|
|
|
|
|
|
def enable(self):
|
|
def enable(self):
|
|
for keysym in self._keysym_mappings.keys():
|
|
for keysym in self._keysym_mappings.keys():
|
|
- self._grab_key(
|
|
|
|
- self._xdisplay.keysym_to_keycode(keysym),
|
|
|
|
- )
|
|
|
|
|
|
+ if keysym != self._toggle_keysym:
|
|
|
|
+ self._grab_key(
|
|
|
|
+ self._xdisplay.keysym_to_keycode(keysym),
|
|
|
|
+ )
|
|
self._enabled = True
|
|
self._enabled = True
|
|
print("INFO Enabled Extended Controls")
|
|
print("INFO Enabled Extended Controls")
|
|
|
|
|
|
def disable(self):
|
|
def disable(self):
|
|
for keysym in self._keysym_mappings.keys():
|
|
for keysym in self._keysym_mappings.keys():
|
|
- self._ungrab_key(
|
|
|
|
- self._xdisplay.keysym_to_keycode(keysym),
|
|
|
|
- )
|
|
|
|
|
|
+ if keysym != self._toggle_keysym:
|
|
|
|
+ self._ungrab_key(
|
|
|
|
+ self._xdisplay.keysym_to_keycode(keysym),
|
|
|
|
+ )
|
|
self._enabled = False
|
|
self._enabled = False
|
|
print("INFO Disabled Extended Controls")
|
|
print("INFO Disabled Extended Controls")
|
|
|
|
|