def launch_watchdog(self): """Call the watchdog and check if there was any mouse plugged.""" if self.the_watchdog == None: self.the_watchdog = subprocess.Popen(comun.WATCHDOG) if watchdog.is_mouse_plugged(): self.change_state_item.set_sensitive(False) self.set_touch_enabled(False)
def check_status_from_resume(self): configuration = Configuration() self.touchpad_enabled = configuration.get('touchpad_enabled') if self.touchpad_enabled != self.touchpad.are_all_touchpad_enabled(): self.set_touch_enabled(self.touchpad_enabled) if self.on_mouse_plugged and not self.touchpad_enabled: if not is_mouse_plugged(): self.set_touch_enabled(True)
def on_mouse_detected_unplugged(self): if self.on_mouse_plugged and\ not is_mouse_plugged() and\ not self.touchpad.are_all_touchpad_enabled(): self.change_state_item.set_sensitive(True) self.set_touch_enabled(True) if self.disable_on_typing: self.keyboardMonitor.set_on(True)
def change_state(self): if not self.on_mouse_plugged or\ not is_mouse_plugged(): is_touch_enabled = self.touchpad.are_all_touchpad_enabled() if self.disable_on_typing is True: print('1', is_touch_enabled) configuration = Configuration() is_touch_enabled = configuration.get('touchpad_enabled') print('2', is_touch_enabled) print('3 {0} touchpad'.format( 'Enable' if not is_touch_enabled else 'Disable')) self.set_touch_enabled(not is_touch_enabled) self.keyboardMonitor.set_on(not is_touch_enabled) else: self.set_touch_enabled(not is_touch_enabled)
def change_state(self): if not self.on_mouse_plugged or\ not watchdog.is_mouse_plugged(): is_touch_enabled = not self.touchpad.are_all_touchpad_enabled() self.set_touch_enabled(is_touch_enabled)
def on_mouse_detected_unplugged(self): if self.on_mouse_plugged and\ not watchdog.is_mouse_plugged() and not self.touchpad.are_all_touchpad_enabled(): self.change_state_item.set_sensitive(True) self.set_touch_enabled(True)
def read_preferences(self, is_on_start=False): configuration = Configuration() self.first_time = configuration.get('first-time') self.version = configuration.get('version') self.autostart = configuration.get('autostart') self.on_mouse_plugged = configuration.get('on_mouse_plugged') self.start_hidden = configuration.get('start_hidden') self.show_notifications = configuration.get('show_notifications') self.theme = configuration.get('theme') self.touchpad_enabled = configuration.get('touchpad_enabled') self.on_start = configuration.get('on_start') self.on_end = configuration.get('on_end') faulty_devices = configuration.get('faulty-devices') if faulty_devices: import watchdog watchdog.blacklist_products(faulty_devices) self.ICON = comun.ICON self.active_icon = comun.STATUS_ICON[configuration.get('theme')][0] self.attention_icon = comun.STATUS_ICON[configuration.get('theme')][1] self.indicator.set_icon(self.active_icon) self.indicator.set_attention_icon(self.attention_icon) if not self.start_hidden: self.indicator.set_status(appindicator.IndicatorStatus.ACTIVE) # XINPUT # Para configurar el touchpad es necesario que esté habilitado are_all_touchpad_enabled = self.touchpad.are_all_touchpad_enabled() # If keyboardMonitor is working must stop if self.keyboardMonitor is not None: self.keyboardMonitor.set_on(False) # If Watchdog is working must stop if self.the_watchdog is not None: self.the_watchdog.kill() self.the_watchdog = None self.change_state_item.set_sensitive(True) self.change_state() self.touchpad.enable_all_touchpads() time.sleep(1) self.interval = configuration.get('interval') self.touchpad.set_natural_scrolling_for_all( configuration.get('natural_scrolling')) self.touchpad.set_speed(configuration.get('speed') / 100.0) tipo = self.touchpad.get_driver() if tipo == LIBINPUT: if self.touchpad.has_tapping(): self.touchpad.set_tapping(configuration.get('tapping')) if self.touchpad.can_edge_scrolling() is True and\ self.touchpad.can_two_finger_scrolling() is True: if configuration.get('edge_scrolling') is True and\ configuration.get('two_finger_scrolling') is True: self.touchpad.set_two_finger_scrolling(True) elif configuration.get('edge_scrolling') is True: self.touchpad.set_edge_scrolling(True) elif configuration.get('two_finger_scrolling') is True: self.touchpad.set_two_finger_scrolling(True) else: self.touchpad.set_two_finger_scrolling(False) elif self.touchpad.can_edge_scrolling() is True: self.touchpad.set_edge_scrolling( self.configuration.get('edge_scrolling')) elif self.touchpad.can_two_finger_scrolling() is True: self.touchpad.set_two_finger_scrolling( self.configuration.get('two_finger_scrolling')) elif tipo == SYNAPTICS: self.touchpad.set_two_finger_scrolling( configuration.get('two_finger_scrolling')) self.touchpad.set_edge_scrolling( configuration.get('edge_scrolling')) self.touchpad.set_circular_scrolling( configuration.get('cicular_scrolling')) tap_configuration = { 'right-top-corner': configuration.get('right-top-corner'), 'right-bottom-corner': configuration.get( 'right-bottom-corner'), 'left-top-corner': configuration.get('left-top-corner'), 'left-bottom-corner': configuration.get('left-bottom-corner'), 'one-finger-tap': configuration.get('one-finger-tap'), 'two-finger-tap': configuration.get('two-finger-tap'), 'three-finger-tap': configuration.get('three-finger-tap')} self.touchpad.set_tap_configuration(tap_configuration) elif tipo == EVDEV: pass self.disable_on_typing = configuration.get('disable_on_typing') if self.disable_on_typing: if self.keyboardMonitor is None: self.keyboardMonitor = KeyboardMonitor(self.interval) self.keyboardMonitor.connect('key_pressed', self.on_key_pressed) self.keyboardMonitor.connect('key_released', self.on_key_released) self.keyboardMonitor.start() if self.on_mouse_plugged and is_mouse_plugged(): self.keyboardMonitor.set_on(False) else: self.keyboardMonitor.set_on(True) if self.on_mouse_plugged: self.launch_watchdog() # time.sleep(1) if self.on_mouse_plugged and is_mouse_plugged(): print('===', 1, '===') self.set_touch_enabled(False, False) self.change_state_item.set_sensitive(False) else: print('===', 2, '===') if is_on_start is True: print('===', 21, '===') if self.on_start == -1: print('===', 211, '===') self.set_touch_enabled(False, False) elif self.on_start == 1: print('===', 212, '===') self.set_touch_enabled(True, False) else: print('===', 213, '===') self.set_touch_enabled(are_all_touchpad_enabled, False) else: print('===', 2, '===') self.set_touch_enabled(True, False)
def read_preferences(self, is_on_start=False): configuration = Configuration() self.first_time = configuration.get('first-time') self.version = configuration.get('version') self.autostart = configuration.get('autostart') self.on_mouse_plugged = configuration.get('on_mouse_plugged') self.start_hidden = configuration.get('start_hidden') self.show_notifications = configuration.get('show_notifications') self.theme = configuration.get('theme') self.touchpad_enabled = configuration.get('touchpad_enabled') self.on_start = configuration.get('on_start') self.on_end = configuration.get('on_end') self.ICON = comun.ICON self.active_icon = comun.STATUS_ICON[configuration.get('theme')][0] self.attention_icon = comun.STATUS_ICON[configuration.get('theme')][1] self.indicator.set_icon(self.active_icon) self.indicator.set_attention_icon(self.attention_icon) if not self.start_hidden: self.indicator.set_status(appindicator.IndicatorStatus.ACTIVE) # XINPUT # Para configurar el touchpad es necesario que esté habilitado are_all_touchpad_enabled = self.touchpad.are_all_touchpad_enabled() # If keyboardMonitor is working must stop if self.keyboardMonitor is not None: self.keyboardMonitor.set_on(False) # If Watchdog is working must stop if self.the_watchdog is not None: self.the_watchdog.kill() self.the_watchdog = None self.change_state_item.set_sensitive(True) self.change_state() self.touchpad.enable_all_touchpads() time.sleep(1) self.interval = configuration.get('interval') self.touchpad.set_natural_scrolling_for_all( configuration.get('natural_scrolling')) self.touchpad.set_speed(configuration.get('speed') / 100.0) tipo = self.touchpad._get_type(self.touchpad._get_ids()[0]) if tipo == LIBINPUT: if self.touchpad.has_tapping(): self.touchpad.set_tapping(configuration.get('tapping')) if self.touchpad.can_edge_scrolling() is True and\ self.touchpad.can_two_finger_scrolling() is True: if configuration.get('edge_scrolling') is True and\ configuration.get('two_finger_scrolling') is True: self.touchpad.set_two_finger_scrolling(True) elif configuration.get('edge_scrolling') is True: self.touchpad.set_edge_scrolling(True) elif configuration.get('two_finger_scrolling') is True: self.touchpad.set_two_finger_scrolling(True) else: self.touchpad.set_two_finger_scrolling(False) elif self.touchpad.can_edge_scrolling() is True: self.touchpad.set_edge_scrolling( self.configuration.get('edge_scrolling')) elif self.touchpad.can_two_finger_scrolling() is True: self.touchpad.set_two_finger_scrolling( self.configuration.get('two_finger_scrolling')) elif tipo == SYNAPTICS: self.touchpad.set_two_finger_scrolling( configuration.get('two_finger_scrolling')) self.touchpad.set_edge_scrolling( configuration.get('edge_scrolling')) self.touchpad.set_circular_scrolling( configuration.get('cicular_scrolling')) tap_configuration = { 'right-top-corner': configuration.get('right-top-corner'), 'right-bottom-corner': configuration.get('right-bottom-corner'), 'left-top-corner': configuration.get('left-top-corner'), 'left-bottom-corner': configuration.get('left-bottom-corner'), 'one-finger-tap': configuration.get('one-finger-tap'), 'two-finger-tap': configuration.get('two-finger-tap'), 'three-finger-tap': configuration.get('three-finger-tap') } self.touchpad.set_tap_configuration(tap_configuration) elif tipo == EVDEV: pass self.disable_on_typing = configuration.get('disable_on_typing') if self.disable_on_typing: if self.keyboardMonitor is None: self.keyboardMonitor = KeyboardMonitor(self.interval) self.keyboardMonitor.connect('key_pressed', self.on_key_pressed) self.keyboardMonitor.connect('key_released', self.on_key_released) self.keyboardMonitor.start() if self.on_mouse_plugged and is_mouse_plugged(): self.keyboardMonitor.set_on(False) else: self.keyboardMonitor.set_on(True) if self.on_mouse_plugged: self.launch_watchdog() # time.sleep(1) if self.on_mouse_plugged and is_mouse_plugged(): print('===', 1, '===') self.set_touch_enabled(False, False) self.change_state_item.set_sensitive(False) else: print('===', 2, '===') if is_on_start is True: print('===', 21, '===') if self.on_start == -1: print('===', 211, '===') self.set_touch_enabled(False, False) elif self.on_start == 1: print('===', 212, '===') self.set_touch_enabled(True, False) else: print('===', 213, '===') self.set_touch_enabled(are_all_touchpad_enabled, False) else: print('===', 2, '===') self.set_touch_enabled(True, False)