A command-line tool for controlling the RGB lighting and scroll wheel mode on Razer Basilisk V3 mice via direct USB HID — no Razer drivers or Synapse required.
demo.mp4
Tested with: Razer Basilisk V3 Pro (Wireless), plugged in via USB.
- OpenRazer — Linux driver and user-space daemon for Razer devices, with Python bindings and a command-line tool (
razer-cli) for controlling lighting and other features. Linux only.
go install github.com/jashort/bmouse@latestOr build from source:
git clone https://github.com/jashort/bmouse.git
cd bmouse
make buildmacOS You may need to grant your terminal
Input Monitoringpermission in System Preferences > Security & Privacy > Privacy to allowbmouseto detect the mouse.For example:
./bmouse list Razer HID devices: PID=0x00AA Razer Basilisk V3 Pro UsagePage=0x0001 Usage=0x0006 Interface=2 Path=DevSrvsID:4294971771 ... ./bmouse static ff0000 no Razer Basilisk V3 found (is it plugged in?)Indicates that the mouse is detected but not accessible due to missing permissions. Granting
Input Monitoringpermission should resolve this.
bmouse <command> [--zone <zone>] [args...]
| Command | Description | Example |
|---|---|---|
list |
List all Razer HID devices | bmouse list |
static <hex-color> |
Set a solid color | bmouse static ff0000 |
breathe <hex-color> |
Single-color breathing | bmouse breathe 00ff00 |
breathe-dual <color1> <color2> |
Two-color breathing | bmouse breathe-dual ff0000 0000ff |
spectrum |
Rainbow spectrum cycling | bmouse spectrum |
reactive <hex-color> [--speed 1-3] |
Light up on click | bmouse reactive ff0000 --speed 1 |
off |
Turn LEDs off | bmouse off |
brightness [0-255] |
Get or set brightness | bmouse brightness 200 |
scroll [mode] |
Get or set scroll wheel mode | bmouse scroll tactile |
| Value | Duration |
|---|---|
1 |
Short |
2 |
Medium (default) |
3 |
Long |
| Mode | Description |
|---|---|
tactile |
Clicky, notched scrolling |
free |
Free-spin (smooth, silent) |
smart |
Smart Reel — automatically switches based on scroll speed |
Use the optional --zone flag to target a specific LED zone. Defaults to all zones.
| Zone | Description |
|---|---|
all |
All LEDs at once (default) |
scroll |
Scroll-wheel LED |
logo |
Logo LED |
under |
Underglow light strip |
6-digit hex, with or without a leading #:
ff8800 #ff8800
# Set all LEDs to red
bmouse static ff0000
# Green breathing effect on the logo only
bmouse breathe --zone logo 00ff88
# Two-color breathing
bmouse breathe-dual ff0000 0000ff
# Red reactive with short duration
bmouse reactive ff0000 --speed 1
# Spectrum cycling on the scroll wheel
bmouse spectrum --zone scroll
# Turn off underglow
bmouse off --zone under
# Set brightness to 200
bmouse brightness 200
# Check current brightness
bmouse brightness
# Switch to free-spin scroll wheel
bmouse scroll free
# Check current scroll mode
bmouse scroll- go-hid — cross-platform Go bindings for the HIDAPI library
MIT