|
@@ -40,8 +40,8 @@ when you open a board in its web app — so the tool needs that board's file, th
|
|
|
VIA does. Identify the keyboard, then get its definition:
|
|
VIA does. Identify the keyboard, then get its definition:
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|
|
|
-qmk-rgb-tool definition fetch # download the definition for the connected keyboard
|
|
|
|
|
-qmk-rgb-tool definition list # every definition in use, and where each is from
|
|
|
|
|
|
|
+qmk-rgb-tool keyboard fetch # download the definition for the connected keyboard
|
|
|
|
|
+qmk-rgb-tool keyboard definitions # every definition in use, and where each is from
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
**Where those files live.** Both directories are under the platform's per-user
|
|
**Where those files live.** Both directories are under the platform's per-user
|
|
@@ -54,7 +54,7 @@ configuration directory, and each is read from there and written to there:
|
|
|
| Windows | `%AppData%\qmk-rgb-tool\` |
|
|
| Windows | `%AppData%\qmk-rgb-tool\` |
|
|
|
|
|
|
|
|
One directory per kind, and not a search. A definition is written by
|
|
One directory per kind, and not a search. A definition is written by
|
|
|
-`definition fetch` and read by every command, so a search path would mean the
|
|
|
|
|
|
|
+`keyboard fetch` and read by every command, so a search path would mean the
|
|
|
file a fetch produced is not the file the next command reads. A profile is
|
|
file a fetch produced is not the file the next command reads. A profile is
|
|
|
written there and read there, so `save <name>` followed by `load <name>` finds
|
|
written there and read there, so `save <name>` followed by `load <name>` finds
|
|
|
what was just written and a same-named file in a checkout cannot be loaded in its
|
|
what was just written and a same-named file in a checkout cannot be loaded in its
|
|
@@ -324,20 +324,20 @@ commands need the catalog and say so rather than guessing:
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
$ qmk-rgb-tool effect wave
|
|
$ qmk-rgb-tool effect wave
|
|
|
-Error: no effect names for this keyboard: run `definition fetch` for its VIA definition, or set an
|
|
|
|
|
|
|
+Error: no effect names for this keyboard: run `keyboard fetch` for its VIA definition, or set an
|
|
|
effect by number with `effect <index>`
|
|
effect by number with `effect <index>`
|
|
|
|
|
|
|
|
$ qmk-rgb-tool enable
|
|
$ qmk-rgb-tool enable
|
|
|
-Error: this keyboard has no effect names, so `enable` cannot choose an effect: run `definition fetch` for
|
|
|
|
|
|
|
+Error: this keyboard has no effect names, so `enable` cannot choose an effect: run `keyboard fetch` for
|
|
|
its VIA definition, or set one with `effect <index>`
|
|
its VIA definition, or set one with `effect <index>`
|
|
|
|
|
|
|
|
$ qmk-rgb-tool load paul
|
|
$ qmk-rgb-tool load paul
|
|
|
-Warning: profile "paul" has no effect names for this keyboard, so nothing applied; run `definition fetch` for
|
|
|
|
|
|
|
+Warning: profile "paul" has no effect names for this keyboard, so nothing applied; run `keyboard fetch` for
|
|
|
its VIA definition
|
|
its VIA definition
|
|
|
|
|
|
|
|
$ qmk-rgb-tool save paul
|
|
$ qmk-rgb-tool save paul
|
|
|
Warning: this keyboard has no effect names, so the profile records effect "unknown" and cannot restore it; run
|
|
Warning: this keyboard has no effect names, so the profile records effect "unknown" and cannot restore it; run
|
|
|
-`definition fetch` for its VIA definition, or set an effect with `effect <index>`
|
|
|
|
|
|
|
+`keyboard fetch` for its VIA definition, or set an effect with `effect <index>`
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
`enable` needs it because it has to choose an effect to turn a channel on.
|
|
`enable` needs it because it has to choose an effect to turn a channel on.
|
|
@@ -466,7 +466,7 @@ failure, but the summary line always states the value that was actually applied.
|
|
|
- **Effect names from VIA definition files** — the vendor's own names, read at runtime; no name is hand-written, so there is one source per board, and a file the user places overrides the one built in
|
|
- **Effect names from VIA definition files** — the vendor's own names, read at runtime; no name is hand-written, so there is one source per board, and a file the user places overrides the one built in
|
|
|
- **Compatibility aliases** — `off`, `breathe`, `rainbow`, `rainbow_wave`, `solid`, `static` resolve to correct effect IDs per channel
|
|
- **Compatibility aliases** — `off`, `breathe`, `rainbow`, `rainbow_wave`, `solid`, `static` resolve to correct effect IDs per channel
|
|
|
- **Reactive & splash effects** — honor `color` and `speed` for key-press illumination
|
|
- **Reactive & splash effects** — honor `color` and `speed` for key-press illumination
|
|
|
-- **Machine-parseable output** — text by default, JSON behind `--json` for `keyboard info`, `info`, `list`, `effect --list` and `definition list`
|
|
|
|
|
|
|
+- **Machine-parseable output** — text by default, JSON behind `--json` for `keyboard info`, `info`, `list`, `effect --list` and `keyboard definitions`
|
|
|
- **Agent-friendly** — designed for automation, scripting, and CLI-first workflows
|
|
- **Agent-friendly** — designed for automation, scripting, and CLI-first workflows
|
|
|
- **Multiple devices** — `keyboard info` numbers each keyboard; `--device <n>` targets one
|
|
- **Multiple devices** — `keyboard info` numbers each keyboard; `--device <n>` targets one
|
|
|
|
|
|
|
@@ -673,7 +673,7 @@ a channel the same thing, and a name is matched ignoring case. On a board whose
|
|
|
definition writes `Backlight`, all of `--zone backlight`, `--zone Backlight` and
|
|
definition writes `Backlight`, all of `--zone backlight`, `--zone Backlight` and
|
|
|
`--zone rgb_matrix` reach the same channel: the label is the name, the subsystem
|
|
`--zone rgb_matrix` reach the same channel: the label is the name, the subsystem
|
|
|
stays accepted because it follows from the channel number. `qmk-rgb-tool
|
|
stays accepted because it follows from the channel number. `qmk-rgb-tool
|
|
|
-definition list` prints the label beside the subsystem it stands for, and says
|
|
|
|
|
|
|
+keyboard definitions` prints the label beside the subsystem it stands for, and says
|
|
|
where each definition came from — `user` for a file in the per-user directory,
|
|
where each definition came from — `user` for a file in the per-user directory,
|
|
|
`built-in` for one compiled into the binary:
|
|
`built-in` for one compiled into the binary:
|
|
|
|
|
|
|
@@ -732,8 +732,8 @@ board", and that file is gone, so the field would have been unanswerable:
|
|
|
| `qmk-rgb-tool effect <name\|index>` | Set an effect by name, or a raw effect index 0–255, verified by read-back; a board that does not implement the index clamps it to the highest it does |
|
|
| `qmk-rgb-tool effect <name\|index>` | Set an effect by name, or a raw effect index 0–255, verified by read-back; a board that does not implement the index clamps it to the highest it does |
|
|
|
| `qmk-rgb-tool effect` | With no argument, list every effect per channel |
|
|
| `qmk-rgb-tool effect` | With no argument, list every effect per channel |
|
|
|
| `qmk-rgb-tool effect --list` | The same list, as a flag |
|
|
| `qmk-rgb-tool effect --list` | The same list, as a flag |
|
|
|
-| `qmk-rgb-tool definition fetch` | Download the VIA definition for the connected keyboard |
|
|
|
|
|
-| `qmk-rgb-tool definition list` | List every definition in use, from the per-user directory and built into the binary, each marked with which it is |
|
|
|
|
|
|
|
+| `qmk-rgb-tool keyboard fetch` | Download the VIA definition for the connected keyboard |
|
|
|
|
|
+| `qmk-rgb-tool keyboard definitions` | List every definition in use, from the per-user directory and built into the binary, each marked with which it is |
|
|
|
| `qmk-rgb-tool brightness <val>` | Set brightness (0–255) on selected zones, verified by read-back |
|
|
| `qmk-rgb-tool brightness <val>` | Set brightness (0–255) on selected zones, verified by read-back |
|
|
|
| `qmk-rgb-tool speed <val>` | Set effect speed (0–255) on selected zones, verified by read-back; on `logo` and `side` only 0, 1 and 4 are reachable |
|
|
| `qmk-rgb-tool speed <val>` | Set effect speed (0–255) on selected zones, verified by read-back; on `logo` and `side` only 0, 1 and 4 are reachable |
|
|
|
| `qmk-rgb-tool color <hex>` | Set color (e.g. `ff0000`) on selected zones |
|
|
| `qmk-rgb-tool color <hex>` | Set color (e.g. `ff0000`) on selected zones |
|
|
@@ -742,7 +742,7 @@ board", and that file is gone, so the field would have been unanswerable:
|
|
|
| `qmk-rgb-tool --zone <channel> ...` | Target one channel: `backlight`, `rgblight`, `rgb_matrix`, `audio` or `led_matrix`, or the name the board's definition gives it |
|
|
| `qmk-rgb-tool --zone <channel> ...` | Target one channel: `backlight`, `rgblight`, `rgb_matrix`, `audio` or `led_matrix`, or the name the board's definition gives it |
|
|
|
| `qmk-rgb-tool --device <n> ...` | Target keyboard by number (see `keyboard info`) |
|
|
| `qmk-rgb-tool --device <n> ...` | Target keyboard by number (see `keyboard info`) |
|
|
|
| `qmk-rgb-tool --definition <path>` | Read effect names from this VIA definition file instead of the one in the data directory; applies to every command that resolves names, and a file for another board is refused |
|
|
| `qmk-rgb-tool --definition <path>` | Read effect names from this VIA definition file instead of the one in the data directory; applies to every command that resolves names, and a file for another board is refused |
|
|
|
-| `qmk-rgb-tool --json` | Print JSON instead of text, for `keyboard info`, `info`, `list`, `effect --list` and `definition list` |
|
|
|
|
|
|
|
+| `qmk-rgb-tool --json` | Print JSON instead of text, for `keyboard info`, `info`, `list`, `effect --list` and `keyboard definitions` |
|
|
|
| `qmk-rgb-tool -v`, `--version` | Print the version |
|
|
| `qmk-rgb-tool -v`, `--version` | Print the version |
|
|
|
| `qmk-rgb-tool save [name]` | Save current RGB state as `<name>.json` in the per-user `profiles/` (name lowercased, non-`[a-z0-9-_]` mapped to `-`, a leading `-` prefixed with `unnamed-`); without a name it writes `default` |
|
|
| `qmk-rgb-tool save [name]` | Save current RGB state as `<name>.json` in the per-user `profiles/` (name lowercased, non-`[a-z0-9-_]` mapped to `-`, a leading `-` prefixed with `unnamed-`); without a name it writes `default` |
|
|
|
| `qmk-rgb-tool load [name]` | Load and apply a profile by name from the per-user `profiles/`; without a name it loads `default` |
|
|
| `qmk-rgb-tool load [name]` | Load and apply a profile by name from the per-user `profiles/`; without a name it loads `default` |
|
|
@@ -755,7 +755,7 @@ token. `effect`, `load`, `save` and `delete` accept an optional name.
|
|
|
`brightness`, `speed` and `color` require exactly one argument. `effect` takes one
|
|
`brightness`, `speed` and `color` require exactly one argument. `effect` takes one
|
|
|
argument too, and accepts either a name or a raw effect ID.
|
|
argument too, and accepts either a name or a raw effect ID.
|
|
|
|
|
|
|
|
-`keyboard info`, `info`, `list`, `definition list` and `effect --list` print
|
|
|
|
|
|
|
+`keyboard info`, `info`, `list`, `keyboard definitions` and `effect --list` print
|
|
|
text, because a person reads them. Pass `--json` for the machine shape, which is
|
|
text, because a person reads them. Pass `--json` for the machine shape, which is
|
|
|
the same data with the same field names as before:
|
|
the same data with the same field names as before:
|
|
|
|
|
|