Hi, I'd like to point out that just about all the translations for German are wrong and/or feel off. This PR is just an example to show the work needed to really make this happen.
Spotlightforbugs (ca3e4bcb) at 04 Sep 19:49
weiter
Spotlightforbugs (e0de6c07) at 04 Sep 19:40
first translations
Thank you
TurtleBeach_AIMO_Wide_Mousepad.js
export function Name() { return "Turtle Beach AIMO Pad Wide"; }
export function VendorId() { return 0x10f5; }
export function ProductId() { return 0x5026; }
export function Documentation() { return "troubleshooting/roccat"; }
export function Publisher() { return "WhirlwindFX"; }
export function Size() { return [2, 2]; }
export function DefaultPosition() { return [75, 70]; }
export function DefaultScale() { return 20.0; }
/* global
shutdownColor:readonly
LightingMode:readonly
forcedColor:readonly
*/
export function ControllableParameters() {
return [
{
"property": "shutdownColor",
"group": "lighting",
"label": "Shutdown Color",
description:
"This color is applied to the device when the System, or SignalRGB is shutting down",
"min": "0",
"max": "360",
"type": "color",
"default": "#009bde"
},
{
"property": "LightingMode",
"group": "lighting",
"label": "Lighting Mode",
description:
"Determines where the device's RGB comes from. Canvas will pull from the active Effect, while Forced will override it to a specific color",
"type": "combobox",
"values": ["Canvas", "Forced"],
"default": "Canvas"
},
{
"property": "forcedColor",
"group": "lighting",
"label": "Forced Color",
description: "The color used when 'Forced' Lighting Mode is enabled",
"min": "0",
"max": "360",
"type": "color",
"default": "#009bde"
}
];
}
const vLedNames = ["Left", "Right"];
const vLedPositions = [
[0, 0],
[0, 1]
];
export function LedNames() {
return vLedNames;
}
export function LedPositions() {
return vLedPositions;
}
export function Initialize() {
device.send_report(
[
0x02, 0x00, 0x09, 0x12, 0xfa, 0x00, 0xff, 0x00, 0x00, 0xff, 0x09, 0x12,
0xfa, 0x00, 0xff, 0x7d, 0x00, 0xff, 0x09, 0x12, 0xfa, 0x00, 0xff, 0xff,
0x00, 0xff, 0x09, 0x12, 0xfa, 0x00, 0x7d, 0xff, 0x00, 0xff, 0x00, 0x00,
0x01, 0xff, 0x00
],
39
);
device.send_report([0x01, 0xff, 0xff], 5);
}
export function Render() {
sendColors();
}
export function Shutdown(SystemSuspending) {
const color = SystemSuspending ? "#000000" : shutdownColor;
sendColors(color);
}
function sendColors(overrideColor) {
const packet = [0x03];
for (let iIdx = 0; iIdx < vLedPositions.length; iIdx++) {
const iPxX = vLedPositions[iIdx][0];
const iPxY = vLedPositions[iIdx][1];
let col;
if (overrideColor) {
col = hexToRgb(overrideColor);
} else if (LightingMode === "Forced") {
col = hexToRgb(forcedColor);
} else {
col = device.color(iPxX, iPxY);
}
const ledIdx = iIdx * 4 + 1;
packet[ledIdx] = col[0];
packet[ledIdx + 1] = col[1];
packet[ledIdx + 2] = col[2];
packet[ledIdx + 3] = 0xff;
}
device.send_report(packet, 17);
}
export function Validate(endpoint) {
return endpoint.interface === 0 && endpoint.usage === 0x0001;
}
export function ImageUrl() {
return "https://cdn.shopify.com/s/files/1/0839/1026/3070/files/4-Sense-AIMO-XXL.png?v=1712009184&width=1200&height=675&crop=center";
}
TurtleBeach_AIMO_Wide_Mousepad.js
This plugin fully works. I can't fork and therefore can't PR
@HarDBR just the component. There arenโt just generic strips or generic fans, so Iโd love to be able to add the strip from search
https://github.com/delid4ve/signalrgb
I was only able to test the M3 which works flawlessly.
credits to delid4ve (Delid4ve) (github.com)