Configuring device access for Wootility under Linux (udev rules)

The purpose of this article of to help you setup access to your Wooting keyboard on a Linux OS.


Our software communicates with the keyboards we make directly. This is not an issue in and of itself but Linux has some added safety layers surrounding this. In this small guide we will tell you about how to setup so called udev  rules so that your Linux user can run software that accesses the keyboard directly. No need to sudo  Wootility or Chromium just so you can configure your keyboard.

Granting access with udev

Creating the rules

Create a new file called 70-wooting.rules  (you can replace the word wooting  with whatever you want) under the path /etc/udev/rules.d/   with the following content. The file extension must be rules  otherwise it wont work.


Example /etc/udev/rules.d/70-wooting.rules

# Wooting One Legacy
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input", TAG+="uaccess", TAG+="snap_chromium_chromedriver", TAG+="snap_chromium_chromium"
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input", TAG+="uaccess"
# Wooting One update mode
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", MODE:="0660", GROUP="input", TAG+="uaccess", TAG+="snap_chromium_chromedriver", TAG+="snap_chromium_chromium"

# Wooting Two Legacy
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input", TAG+="uaccess", TAG+="snap_chromium_chromedriver", TAG+="snap_chromium_chromium"
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input", TAG+="uaccess"
# Wooting Two update mode
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", MODE:="0660", GROUP="input", TAG+="uaccess", TAG+="snap_chromium_chromedriver", TAG+="snap_chromium_chromium"

# Generic Wootings
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", MODE:="0660", GROUP="input", TAG+="uaccess", TAG+="snap_chromium_chromedriver", TAG+="snap_chromium_chromium"
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", MODE:="0660", GROUP="input", TAG+="uaccess"

Explanation of the rules

The rules use ACL (Access Control List) to give permissions to the currently logged in user, as well as all users in the input  group. Your own user account doesn't need to be in the input  group but this is added as some Linux distributions may not support the TAG+="uaccess"  element.

We also added a section for snap installations of Chromium browsers. This is solved with TAG+="snap_chromium_chromedriver"  and TAG+="snap_chromium_chromium"  being granted for the hidraw  subsystem and our VendorIDs as well as ProductIDs.


Applying the new rules

To load and apply the new rules you have 2 options:

  1. Restart your PC
  2. Run a command to reload the rules

Restarting your PC should not need an explanation but running the command on the other hand does.


If you want to avoid restarting your computer you can try running the following command to force a reload of the udev rules:

sudo udevadm control --reload-rules && sudo udevadm trigger  

Here is a small breakdown of the commands you run:

  • sudo  just runs the following command with elevated root permissions
  • udevadm  this is the command for the udev management tool
  • control --reload-rules  instructs the udevadm to reload all rules (including newly created ones)
  • &&  runs the command after it after the command before it has finished (logical and)
  • sudo  as mentioned above runs the following command with root permissions
  • udevadm  as mentioned above this is the udev management tool
  • trigger  used to replay kernel events in regards to usb


Different distributions can use different commands and tools, you need to check if the mentioned system inputs are supported by your distribution.



Still have questions or need assistance?

Feel free to reach out to our helpful customer service team by submitting a support request through the Wooting Support Wizard.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.