Plugin-eksporter
Vi bruger adskillige funktioner til kommunikation med backend-API’en, der overfører oplysninger som enhedsinfo og kørselstids-indgangspunkter, vist navn, canvas-dimensioner, produkt- og producent-ID’er til søgning, render-løkken osv.
”Name” og “Publisher”
Sektion kaldt “”Name” og “Publisher””Disse funktioner eksporterer enhedens navn og udgiveren til visning i SignalRGB.
export function Name() { return "Device Product name as a String"; };export function Publisher() { return "This is You! as a String"; };”VendorId” og “ProductId”
Sektion kaldt “”VendorId” og “ProductId””Disse funktioner bruges til at søge systemet for enheden. Begge er kodet som hex-værdier i formatet “0x ”. De skal præcist matche dine enheds-ID’er. Hvis dit plugin ikke vises i SignalRGB, skyldes det højst sandsynligt ikke-matchende producent- og produkt-ID. Det mindste der kræves for at en enhed genkendes i SignalRGB er et matchende producent- og produkt-ID.
export function VendorId() { return 0xABCD;}; //Device's USB Vendor Id in Hexexport function ProductId() { return 0xABCD;}; //Device's USB Product Id in Hex”Size” og positionering
Sektion kaldt “”Size” og positionering”Denne værdi angiver enhedsfelts grundstørrelse på canvas – før enhver skalering – som et todimensionalt array af heltal. Du kan ikke hente farver uden for disse grænser i dit plugin, så størrelsen skal indstilles til at rumme bredden og højden af enhedens LED’er, når du oversætter dem til et gitter.
export function Size() { return [X,Y]; };Disse funktioner angiver enhedens standardposition før enhver brugerindstilling. DefaultPosition returnerer 2D-koordinaterne for øverste venstre hjørne. DefaultScale returnerer skaleringsfaktoren på en skala fra 1,0 til 30,0.
export function DefaultPosition(){return [X,Y]};export function DefaultScale(){return 8.0};”Led Names”
Sektion kaldt “”Led Names””Denne funktion returnerer et todimensionalt array med alle LED-navne på enheden. Disse bør følge de understøttede tastenavn (placeret HER) for at understøtte tastanslags-effekter og LED-markeringsfunktioner.
var vLedNames = [ "Scroll Wheel", "Side Led 1","Side Led 2","Side Led 3","Side Led 4", "Side Led 5","logo", "Right Side Led", "Dpi 1","dpi 2","Dpi 3", "Battery indicator"];export function LedNames(){return vLedNames;};”Led Positions”
Sektion kaldt “”Led Positions””Denne funktion returnerer en matrix med de individuelle LED-positioner inden for enhedens pixel-buffer. Alle positioner skal ligge inden for de grænser der er fastsat af enhedens Size()-eksport.
var vLedPositions = [ [3,0], [0,1],[0,2],[0,3],[0,4],[0,5],[3,5],[5,5], [0,2],[0,1],[0,0], [3,1]];export function LedPositions(){return vLedPositions;};”ControllableParameters”
Sektion kaldt “”ControllableParameters””Denne funktion indeholder alle indstillinger for enhedens plugin. Disse indstillinger gemmes som JS/JSON-objekter der returneres inden for et array fra funktionen. Se Brugerkontroller for yderligere oplysninger.
export function ControllableParameters(){ return [ {SETTING}, {SETTING} ];}”Validate”
Sektion kaldt “”Validate””Denne funktion er ansvarlig for at specificere hvilke USB-endepunkter SignalRGB skal åbne og bruge til enheden. Hvert endepunkt har fire parametre til filtrering, der svarer til værdierne for hvert USB-endepunkt på enheden. Der kan “åbnes” flere endepunkter for hver enhed, men kun ét bruges ad gangen. For at skifte det aktive endepunkt, se device.set_endpoint().
Bemærk: Kommandoer skal typisk sendes til et bestemt endepunkt. Kommandoer der sendes til et endepunkt konfigureret af enheden til en bestemt rapport-ID eller længde, vil udløse fejl, hvis disse værdier ikke stemmer overens.
Bemærk: Ikke alle enheder bruger konsistente endepunkter afhængigt af fremstillingssted og -tidspunkt. Ved at validere flere endepunkter kan du automatisk falde tilbage til et andet om nødvendigt.
| Tilgængelige parametre |
|---|
| interface |
| usage |
| usage_page |
| collection |
export function Validate(endpoint){ return (endpoint.interface === 2 && endpoint.collection === 0x0003) || endpoint.interface === 1;
}”Type”
Sektion kaldt “”Type””Denne funktion angiver den USB-protokoltype der skal bruges. De fleste enheder bruger HID-protokoller, men nogle enheder som AIO’er bruger Raw-USB-styrefunktioner i stedet.
Bemærk: Standardværdien, hvis denne funktion ikke er tilgængelig for SignalRGB, er HID-protokollen.
| Protokol | Strengværdi |
|---|---|
| HID | ”HID” |
| Lib/raw USB | ”RAWUSB" |
export function Type() { return "Hid"; }"ConflictingProcesses”
Sektion kaldt “"ConflictingProcesses””Denne funktion eksporterer en liste af modstridende exe-navne. SignalRGB initialiserer ikke pluginet, mens en af disse processer kører. Pluginet initialiseres, når den modstridende proces lukkes, eller fejlmeddelelsen omgås af brugeren.
Bemærk: Disse navne skal præcist matche det kørende exe-navn.
export function ConflictingProcesses() { return ["NGenuity2.exe"];}”ImageUrl”
Sektion kaldt “”ImageUrl””Denne funktion returnerer enhedens billedurl-streng. Standard plugin-billedstørrelsen er 1024x1024 pixels med et anvendeligt område på 920x920.
export function ImageUrl(){ return "URL image string";}