Eksport Plugin
Kami menggunakan beberapa fungsi untuk berkomunikasi dengan API bahagian belakang yang menyampaikan maklumat seperti maklumat peranti dan titik masuk masa jalan, nama paparan, dimensi kanvas, ID produk dan vendor untuk carian, gelung render dan sebagainya.
”Name” dan “Publisher”
Section titled “”Name” dan “Publisher””Fungsi-fungsi ini mengeksport nama peranti dan penerbit untuk dipaparkan dalam SignalRGB.
export function Name() { return "Device Product name as a String"; };export function Publisher() { return "This is You! as a String"; };”VendorId” dan “ProductId”
Section titled “”VendorId” dan “ProductId””Fungsi-fungsi ini digunakan untuk mencari peranti pada sistem. Kedua-duanya dikodkan sebagai nilai hex dalam format “0x”. Ia mesti sepadan tepat dengan ID peranti Anda. Jika plugin Anda tidak muncul dalam SignalRGB, kemungkinan besar ini disebabkan oleh ID vendor dan produk yang tidak sepadan. Perkara minimum yang diperlukan untuk mengesan peranti dalam SignalRGB ialah ID vendor dan produk yang sepadan.
export function VendorId() { return 0xABCD;}; //Device's USB Vendor Id in Hexexport function ProductId() { return 0xABCD;}; //Device's USB Product Id in Hex”Size” dan Kedudukan
Section titled “”Size” dan Kedudukan”Nilai ini menetapkan saiz asas medan peranti pada kanvas — sebelum sebarang penskalaan — sebagai array dua dimensi integer. Anda tidak dapat mendapatkan warna di luar sempadan ini dalam plugin Anda, jadi saiz mesti ditetapkan untuk menampung lebar dan ketinggian LED peranti apabila Anda menterjemahkannya ke dalam grid.
export function Size() { return [X,Y]; };Fungsi-fungsi ini menetapkan kedudukan lalai peranti sebelum sebarang penyesuaian pengguna. DefaultPosition mengembalikan koordinat 2D sudut kiri atas. DefaultScale mengembalikan pengganda penskalaan pada skala 1.0 hingga 30.0.
export function DefaultPosition(){return [X,Y]};export function DefaultScale(){return 8.0};”Led Names”
Section titled “”Led Names””Fungsi ini mengembalikan array dua dimensi semua nama LED pada peranti. Ini harus mengikuti nama kekunci yang disokong (Located HERE) untuk menyokong kesan tekanan kekunci dan fungsi penandaan LED.
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”
Section titled “”Led Positions””Fungsi ini mengembalikan matriks kedudukan LED individu dalam penimbal piksel peranti. Semua kedudukan mesti berada dalam sempadan yang ditetapkan oleh eksport Size() peranti.
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”
Section titled “”ControllableParameters””Fungsi ini mengandungi semua tetapan untuk plugin peranti. Tetapan ini disimpan sebagai objek JS/JSON yang dikembalikan dalam array dari fungsi. Untuk maklumat lanjut, lihat Kawalan Pengguna.
export function ControllableParameters(){ return [ {SETTING}, {SETTING} ];}”Validate”
Section titled “”Validate””Fungsi ini bertanggungjawab untuk menentukan endpoint USB mana yang harus dibuka dan digunakan oleh SignalRGB untuk peranti. Setiap endpoint mempunyai empat parameter untuk penapisan yang sepadan dengan nilai setiap endpoint USB pada peranti. Berbilang endpoint boleh “dibuka” untuk setiap peranti, tetapi hanya satu yang digunakan pada satu masa. Untuk menukar endpoint aktif, lihat device.set_endpoint().
Nota: Arahan biasanya perlu dihantar ke endpoint tertentu. Arahan yang dihantar ke endpoint yang dikonfigurasi peranti untuk ID laporan atau panjang tertentu akan mencetuskan ralat jika nilai-nilai ini tidak sepadan.
Nota: Tidak semua peranti menggunakan endpoint yang konsisten bergantung pada lokasi dan masa pembuatan. Dengan mengesahkan berbilang endpoint, Anda boleh jatuh balik secara automatik ke endpoint lain jika perlu.
| Parameter yang Tersedia |
|---|
| interface |
| usage |
| usage_page |
| collection |
export function Validate(endpoint){ return (endpoint.interface === 2 && endpoint.collection === 0x0003) || endpoint.interface === 1;
}”Type”
Section titled “”Type””Fungsi ini menetapkan jenis protokol USB yang hendak digunakan. Kebanyakan peranti menggunakan protokol HID, tetapi sesetengah peranti seperti AIO menggunakan fungsi kawalan USB mentah.
Nota: Nilai lalai apabila fungsi ini tidak tersedia untuk SignalRGB ialah protokol HID.
| Protokol | Nilai String |
|---|---|
| HID | ”HID” |
| Lib/raw USB | ”RAWUSB" |
export function Type() { return "Hid"; }"ConflictingProcesses”
Section titled “"ConflictingProcesses””Fungsi ini mengeksport senarai nama exe yang bercanggah. SignalRGB tidak akan menginisialisasi plugin semasa mana-mana proses ini berjalan. Plugin akan diinisialisasi apabila proses yang bercanggah ditutup atau mesej ralat diabaikan oleh pengguna.
Nota: Nama-nama ini mesti sepadan tepat dengan nama exe yang berjalan.
export function ConflictingProcesses() { return ["NGenuity2.exe"];}”ImageUrl”
Section titled “”ImageUrl””Fungsi ini mengembalikan string url imej peranti. Saiz imej plugin lalai ialah 1024x1024 piksel dengan kawasan boleh guna 920x920.
export function ImageUrl(){ return "URL image string";}