Kaynağa Gözat

tooncher/actions.py: refactor

Fabian Peter Hammerle 7 yıl önce
ebeveyn
işleme
a8ebbd9086
1 değiştirilmiş dosya ile 4 ekleme ve 8 silme
  1. 4 8
      tooncher/actions.py

+ 4 - 8
tooncher/actions.py

@@ -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):