This page is for tips for usage of the Keychron M6. The Keychron M6 uses a web app called "Keychron Launcher", in order to use it you may need to configure proper udev rules in order to interface with the web page.

Keychron Launcher

You will need to use a Chromium based browser. The {idProduct} on the second and third line of the config will need to reflect your device id, which may differ depending on your model (The provided example is on a 8k variant). To get this value install the usbutils package, and either plug in the mouse by cable, or using the wireless dongle.

Run to get your {idProduct} value (Bluetooth is not supported by the web app).

$ lsusb -d 3434:

The value will be different depending on if you are connected via cable or the dongle. You can use the same command on both if you would like to add both options.

❄︎ /etc/nixos/configuration.nix
services.udev.extraRules = ''
    # Keychron hidraw (Needed for WebUSB access on Chromium browsers)
    KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", MODE="0660", GROUP="users", TAG+="uaccess"

    # Configure USB (Example)
    SUBSYSTEM=="usb",  ATTRS{idVendor}=="3434", ATTRS{idProduct}=="d049", MODE="0660", GROUP="users", TAG+="uaccess"

    # Configure 2.4GHz (Example)
    SUBSYSTEM=="usb",  ATTRS{idVendor}=="3434", ATTRS{idProduct}=="d028", MODE="0660", GROUP="users", TAG+="uaccess"
  '';