Device specs
Every field of every DeviceModel, generated from ts/src/devices/registry.ts. This is
the page to read when you are porting a deck or chasing a black panel; if you just want
to know whether your deck works, read Supported devices instead.
The three tables below are live: type to filter rows, click a header to sort, and use the chips to show the columns you care about — most start hidden. Column names are abbreviated: hover a dotted header (or a column chip) for what the field means.
How much to trust a value:
- Measured — anything on a deck marked tested. The image tuning and key maps of the MK.2, 293V3, 293S, K1 Pro, D6 rev. 2 and Mini were derived on hardware.
- Inherited — the rebadges copy a tested board field-for-field, by construction, so they cannot drift; what is untested is the assumption that the board is the same.
- Inferred — read out of a reference implementation. Each device lists its sources.
- Probed at runtime — only
packetSizeCandidates: when set, the real output-report size is read from the HID report descriptor atopen()and overrulespacketSize, but only if it is one of the listed values. A wrong packet size is otherwise silent — short writes are discarded whilehid_writestill returns success, and the panel just stays black.
Adding a deck of your own? Adding a device is the workflow.
Identity
| Stream Deck MK.2 | elgato | elgato-gen2 | 0x0fd9 | 0x0080 0x006d 0x00a5 | 15 | 5 | 3 |
|---|---|---|---|---|---|---|---|
| Stream Deck Mini | elgato | elgato-gen1 | 0x0fd9 | 0x0063 0x0090 0x00b3 0x00b8 | 6 | 3 | 2 |
| Mirabox 293V3 | mirabox | mirabox-cora | 0x6603 | 0x1005 0x1006 0x1010 0x1014 | 15 | 5 | 3 |
| Mirabox 293S Stream Deck | mirabox | mirabox-cora-v1 | 0x5548 | 0x6670 | 15 | 5 | 3 |
| Mirabox K1 Pro | mirabox | mirabox-cora | 0x6603 | 0x1015 0x1019 | 6 | 3 | 2 |
| AJAZZ AKP05E | ajazz | ajazz-akp05 | 0x0300 | 0x3004 | 10 | 5 | 2 |
| AJAZZ AKP05 | ajazz | ajazz-akp05 | 0x0300 | 0x3006 | 10 | 5 | 2 |
| Ajazz AKP153E (rev. 2) | ajazz | mirabox-cora | 0x0300 | 0x3010 | 15 | 5 | 3 |
| Ajazz AKP153R (rev. 2) | ajazz | mirabox-cora | 0x0300 | 0x3011 | 15 | 5 | 3 |
| Fifine AmpliGame D6 | fifine | mirabox-cora | 0x3142 | 0x0007 | 15 | 5 | 3 |
| Fifine AmpliGame D6 (rev. 2) | fifine | mirabox-cora | 0x3142 | 0x0060 | 15 | 5 | 3 |
| Ajazz AKP153 | ajazz | mirabox-cora-v1 | 0x5548 | 0x6674 | 15 | 5 | 3 |
| Ajazz AKP153E (rev. 1) | ajazz | mirabox-cora-v1 | 0x0300 | 0x1010 | 15 | 5 | 3 |
| Ajazz AKP153R (rev. 1) | ajazz | mirabox-cora-v1 | 0x0300 | 0x1020 | 15 | 5 | 3 |
| Mars Gaming MSD-ONE | mars-gaming | mirabox-cora-v1 | 0x0b00 | 0x1000 | 15 | 5 | 3 |
| Mad Dog GK150K | mad-dog | mirabox-cora-v1 | 0x0c00 | 0x1000 | 15 | 5 | 3 |
| Risemode Vision 01 | risemode | mirabox-cora-v1 | 0x0a00 | 0x1001 | 15 | 5 | 3 |
| TMICE Stream Controller | tmice | mirabox-cora-v1 | 0x0500 | 0x1001 | 15 | 5 | 3 |
Image spec
How a CORA frame becomes the bytes this panel wants. The format: 'bmp' short-circuit in
image-pipeline runs before any of this; transform: 'passthrough' sends the CORA JPEG
unchanged and is only valid at CORA-native resolution with no rotation, flip or size cap.
| Stream Deck MK.2 | jpeg | 72 | 72 | 0° | no cap | 0.95 | passthrough |
|---|---|---|---|---|---|---|---|
| Stream Deck Mini | bmp | 80 | 80 | 90° | no cap | — | passthrough |
| Mirabox 293V3 | jpeg | 112 | 112 | 0° | 10240 | 0.9 | sidecar |
| Mirabox 293S Stream Deck | jpeg | 85 | 85 | 90° | 5120 | 0.7 | sidecar |
| Mirabox K1 Pro | jpeg | 64 | 64 | 0° | 4096 | 0.9 | sidecar |
| AJAZZ AKP05E | jpeg | 112 | 112 | 0° | 65535 | 0.9 | sidecar |
| AJAZZ AKP05 | jpeg | 112 | 112 | 180° | 65535 | 0.9 | sidecar |
| Ajazz AKP153E (rev. 2) | jpeg | 95 | 95 | 90° | 10240 | 0.9 | sidecar |
| Ajazz AKP153R (rev. 2) | jpeg | 112 | 112 | 0° | 10240 | 0.9 | sidecar |
| Fifine AmpliGame D6 | jpeg | 112 | 112 | 0° | 10240 | 0.9 | sidecar |
| Fifine AmpliGame D6 (rev. 2) | jpeg | 112 | 112 | 0° | 10240 | 0.9 | sidecar |
| Ajazz AKP153 | jpeg | 85 | 85 | 90° | 5120 | 0.7 | sidecar |
| Ajazz AKP153E (rev. 1) | jpeg | 85 | 85 | 90° | 5120 | 0.7 | sidecar |
| Ajazz AKP153R (rev. 1) | jpeg | 85 | 85 | 90° | 5120 | 0.7 | sidecar |
| Mars Gaming MSD-ONE | jpeg | 85 | 85 | 90° | 5120 | 0.7 | sidecar |
| Mad Dog GK150K | jpeg | 85 | 85 | 90° | 5120 | 0.7 | sidecar |
| Risemode Vision 01 | jpeg | 85 | 85 | 90° | 5120 | 0.7 | sidecar |
| TMICE Stream Controller | jpeg | 85 | 85 | 90° | 5120 | 0.7 | sidecar |
Wire spec
Device-owned HID sizes and low-level behavior. Protocol strategies own framing algorithms; they never own packet or input report sizes.
| Stream Deck MK.2 | 1024 | 512 | — | — | — | — |
|---|---|---|---|---|---|---|
| Stream Deck Mini | 1024 | 512 | — | — | — | — |
| Mirabox 293V3 | 1024 | 512 | 8000 | no | yes | — |
| Mirabox 293S Stream Deck | 512 | 512 | 8000 | yes | no | — |
| Mirabox K1 Pro | 1024 | 512 | 2000 | no | yes | 0x04 |
| AJAZZ AKP05E | 1024 | 512 | — | — | — | 0x00 |
| AJAZZ AKP05 | 1024 | 512 | — | — | — | 0x00 |
| Ajazz AKP153E (rev. 2) | 1024 | 512 | 8000 | no | yes | — |
| Ajazz AKP153R (rev. 2) | 1024 | 512 | 8000 | no | yes | — |
| Fifine AmpliGame D6 | 512 | 512 | 8000 | no | yes | — |
| Fifine AmpliGame D6 (rev. 2) | 1024 | 512 | 8000 | no | yes | — |
| Ajazz AKP153 | 512 | 512 | 8000 | yes | no | — |
| Ajazz AKP153E (rev. 1) | 512 | 512 | 8000 | yes | no | — |
| Ajazz AKP153R (rev. 1) | 512 | 512 | 8000 | yes | no | — |
| Mars Gaming MSD-ONE | 512 | 512 | 8000 | yes | no | — |
| Mad Dog GK150K | 512 | 512 | 8000 | yes | no | — |
| Risemode Vision 01 | 512 | 512 | 8000 | yes | no | — |
| TMICE Stream Controller | 512 | 512 | 8000 | yes | no | — |
Key maps and CORA identity
Per device: the CORA-index ↔ wire-id mapping drawn as a grid (a wrong map is visible at a
glance), the raw keyMap, what the device advertises to the Elgato app, and the splash
transform override. Image and input are resolved independently —
coraToWireImage[i] ?? i + imageOffset ?? i for images,
wireInputToCora[code] ?? code - inputOffset ?? code for presses.
Stream Deck MK.2
mk2 · elgato-gen2 · ✓ tested (macOS, 2026-09-15) · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 0 1 2 3 4
5 6 7 8 9 5 6 7 8 9
10 11 12 13 14 10 11 12 13 14
keyMap: {}
cora: {
"productId": 0x0080,
"usePhysicalIdentity": true
}
splash: {
"transformOverride": {
"rotate": 180
}
}
Derived from: own hardware test (macOS, PID 0x0080)
Stream Deck Mini
mini · elgato-gen1 · ✓ tested (macOS) · compare entry
mk2 index → wire image id (3×2, row-major)
0 1 2 0 1 2
3 4 5 3 4 5
keyMap: {}
cora: {
"productId": 0x0063,
"usePhysicalIdentity": true
}
splash: {
"transformOverride": {
"rotate": 90,
"flipH": true
}
}
Mirabox 293V3
mirabox-293 · mirabox-cora · ✓ tested (macOS) · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 11 12 13 14 15
5 6 7 8 9 6 7 8 9 10
10 11 12 13 14 1 2 3 4 5
keyMap: {
"coraToWireImage": [
11,
12,
13,
14,
15,
6,
7,
8,
9,
10,
1,
2,
3,
4,
5
],
"inputOffset": 1
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 180
}
}
Derived from: opendeck-akp153 · keydeck (Mirabox-HSV293SV3-0x1005.json)
Mirabox 293S Stream Deck
mirabox-293s · mirabox-cora-v1 · ✓ tested (macOS) · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
extra keys (outside the CORA grid): 16, 17, 18
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10,
-1,
-1,
-1
],
"extraKeys": [
16,
17,
18
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 270
}
}
Derived from: opendeck-akp153 · keydeck (Mirabox-HSV293S.json)
Mirabox K1 Pro
mirabox-k1pro · mirabox-cora · ✓ tested (macOS) · compare entry
mini index → wire image id (3×2, row-major)
0 1 2 5 3 1
3 4 5 6 4 2
keyMap: {
"coraToWireImage": [
5,
3,
1,
6,
4,
2
],
"wireInputToCora": [
-1,
2,
5,
1,
4,
0,
3
]
}
cora: {
"productId": 0x0063,
"advertiseAs": "mini",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 90,
"flipH": false
}
}
Derived from: keydeck · .claude/plans/K1Pro/jpeg-artifact-findings.md
AJAZZ AKP05E
ajazz-akp05e · ajazz-akp05 · ✓ tested (macOS, 2026-09-21) · compare entry
mk2 index → wire image id (5×2, row-major)
0 1 2 3 4 11 12 13 14 15
5 6 7 8 9 6 7 8 9 10
keyMap: {
"coraToWireImage": [
11,
12,
13,
14,
15,
6,
7,
8,
9,
10
],
"wireInputToCora": [
-1,
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
]
}
cora: {
"productId": 0x00a5,
"usePhysicalIdentity": false,
"emulations": {
"stream-deck-plus": {
"image": {
"format": "jpeg",
"width": 112,
"height": 112,
"rotate": 180,
"flipH": false,
"flipV": false,
"colorMode": "rgb",
"maxBytes": 65535,
"quality": 0.9,
"resizeFilter": "lanczos3",
"sharpen": 0.6,
"transform": "sidecar"
},
"keyMap": {
"coraToWireImage": [
11,
12,
13,
14,
6,
7,
8,
9
],
"wireInputToCora": [
-1,
0,
1,
2,
3,
-1,
4,
5,
6,
7,
-1
],
"extraKeys": [
15,
10
],
"extraKeyInputs": [
5,
10
]
}
}
}
}
splash: {
"transformOverride": {
"rotate": 180
}
}
Derived from: own hardware capture (macOS, PID 0x3004, mise run akp05-capture) · ambiso/opendeck-akp05 src/device.rs + src/inputs.rs · zeccola/ajazz-akp05 akp05_device.py · 4ndv/mirajazz src/device.rs + src/state.rs
AJAZZ AKP05
ajazz-akp05 · ajazz-akp05 · — untested · compare entry
stream-deck-plus index → wire image id (4×2, row-major)
0 1 2 3 11 12 13 14
4 5 6 7 6 7 8 9
extra keys (outside the CORA grid): 15, 10
keyMap: {
"coraToWireImage": [
11,
12,
13,
14,
6,
7,
8,
9
],
"wireInputToCora": [
-1,
0,
1,
2,
3,
-1,
4,
5,
6,
7,
-1
],
"extraKeys": [
15,
10
],
"extraKeyInputs": [
5,
10
]
}
cora: {
"productId": 0x0084,
"usePhysicalIdentity": false,
"emulations": {
"stream-deck-plus": {
"image": {
"format": "jpeg",
"width": 112,
"height": 112,
"rotate": 180,
"flipH": false,
"flipV": false,
"colorMode": "rgb",
"maxBytes": 65535,
"quality": 0.9,
"resizeFilter": "lanczos3",
"sharpen": 0.6,
"transform": "sidecar"
},
"keyMap": {
"coraToWireImage": [
11,
12,
13,
14,
6,
7,
8,
9
],
"wireInputToCora": [
-1,
0,
1,
2,
3,
-1,
4,
5,
6,
7,
-1
],
"extraKeys": [
15,
10
],
"extraKeyInputs": [
5,
10
]
}
}
},
"advertiseAs": "stream-deck-plus"
}
splash: {
"transformOverride": {
"rotate": 180
}
}
Derived from: ambiso/opendeck-akp05 src/mappings.rs · ambiso/opendeck-akp05 CHANGELOG.md v0.9.3
Ajazz AKP153E (rev. 2)
ajazz-akp153e-rev2 · mirabox-cora · ✓ tested (Windows, 2026-09-15) · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 180
}
}
Derived from: issue #67 · opendeck-akp153 (src/mappings.rs) · keydeck (Ajazz-AKP153E-0x3010.json)
Ajazz AKP153R (rev. 2)
ajazz-akp153r-rev2 · mirabox-cora · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 11 12 13 14 15
5 6 7 8 9 6 7 8 9 10
10 11 12 13 14 1 2 3 4 5
keyMap: {
"coraToWireImage": [
11,
12,
13,
14,
15,
6,
7,
8,
9,
10,
1,
2,
3,
4,
5
],
"inputOffset": 1
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 180
}
}
Derived from: opendeck-akp153 (src/mappings.rs) · keydeck
Fifine AmpliGame D6
fifine-d6 · mirabox-cora · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 11 12 13 14 15
5 6 7 8 9 6 7 8 9 10
10 11 12 13 14 1 2 3 4 5
keyMap: {
"coraToWireImage": [
11,
12,
13,
14,
15,
6,
7,
8,
9,
10,
1,
2,
3,
4,
5
],
"inputOffset": 1
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 180
}
}
Derived from: companion-surface-mirabox-stream-dock PR #49 · opendeck-ampgd6 · FifineOpenSource · jasonkoon/sd-connect
Fifine AmpliGame D6 (rev. 2)
fifine-d6-rev2 · mirabox-cora · ✓ tested (macOS, 2026-09-11) · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 11 12 13 14 15
5 6 7 8 9 6 7 8 9 10
10 11 12 13 14 1 2 3 4 5
keyMap: {
"coraToWireImage": [
11,
12,
13,
14,
15,
6,
7,
8,
9,
10,
1,
2,
3,
4,
5
],
"inputOffset": 1
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 180
}
}
Derived from: opendeck-ampgd6 PR #4, #5, #6, #7 · companion-surface-mirabox-stream-dock PR #49 · FifineOpenSource · own hardware capture (ts/src/dev/d6-capture.ts)
Ajazz AKP153
ajazz-akp153 · mirabox-cora-v1 · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
extra keys (outside the CORA grid): 16, 17, 18
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10,
-1,
-1,
-1
],
"extraKeys": [
16,
17,
18
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 270
}
}
Derived from: opendeck-akp153 · keydeck
Ajazz AKP153E (rev. 1)
ajazz-akp153e · mirabox-cora-v1 · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
extra keys (outside the CORA grid): 16, 17, 18
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10,
-1,
-1,
-1
],
"extraKeys": [
16,
17,
18
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 270
}
}
Derived from: opendeck-akp153 · keydeck
Ajazz AKP153R (rev. 1)
ajazz-akp153r · mirabox-cora-v1 · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
extra keys (outside the CORA grid): 16, 17, 18
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10,
-1,
-1,
-1
],
"extraKeys": [
16,
17,
18
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 270
}
}
Derived from: opendeck-akp153 · keydeck
Mars Gaming MSD-ONE
mars-msd-one · mirabox-cora-v1 · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
extra keys (outside the CORA grid): 16, 17, 18
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10,
-1,
-1,
-1
],
"extraKeys": [
16,
17,
18
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 270
}
}
Derived from: opendeck-akp153 · keydeck
Mad Dog GK150K
maddog-gk150k · mirabox-cora-v1 · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
extra keys (outside the CORA grid): 16, 17, 18
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10,
-1,
-1,
-1
],
"extraKeys": [
16,
17,
18
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 270
}
}
Derived from: opendeck-akp153 · keydeck
Risemode Vision 01
risemode-vision-01 · mirabox-cora-v1 · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
extra keys (outside the CORA grid): 16, 17, 18
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10,
-1,
-1,
-1
],
"extraKeys": [
16,
17,
18
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 270
}
}
Derived from: opendeck-akp153 · keydeck
TMICE Stream Controller
tmice-stream-controller · mirabox-cora-v1 · — untested · compare entry
mk2 index → wire image id (5×3, row-major)
0 1 2 3 4 13 10 7 4 1
5 6 7 8 9 14 11 8 5 2
10 11 12 13 14 15 12 9 6 3
extra keys (outside the CORA grid): 16, 17, 18
keyMap: {
"coraToWireImage": [
13,
10,
7,
4,
1,
14,
11,
8,
5,
2,
15,
12,
9,
6,
3
],
"wireInputToCora": [
-1,
4,
9,
14,
3,
8,
13,
2,
7,
12,
1,
6,
11,
0,
5,
10,
-1,
-1,
-1
],
"extraKeys": [
16,
17,
18
]
}
cora: {
"productId": 0x00a5,
"advertiseAs": "mk2",
"usePhysicalIdentity": false
}
splash: {
"transformOverride": {
"rotate": 270
}
}
Derived from: opendeck-akp153 · keydeck