Zum Inhalt springen

LED-Positionen zuordnen

Wir haben jetzt ein voll funktionsfähiges Gerät, aber unsere LEDs sind nicht korrekt zugeordnet.

Um unsere LED-Positionen in SignalRGB zuzuordnen, müssen wir das Mal-Werkzeug verwenden.

Um das Mal-Werkzeug zu verwenden, müssen wir SignalRGB öffnen.

Dann müssen wir zur Geräteseite gehen und unser Gerät aufrufen.

Jetzt müssen wir auf die Pinsel-Registerkarte klicken und auf das Pinsel-Symbol klicken.

Jetzt werden wir damit beginnen, unsere LEDs zu malen, und während wir jede einzelne malen, benennen wir jede LED in unserem Plugin entsprechend ihrer Entsprechung auf dem Gerät.

Nach dem Malen aller LEDs erhalten wir die unten gezeigte Zuordnung.

var vLedNames = [ "Logo", "Scroll Wheel", "Keypad", "Front", "DPI Indicator Light" ];
var vLedPositions = [ [0,0], [1,0], [2,0], [3,0], [4,0] ];

Jetzt sind alle unsere LEDs korrekt benannt, aber wir müssen sie noch in Bezug auf ihre physische Position auf dem Gerät korrekt zuordnen.

Um unsere LEDs zuzuordnen, müssen wir verstehen, wie das Zuordnungssystem funktioniert. Das Positionssystem funktioniert als [x,y]. Das bedeutet, dass die erste Position (x) angibt, wie weit rechts die LED von der linken Seite des Geräte-Rechtecks auf der Effekt-Canvas positioniert ist. Die zweite Position (y) gibt an, wie weit unten die LED von der Oberkante des Geräte-Rechtecks auf der Effekt-Canvas positioniert ist.

Mithilfe dieser Informationen und der physischen Position unserer LEDs erhalten wir die folgende korrekte Zuordnung.

var vLedNames = [ "Logo", "Scroll Wheel", "Keypad", "Front", "DPI Indicator Light" ];
var vLedPositions = [ [1,2], [1,0], [0,1], [2,0], [0,0] ];

Jetzt, da wir eine korrekte Zuordnung für unsere LEDs haben, müssen wir auch die Größe des Geräte-Rechtecks ändern, um die tatsächliche Größe unseres Geräts korrekt darzustellen.

Denken Sie daran, dass unsere Gerätegröße in jede Richtung um eins größer sein muss als unsere am weitesten entfernte Position. Das bedeutet, dass in unserem Fall die Gerätegröße [3,3] sein muss, da meine am weitesten entfernten Positionen in jede Richtung [2,2] sind.

export function Name() { return "Corsair Scimitar Pro"; }
export function VendorId() { return 0x1b1c; }
export function ProductId() { return 0x1B3E; }
export function Publisher() { return "WhirlwindFX"; }
export function Size() { return [3,3]; }
export function DefaultPosition(){return [10, 100]; }
export function DefaultScale(){return 8.0}

Jetzt haben wir ein voll funktionsfähiges Geräte-Plugin, dem jedoch noch ein Gerätebild fehlt.