From 633d217b93ea9699d1729e54f463f4964aa50318 Mon Sep 17 00:00:00 2001 From: UGA Innovation Factory Date: Mon, 8 Dec 2025 20:00:55 +0000 Subject: [PATCH] fix: Force OSK to launch with user service --- sw-kiosk.nix | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/sw-kiosk.nix b/sw-kiosk.nix index ecf8d63..ab5c187 100644 --- a/sw-kiosk.nix +++ b/sw-kiosk.nix @@ -1,15 +1,6 @@ { pkgs, inputs, ... }: { - services.cage = { - enable = false; - user = "engr-ugaif"; - program = "${(pkgs.writeShellScriptBin "chromium-kiosk" '' - sleep 5 - ${pkgs.chromium}/bin/chromium --kiosk "https://ha.factory.uga.edu" - '')}/bin/chromium-kiosk"; - }; - services.xserver = { enable = true; desktopManager.phosh = { @@ -84,21 +75,21 @@ "/run/current-system/sw/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"; }; - services.udev.extraRules = '' - # These shouldn't be counted as keyboards, but should still produce events - ACTION=="add|change", KERNEL=="event*", ATTRS{name}=="Video Bus", \ - ENV{ID_INPUT_KEYBOARD}="", ENV{ID_INPUT_KEY}="" - ACTION=="add|change", KERNEL=="event*", ATTRS{name}=="Power Button", \ - ENV{ID_INPUT_KEYBOARD}="", ENV{ID_INPUT_KEY}="" - ACTION=="add|change", KERNEL=="event*", ATTRS{name}=="Intel HID events", \ - ENV{ID_INPUT_KEYBOARD}="", ENV{ID_INPUT_KEY}="" - ACTION=="add|change", KERNEL=="event*", ATTRS{name}=="Intel HID 5 button array", \ - ENV{ID_INPUT_KEYBOARD}="", ENV{ID_INPUT_KEY}="" - ACTION=="change", SUBSYSTEM=="switch", ATTRS{name}=="Intel HID switches", \ - ENV{SW_TABLET_MODE}="1" - ACTION=="add|change", KERNEL=="event*", ATTRS{name}=="AT Translated Set 2 keyboard", \ - ENV{ID_INPUT_KEY}="", ENV{ID_INPUT_KEYBOARD}="" - ''; + systemd.user.services."force-osk" = { + description = "Force the OSK to Enable"; + wantedBy = [ "chromium-kiosk.service" ]; + partOf = [ "chromium-kiosk.service" ]; + + serviceConfig = { + ExecStartPre = '' + /run/current-system/sw/bin/sleep 5 + ''; + ExecStart = '' + /run/current-system/sw/bin/dconf reset /org/gnome/desktop/a11y/applications/screen-keyboard-enabled + ''; + Type = "simple"; + }; + }; systemd.user.services."chromium-kiosk" = { description = "Chromium kiosk"; @@ -107,9 +98,8 @@ serviceConfig = { ExecStart = '' - /run/current-system/sw/bin/dconf reset /org/gnome/desktop/a11y/applications/screen-keyboard-enabled ${pkgs.chromium}/bin/chromium \ - --enable-features=UseOzonePlatform,WebRTCLibcamera,TouchpadOverscrollHistoryNavigation \ + --enable-features=UseOzonePlatform,TouchpadOverscrollHistoryNavigation \ --ozone-platform=wayland \ --kiosk \ --start-fullscreen \