Add Rokid support (#42)

This commit is contained in:
Wayne Heaney 2024-08-13 10:10:10 -07:00 committed by GitHub
parent 416c92f220
commit 3a7d5feb88
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 16 additions and 11 deletions

View File

@ -25,6 +25,7 @@ const SUPPORTED_MONITOR_PRODUCTS = [
'Air 2 Ultra',
'SmartGlasses', // TCL/RayNeo
'Rokid Max',
'Rokid Air',
NESTED_MONITOR_PRODUCT
];

@ -1 +1 @@
Subproject commit 860d3ee26899c72709141296f557b9b61a5beefa
Subproject commit 34b04d94f4ee461f8969598e5fcbd3b70aaea9d3

View File

@ -89,7 +89,7 @@ class ConnectedDevice(Gtk.Box):
self.state_manager.connect('notify::enabled-features-list', self._handle_enabled_features)
self.state_manager.connect('notify::device-supports-sbs', self._handle_device_supports_sbs)
self.follow_mode_switch.set_active(self.state_manager.follow_mode)
self.follow_mode_switch.set_active(self.state_manager.get_property('follow-mode'))
self.follow_mode_switch.connect('notify::active', self._refresh_follow_mode)
self.effect_enable_switch.set_active(self._is_config_enabled(self.ipc.retrieve_config()) and self.extensions_manager.is_enabled())
@ -141,7 +141,7 @@ class ConnectedDevice(Gtk.Box):
def _refresh_follow_mode(self, switch, param):
self.follow_threshold_scale.set_sensitive(switch.get_active())
if (self.state_manager.follow_mode == switch.get_active()):
if (self.state_manager.get_property('follow-mode') == switch.get_active()):
return
self.ipc.write_control_flags({

View File

@ -56,12 +56,16 @@ class StateManager(GObject.GObject):
GObject.GObject.__init__(self)
self.ipc = XRDriverIPC.get_instance()
self.driver_running = False
self.follow_mode = False
self.follow_threshold = 15.0
self.widescreen_mode = False
self.connected_device_name = None
self.license_action_needed = False
self.license_action_needed_seconds = 0
self.confirmed_token = False
self.license_present = False
self.enabled_features = []
self.device_supports_sbs = False
self.start()
@ -99,9 +103,11 @@ class StateManager(GObject.GObject):
elif self.license_present:
self.set_property('license-present', False)
self.set_property('follow-mode', self.state.get('breezy_desktop_smooth_follow_enabled', False))
self.set_property('device-supports-sbs', self.state.get('sbs_mode_supported', False))
self.set_property('widescreen-mode', self.state.get('sbs_mode_enabled', False))
# only update these properties if a device is still connected
if (self.connected_device_name):
self.set_property('follow-mode', self.state.get('breezy_desktop_smooth_follow_enabled', False))
self.set_property('device-supports-sbs', self.state.get('sbs_mode_supported', False))
self.set_property('widescreen-mode', self.state.get('sbs_mode_enabled', False))
if self.running: threading.Timer(1.0, self._refresh_state).start()

View File

@ -75,11 +75,9 @@ class BreezydesktopWindow(Gtk.ApplicationWindow):
for child in self.main_content:
self.main_content.remove(child)
if not self._skip_verification:
if not verify_installation():
self.main_content.append(self.failed_verification)
if not self.state_manager.driver_running:
if not self._skip_verification and not verify_installation():
self.main_content.append(self.failed_verification)
elif not self.state_manager.driver_running:
self.main_content.append(self.no_driver)
elif not state_manager.connected_device_name:
self.main_content.append(self.no_device)