def main(): init_logging() if len(sys.argv) < 2: sys.exit(show_help()) if "-h" in sys.argv or "--help" in sys.argv: while "-h" in sys.argv: sys.argv.remove("-h") while "--help" in sys.argv: sys.argv.remove("--help") sys.exit( show_help( sys.argv[1].replace("-", "_") if len(sys.argv) > 1 else None)) if "-v" in sys.argv: while "-v" in sys.argv: sys.argv.remove("-v") set_logging_level(True, True) else: set_logging_level(False, False) try: command = globals()["cmd_" + sys.argv[1].replace("-", "_")] except: print >> sys.stderr, "Unknown command: %s" % (sys.argv[1], ) sys.exit(show_help(out=sys.stderr)) try: sys.exit(command(sys.argv[0], sys.argv[2:])) except KeyboardInterrupt: sys.exit(0) except InvalidArguments: print >> sys.stderr, "Invalid arguments" print >> sys.stderr, "" show_help(sys.argv[1], out=sys.stderr) sys.exit(1)
def main(): init_logging() if len(sys.argv) < 2: sys.exit(show_help()) if "-h" in sys.argv or "--help" in sys.argv: while "-h" in sys.argv: sys.argv.remove("-h") while "--help" in sys.argv: sys.argv.remove("--help") sys.exit(show_help(sys.argv[1].replace("-", "_") if len(sys.argv) > 1 else None)) if "-v" in sys.argv: while "-v" in sys.argv: sys.argv.remove("-v") set_logging_level(True, True) else: set_logging_level(False, False) try: command = globals()["cmd_" + sys.argv[1].replace("-", "_")] except: print >>sys.stderr, "Unknown command: %s" % (sys.argv[1], ) sys.exit(show_help(out=sys.stderr)) try: sys.exit(command(sys.argv[0], sys.argv[2:])) except KeyboardInterrupt: sys.exit(0) except InvalidArguments: print >>sys.stderr, "Invalid arguments" print >>sys.stderr, "" show_help(sys.argv[1], out=sys.stderr) sys.exit(1)
from scc.scripts import InvalidArguments from scc.tools import init_logging, set_logging_level try: path = args[0] dev = evdev.InputDevice(path) except IndexError: raise InvalidArguments() except Exception, e: print >> sys.stderr, "Failed to open device:", str(e) return 2 c = EvdevController(None, dev, None, {}) caps = dev.capabilities(verbose=False) print "Buttons:", " ".join([str(x) for x in caps.get(ecodes.EV_KEY, [])]) print "Axes:", " ".join( [str(axis) for (axis, trash) in caps.get(ecodes.EV_ABS, [])]) print "Ready" sys.stdout.flush() for event in dev.read_loop(): c.test_input(event) return 0 if __name__ == "__main__": """ Called when executed as script """ from scc.tools import init_logging, set_logging_level init_logging() set_logging_level(True, True) sys.exit(evdevdrv_test(sys.argv[1:]))
self._window.update_labels() self._window.redraw_background() def run(self): on_wayland = "WAYLAND_DISPLAY" in os.environ or not isinstance( Gdk.Display.get_default(), GdkX11.X11Display) if on_wayland: log.error("Cannot run on Wayland") self.exit_code = 8 return self.daemon = DaemonManager() self.config = Config() self._check_colorconfig_change() self.daemon.connect('alive', self.on_daemon_connected) self.daemon.connect('dead', self.on_daemon_died) self.daemon.connect('profile-changed', self.on_profile_changed) self.daemon.connect('reconfigured', self.on_daemon_reconfigured) self.daemon.connect('unknown-msg', self.on_unknown_message) self.mainloop.run() if __name__ == "__main__": from scc.tools import init_logging, set_logging_level from scc.paths import get_share_path init_logging(suffix=" OSD") set_logging_level('debug' in sys.argv, 'debug' in sys.argv) d = OSDDaemon() d.run() sys.exit(d.get_exit_code())
self._window.quit() self._window = None else: log.warning("Unknown command from daemon: '%s'", message) def run(self): self.daemon = DaemonManager() self.daemon.connect('dead', self.on_daemon_died) self.daemon.connect('alive', self.on_daemon_connected) self.daemon.connect('unknown-msg', self.on_unknown_message) self.mainloop.run() def split(s): lex = shlex.shlex(s, posix=True) lex.escapedquotes = '"\'' lex.whitespace_split = True return list(lex) if __name__ == "__main__": from scc.tools import init_logging, set_logging_level from scc.paths import get_share_path init_logging() set_logging_level('debug' in sys.argv, 'debug' in sys.argv) d = OSDDaemon() d.run() sys.exit(d.get_exit_code())
def do_local_options(self, trash, lo): set_logging_level(lo.contains("verbose"), lo.contains("debug") ) return -1
print tup dev = HIDRaw(open(filename, "w+b")) driver = Driver(FakeDaemon(), {}) c = TestSC(driver, None, dev) c.configure() c.flush() while True: c._input() print { x[0]: getattr(c._state, x[0]) for x in c._state._fields_ } _drv = None def init(daemon, config): """ Registers hotplug callback for controller dongle """ # if not (HAVE_EVDEV and config["drivers"].get("evdevdrv")): # log.warning("Evdev driver is not enabled, Steam Controller over Bluetooth support cannot be enabled.") # return False _drv = Driver(daemon, config) return True if __name__ == "__main__": """ Called when executed as script """ from scc.tools import init_logging, set_logging_level init_logging() set_logging_level(True, True) sys.exit(hidraw_test(sys.argv[1]))
def do_local_options(self, trash, lo): set_logging_level(lo.contains("verbose"), lo.contains("debug") ) self.osd_mode = lo.contains("osd") return -1
class OSDWindow(Gtk.Window): # TODO: Configurable css CSS = """ #osd-message, #osd-menu, #osd-keyboard { background-color: black; border: 6px lime double; } #osd-area { background-color: lime; } #osd-label { color: lime; border: none; font-size: xx-large; margin: 15px 15px 15px 15px; } #osd-menu { padding: 7px 7px 7px 7px; } #osd-keyboard-container { padding: 6px 6px 6px 6px; } #osd-menu-item, #osd-menu-item-selected, #osd-menu-dummy { color: #00E000; border-radius: 0; font-size: x-large; background-image: none; background-color: black; margin: 0px 0px 2px 0px; } #osd-menu-item { border: 1px #004000 solid; } #osd-menu-separator { color: #109010; font-size: large; background-image: none; background-color: black; margin: 5px 0px 0px 0px; padding: 0px 0px 0px 0px; } #osd-menu-item-selected { color: #00FF00; background-color: #000070; border: 1px #00FF00 solid; } #osd-menu-cursor, #osd-keyboard-cursor { } """ EPILOG = "" def __init__(self, wmclass): Gtk.Window.__init__(self) OSDWindow._apply_css() self.argparser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter, epilog=self.EPILOG) self._add_arguments() self.exit_code = -1 self.position = (20, -20) self.mainloop = None self.set_name(wmclass) self.set_wmclass(wmclass, wmclass) self.set_decorated(False) self.stick() self.set_skip_taskbar_hint(True) self.set_skip_pager_hint(True) self.set_keep_above(True) self.set_type_hint(Gdk.WindowTypeHint.NOTIFICATION) @staticmethod def _apply_css(): css = Gtk.CssProvider() css.load_from_data(str(OSDWindow.CSS)) Gtk.StyleContext.add_provider_for_screen( Gdk.Screen.get_default(), css, Gtk.STYLE_PROVIDER_PRIORITY_USER) def _add_arguments(self): """ Should be overriden AND called by child class """ self.argparser.add_argument( '-x', type=int, metavar="pixels", default=20, help="""horizontal position in pixels, from left side of screen. Use negative value to specify as distance from right side (default: 20)""") self.argparser.add_argument( '-y', type=int, metavar="pixels", default=-20, help="""vertical position in pixels, from top side of screen. Use negative value to specify as distance from bottom side (default: -20)""" ) self.argparser.add_argument('-d', action='store_true', help="""display debug messages""") def parse_argumets(self, argv): """ Returns True on success """ try: self.args = self.argparser.parse_args(argv[1:]) except BaseException, e: # Includes SystemExit return False del self.argparser self.position = (self.args.x, self.args.y) if self.args.d: set_logging_level(True, True) return True