Logitech keyboards use a USB HID interface. Some packets are 20 bytes, others are 64 bytes. Unless a packet is denoted as a 64 byte packet below, assume it is a 20 byte packet. Any bytes not shown are zero.
Some of the information for this wiki page was gathered from: https://github.com/MatMoul/g810-led and other information was reverse engineered from my own Logitech G810.
Direct mode keymap: Logitech_G810_Keymap.ods
Commit
Logitech G213 and G413 do not need a commit packet.
Logitech G410, G512, G513, G610, G810, GPro
| Byte Index | Value |
|---|---|
| 0x00 | 0x11 |
| 0x01 | 0xFF |
| 0x02 | 0x0C |
| 0x03 | 0x5A |
Logitech G815
| Byte Index | Value |
|---|---|
| 0x00 | 0x11 |
| 0x01 | 0xFF |
| 0x02 | 0x10 |
| 0x03 | 0x7F |
Logitech G910
| Byte Index | Value |
|---|---|
| 0x00 | 0x11 |
| 0x01 | 0xFF |
| 0x02 | 0x0F |
| 0x03 | 0x5D |
Set Startup Mode
Logitech G213, G410, G610, G810, GPro
| Byte Index | Value |
|---|---|
| 0x00 | 0x11 |
| 0x01 | 0xFF |
| 0x02 | 0x0D |
| 0x03 | 0x5A |
| 0x04 | 0x00 |
| 0x05 | 0x01 |
| 0x06 | Startup Mode |
Logitech G910
| Byte Index | Value |
|---|---|
| 0x00 | 0x11 |
| 0x01 | 0xFF |
| 0x02 | 0x10 |
| 0x03 | 0x5E |
| 0x04 | 0x00 |
| 0x05 | 0x01 |
| 0x06 | Startup Mode |
Set Onboard Mode
Logitech G810
| Byte Index | Value |
|---|---|
| 0x00 | 0x11 |
| 0x01 | 0xFF |
| 0x02 | 0x0D |
| 0x03 | 0x3D |
| 0x04 | Zone |
| 0x05 | Mode |
| 0x06 | Red |
| 0x07 | Green |
| 0x08 | Blue |
| 0x09 | |
| 0x0A | |
| 0x0B | Speed |
| 0x0C | Speed |
| 0x0D | 0x64 |
Zones
| Value | Description |
|---|---|
| 0x00 | Keyboard |
| 0x01 | Logo |
Modes
| Value | Description |
|---|---|
| 0x00 | Off |
| 0x01 | Static |
| 0x02 | Breathing |
| 0x03 | Cycle |
| 0x04 | Wave |
Wave Direction
| Value | Direction |
|---|---|
| 0x01 | Horizontal |
| 0x02 | Vertical |
| 0x03 | Center Out |
| 0x06 | Reverse Horizontal |
| 0x08 | Center In |
Logitech G815
| Byte Index | Value |
|---|---|
| 0x00 | 0x11 |
| 0x01 | 0xFF |
| 0x02 | 0x11 |
| 0x03 | 0x1A |
| 0x04 | Onboard Mode |
Set Key Color
Logitech G810
64-byte packet
| Byte Index | Value |
|---|---|
| 0x00 | 0x12 |
| 0x01 | 0xFF |
| 0x02 | 0x0C |
| 0x03 | 0x3D |
| 0x04 | 0x00 |
| 0x05 | 0x01 |
| 0x06 | 0x00 |
| 0x07 | 0x0C |
| 0x08 | Key Index 1 |
| 0x09 | Red 1 |
| 0x0A | Green 1 |
| 0x0B | Blue 1 |
| 0x0C | Key Index 2 |
| 0x0D | Red 2 |
| 0x0E | Green 2 |
| 0x0F | Blue 2 |
| ... | Up to 12 [Key Index, Red, Green, Blue] sets per packet |
Logitech G815
| Byte Index | Value |
|---|---|
| 0x00 | 0x11 |
| 0x01 | 0xFF |
| 0x02 | 0x10 |
| 0x03 | 0x6C |
| 0x04 | Red |
| 0x05 | Green |
| 0x06 | Blue |
| 0x07+ | Key Index (up to 13 keys can be specified per packet) |