Skip to content

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenPeripherals (BETA)

Control peripheral settings from the browser over WebHID. No drivers, no vendor software.

Dev Setup

npm install
npm run dev

Linux Fix

By default on Linux your device is only readable, not writable, so the app connects but the lighting controls do nothing until a small udev rule grants access.

If "Connect Device" looks like it worked but nothing changes, run these three lines in a terminal, then unplug and replug your device (or reboot):

sudo tee /etc/udev/rules.d/55-openperipherals.rules <<'EOF'
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1532", MODE="0666", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="046d", MODE="0666", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0c45", MODE="0666", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3710", MODE="0666", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3554", MODE="0666", TAG+="uaccess"
EOF
sudo udevadm control --reload-rules
sudo udevadm trigger

Read on Chrome Docs

How it works

Devices expose vendor HID interfaces that accept effect commands. This app builds and sends those report packets directly from the browser.

Credits

The HID protocol details for Razer devices were reverse-engineered by the OpenRazer project.

The HID protocol details for Logitech and Redragon devices were reverse-engineered by the OpenRGB project.

Contributing

Found a bug, or want to add support for a new device? Open an issue or pull request.

cd openperipherals
npm install
npm run dev        # start the dev server

Make your changes on a branch, then verify:

git checkout -b my-branch
npm run check      # svelte-check diagnostics
npm run build      # production build
git add .
git commit -m "fix: describe what you fixed"   # or feat: for new features
git push -u origin my-branch

Then open a pull request into main describing what changed and what you tested. It's highly recommended to describe what you add/fix and to include some screenshots or videos.

About

Control keyboard settings from the browser.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages