12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #!/usr/bin/env python3
- # PYTHON_ARGCOMPLETE_OK
- import sys
- import tooncher.controls
- def run(
- engine_pid: int,
- engine_window_name: str,
- toggle_keysym_name=tooncher.controls.EXTENDED_CONTROLS_DEFAULT_TOGGLE_KEYSYM_NAME,
- ):
- ec = tooncher.controls.ExtendedControls(
- primary_engine_pid=engine_pid,
- toggle_keysym_name=toggle_keysym_name,
- primary_engine_window_name=engine_window_name,
- )
- ec.run()
- def _init_argparser():
- import argparse
- argparser = argparse.ArgumentParser(
- description="Attach Extended Controls to an already running Toontown engine.",
- )
- argparser.add_argument(
- "engine_pid", type=int, help="process id of engine to attach to",
- )
- argparser.add_argument(
- "--toggle",
- "-t",
- metavar="KEYSYM_NAME",
- dest="toggle_keysym_name",
- default=tooncher.controls.EXTENDED_CONTROLS_DEFAULT_TOGGLE_KEYSYM_NAME,
- help="key to turn extended keyboard controls on / off."
- + " any keysym name may be used"
- + " (see XStringToKeysym & X11/keysymdef.h, "
- + " default: %(default)s)",
- )
- argparser.add_argument(
- "--change-window-name",
- metavar="ENGINE_WINDOW_NAME",
- dest="engine_window_name",
- default=None,
- help="change window name of engine after launch",
- )
- return argparser
- def main(argv):
- argparser = _init_argparser()
- try:
- import argcomplete
- argcomplete.autocomplete(argparser)
- except ImportError:
- pass
- args = argparser.parse_args(argv)
- run(**vars(args))
- return 0
- if __name__ == "__main__":
- sys.exit(main(sys.argv[1:]))
|