|
@@ -43,9 +43,10 @@ class RewriteKeyEventAction:
|
|
|
self._keysym = keysym
|
|
|
|
|
|
def execute(self, extended_controls, xkeyevent):
|
|
|
- attr = dict(
|
|
|
+ ev = type(xkeyevent)(
|
|
|
window=extended_controls.engine_window,
|
|
|
- detail=xkeyevent.detail,
|
|
|
+ detail=extended_controls.xdisplay.keysym_to_keycode(self._keysym)
|
|
|
+ if self._keysym else xkeyevent.detail,
|
|
|
state=xkeyevent.state,
|
|
|
root_x=xkeyevent.root_x,
|
|
|
root_y=xkeyevent.root_y,
|
|
@@ -56,12 +57,7 @@ class RewriteKeyEventAction:
|
|
|
time=xkeyevent.time, # X.CurrentTime
|
|
|
same_screen=xkeyevent.same_screen,
|
|
|
)
|
|
|
- if self._keysym:
|
|
|
- attr['detail'] = extended_controls.xdisplay.keysym_to_keycode(
|
|
|
- self._keysym)
|
|
|
- extended_controls.engine_window.send_event(
|
|
|
- type(xkeyevent)(**attr),
|
|
|
- )
|
|
|
+ extended_controls.engine_window.send_event(ev)
|
|
|
|
|
|
|
|
|
class ForwardKeyEventAction(RewriteKeyEventAction):
|