def has_uinput(): try: import uinput assert uinput except NameError as e: log = get_util_logger() log("has_uinput()", exc_info=True) log.warn("Warning: the system python uinput module looks broken:") log.warn(" %s", e) return False except ImportError as e: log = get_util_logger() log("has_uinput()", exc_info=True) log.info("cannot access python uinput module:") log.info(" %s", e) return False try: uinput.fdopen() #@UndefinedVariable except Exception as e: log = get_util_logger() log("has_uinput()", exc_info=True) log.info("cannot use uinput for virtual devices:") log.info(" %s", e) return False return True
def has_uinput(): if not envbool("XPRA_UINPUT", True): return False try: import uinput assert uinput except NameError as e: log = get_util_logger() log("has_uinput()", exc_info=True) log.warn("Warning: the system python uinput module looks broken:") log.warn(" %s", e) return False except ImportError as e: log = get_util_logger() log("has_uinput()", exc_info=True) log.info("no uinput module") return False try: uinput.fdopen() #@UndefinedVariable except Exception as e: log = get_util_logger() log("has_uinput()", exc_info=True) log.info("cannot use uinput for virtual devices,") log.info(" this is usually a permission issue:") log.info(" %s", e) return False return True
def main(): uinput_fd = uinput.fdopen() drop_privileges() # No need to be root beyond this line. events = (uinput.KEY_A,) with uinput.Device(events, fd=uinput_fd) as device: device.emit_click(uinput.KEY_A)
def has_uinput(): try: import uinput assert uinput except (ImportError, NameError) as e: log = get_util_logger() log("has_uinput()", exc_info=True) log.info("cannot access python uinput module:") log.info(" %s", e) return False try: uinput.fdopen() except Exception as e: log = get_util_logger() log("has_uinput()", exc_info=True) log.info("cannot use uinput for virtual devices:") log.info(" %s", e) return False return True