diff --git a/modules/nixos/keychron-keyboard/default.nix b/modules/nixos/keychron-keyboard/default.nix index 0b54fe7..f4d83bd 100644 --- a/modules/nixos/keychron-keyboard/default.nix +++ b/modules/nixos/keychron-keyboard/default.nix @@ -10,6 +10,10 @@ in { config = lib.mkIf cfg.enable { + # Create the plugdev group and ensure users can access HID devices + users.groups.plugdev = {}; + + hardware.keyboard.qmk.keychronSupport = true; services.udev.packages = with pkgs; [ qmk qmk-udev-rules ]; @@ -85,7 +89,10 @@ in { SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1" # hid_listen - KERNEL=="hidraw*", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl" + KERNEL=="hidraw*", MODE="0666", TAG+="uaccess", TAG+="udev-acl" + + # hidraw devices for WebHID (Keychron Launcher, VIA) + SUBSYSTEM=="hidraw", MODE="0666", TAG+="uaccess", TAG+="udev-acl" # hid bootloaders ## QMK HID