Initial commit

This commit is contained in:
2026-06-26 15:35:13 +02:00
commit b56dd2a34e
23 changed files with 2407 additions and 0 deletions
@@ -0,0 +1 @@
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="091b", TAG+="uaccess", TAG+="udev-acl"
@@ -0,0 +1,2 @@
KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="Surface Dial System Multi Axis", TAG+="uaccess", TAG+="udev-acl"
KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="Surface Dial System Control", TAG+="uaccess", TAG+="udev-acl"
@@ -0,0 +1 @@
KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", TAG+="uaccess", TAG+="udev-acl"
+77
View File
@@ -0,0 +1,77 @@
# Installing `surface-dial-renewed`
These files install the renewed driver as a systemd user service. The service
runs as your desktop user so it can access your session D-Bus for KDE OSD.
## Build and Install the Binary
Automatic install from the repository root:
```bash
./renewed_driver/install.sh
```
Manual install:
```bash
cargo install --path renewed_driver
```
This installs:
```text
~/.cargo/bin/surface-dial-renewed
```
## Install Device Permission Rules
```bash
sudo cp renewed_driver/install/70-surface-dial-renewed-uinput.rules /etc/udev/rules.d/
sudo cp renewed_driver/install/70-surface-dial-renewed-input.rules /etc/udev/rules.d/
sudo cp renewed_driver/install/70-surface-dial-renewed-hidraw.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
```
If the service still cannot access input devices, add your user to the group
that owns `/dev/input/event*` on your system, then log out and back in:
```bash
sudo gpasswd -a "$(whoami)" "$(stat -c '%G' /dev/input/event0)"
```
## Install the User Service
```bash
mkdir -p ~/.config/systemd/user
cp renewed_driver/install/surface-dial-renewed.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now surface-dial-renewed.service
```
## Check Status and Logs
```bash
systemctl --user status surface-dial-renewed.service
journalctl --user -u surface-dial-renewed.service -f
```
## Uninstall
Automatic uninstall from the repository root:
```bash
./renewed_driver/uninstall.sh
```
Manual uninstall:
```bash
systemctl --user disable --now surface-dial-renewed.service
rm ~/.config/systemd/user/surface-dial-renewed.service
sudo rm /etc/udev/rules.d/70-surface-dial-renewed-uinput.rules
sudo rm /etc/udev/rules.d/70-surface-dial-renewed-input.rules
sudo rm /etc/udev/rules.d/70-surface-dial-renewed-hidraw.rules
systemctl --user daemon-reload
sudo udevadm control --reload-rules
```
+15
View File
@@ -0,0 +1,15 @@
[Unit]
Description=Surface Dial Renewed Driver
After=graphical-session.target
PartOf=graphical-session.target
[Service]
Type=simple
ExecStart=%h/.cargo/bin/surface-dial-renewed --mode multitouch
Restart=on-failure
RestartSec=2
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=default.target