|
@@ -13,6 +13,7 @@ except ImportError:
|
|
Xlib = False
|
|
Xlib = False
|
|
|
|
|
|
EXTENDED_CONTROLS_DEFAULT_TOGGLE_KEYSYM_NAME = 'grave'
|
|
EXTENDED_CONTROLS_DEFAULT_TOGGLE_KEYSYM_NAME = 'grave'
|
|
|
|
+TOONTOWN_WINDOW_NAME = 'Toontown Rewritten'
|
|
|
|
|
|
if Xlib:
|
|
if Xlib:
|
|
EXTENDED_CONTROLS_DEFAULT_KEYSYM_MAPPINGS = {
|
|
EXTENDED_CONTROLS_DEFAULT_KEYSYM_MAPPINGS = {
|
|
@@ -20,8 +21,12 @@ if Xlib:
|
|
XK.XK_a: RewriteKeyEventAction(keysym=XK.XK_Left),
|
|
XK.XK_a: RewriteKeyEventAction(keysym=XK.XK_Left),
|
|
XK.XK_s: RewriteKeyEventAction(keysym=XK.XK_Down),
|
|
XK.XK_s: RewriteKeyEventAction(keysym=XK.XK_Down),
|
|
XK.XK_d: RewriteKeyEventAction(keysym=XK.XK_Right),
|
|
XK.XK_d: RewriteKeyEventAction(keysym=XK.XK_Right),
|
|
- XK.XK_e: SelectGagAction(factor_x=0.038, factor_y=-0.047), # elephant trunk
|
|
|
|
- XK.XK_f: SelectGagAction(factor_x=0.119, factor_y=-0.047), # foghorn
|
|
|
|
|
|
+ XK.XK_space: RewriteKeyEventAction(
|
|
|
|
+ keysym=XK.XK_Control_L,
|
|
|
|
+ target_engine=TargetEngine.All,
|
|
|
|
+ ),
|
|
|
|
+ XK.XK_e: SelectGagAction(factor_x=0.038, factor_y=-0.047), # elephant trunk
|
|
|
|
+ XK.XK_f: SelectGagAction(factor_x=0.119, factor_y=-0.047), # foghorn
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -48,10 +53,10 @@ def x_wait_for_event(xdisplay, timeout_seconds):
|
|
Return True, if a xevent is available.
|
|
Return True, if a xevent is available.
|
|
Return False, if the timeout was reached. """
|
|
Return False, if the timeout was reached. """
|
|
rlist = select.select(
|
|
rlist = select.select(
|
|
- [xdisplay.display.socket], # rlist
|
|
|
|
- [], # wlist
|
|
|
|
- [], # xlist
|
|
|
|
- timeout_seconds, # timeout [seconds]
|
|
|
|
|
|
+ [xdisplay.display.socket], # rlist
|
|
|
|
+ [], # wlist
|
|
|
|
+ [], # xlist
|
|
|
|
+ timeout_seconds, # timeout [seconds]
|
|
)[0]
|
|
)[0]
|
|
return len(rlist) > 0
|
|
return len(rlist) > 0
|
|
|
|
|
|
@@ -195,3 +200,10 @@ class ExtendedControls:
|
|
|
|
|
|
def _ungrab_key(self, keycode):
|
|
def _ungrab_key(self, keycode):
|
|
self._engine_window.ungrab_key(keycode, X.AnyModifier)
|
|
self._engine_window.ungrab_key(keycode, X.AnyModifier)
|
|
|
|
+
|
|
|
|
+ def find_other_engine_windows(self):
|
|
|
|
+ return x_find_window(
|
|
|
|
+ self.xdisplay.screen().root,
|
|
|
|
+ lambda w: w.get_wm_name() == TOONTOWN_WINDOW_NAME
|
|
|
|
+ and w.id != self.engine_window.id,
|
|
|
|
+ )
|