Lewati ke konten

Plugin Exports

Kami menggunakan beberapa fungsi untuk berkomunikasi dengan back-end API yang melaporkan informasi seperti informasi perangkat dan titik masuk runtime, nama tampilan, dimensi canvas, ID produk dan vendor yang akan dicari, apa loop render-nya, dan sebagainya.

Fungsi-fungsi ini mengekspor nama perangkat dan publisher yang akan ditampilkan di SignalRGB.

export function Name() { return "Device Product name as a String"; };
export function Publisher() { return "This is You! as a String"; };

Fungsi-fungsi ini digunakan untuk mencari perangkat di sistem. Keduanya dikodekan dalam nilai hex dengan format “0x ”. Nilai-nilai ini harus persis cocok dengan ID perangkat Anda. Jika plugin Anda tidak muncul di SignalRGB, kemungkinan besar ini disebabkan oleh vendor dan product ID yang tidak cocok. Hal minimum yang diperlukan untuk mendeteksi perangkat di SignalRGB adalah vendor dan product Id yang cocok.

export function VendorId() { return 0xABCD;}; //Device's USB Vendor Id in Hex
export function ProductId() { return 0xABCD;}; //Device's USB Product Id in Hex

Ini mengatur ukuran dasar kotak perangkat di canvas — sebelum penskalaan apa pun — sebagai array 2D yang hanya berisi integer. Anda tidak dapat mengambil warna di luar batas ini dalam plugin Anda, sehingga ukuran harus diatur untuk mengakomodasi lebar dan tinggi LED perangkat saat Anda menerjemahkannya ke dalam grid.

export function Size() { return [X,Y]; };

Fungsi-fungsi ini akan mengatur posisi default perangkat sebelum kustomisasi pengguna apa pun. DefaultPosition mengembalikan koordinat 2D dari sudut kiri atas. DefaultScale mengembalikan pengganda penskalaan pada skala 1.0-30.0.

export function DefaultPosition(){return [X,Y]};
export function DefaultScale(){return 8.0};

Fungsi ini mengembalikan array 2D dari semua nama LED di perangkat. Nama-nama ini harus mengikuti Nama Kunci yang Didukung di sini untuk mendukung efek penekanan tombol dan fitur pengecatan 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;};

Fungsi ini mengembalikan matriks posisi LED individual dalam buffer piksel perangkat. Semua posisi harus berada dalam batas yang ditetapkan oleh ekspor Size() perangkat.

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;};

Fungsi ini berisi semua pengaturan untuk plugin perangkat. Pengaturan ini disimpan sebagai objek JS/JSON yang dikembalikan di dalam array oleh fungsi. Lihat User Controls untuk informasi lebih lanjut.

export function ControllableParameters(){
return [
{SETTING},
{SETTING}
];
}

Fungsi ini bertanggung jawab untuk menentukan endpoint USB mana yang ingin dibuka dan digunakan oleh SignalRGB untuk perangkat. Setiap endpoint akan memiliki empat parameter sebagai filter yang sesuai dengan nilai setiap endpoint USB pada perangkat. Beberapa endpoint dapat ‘dibuka’ untuk setiap perangkat tetapi hanya satu yang digunakan pada satu waktu. Untuk mengubah endpoint aktif, lihat device.set_endpoint().

Catatan: Perintah biasanya perlu dikirim ke endpoint tertentu. Perintah yang dikirim ke endpoint yang dikonfigurasi perangkat untuk menerima report id atau panjang tertentu akan mengeluarkan error jika nilai-nilai tersebut tidak cocok.

Catatan: Tidak semua perangkat akan menggunakan endpoint yang konsisten tergantung di mana dan kapan perangkat dibuat. Memvalidasi beberapa endpoint memungkinkan Anda untuk otomatis beralih jika diperlukan.

Parameter yang Tersedia
interface
usage
usage_page
collection
export function Validate(endpoint)
{
return (endpoint.interface === 2 && endpoint.collection === 0x0003) ||
endpoint.interface === 1;
}

Fungsi ini mengatur tipe protokol USB yang akan digunakan. Sebagian besar perangkat menggunakan protokol HID, tetapi beberapa perangkat seperti AIO akan menggunakan fungsi kontrol Raw USB.

Catatan: Nilai default ketika fungsi ini tidak tersedia untuk SignalRGB adalah protokol HID.

ProtokolNilai String
HID”HID”
Lib/raw USB”RAWUSB"
export function Type() { return "Hid"; }

Fungsi ini mengekspor daftar nama exe yang berkonflik. SignalRGB tidak akan menginisialisasi plugin saat salah satu dari ini sedang berjalan. Plugin akan diinisialisasi ketika proses yang berkonflik ditutup atau pesan error dilewati oleh pengguna.

Catatan: Nama-nama ini harus persis cocok dengan nama exe yang sedang berjalan.

export function ConflictingProcesses() {
return ["NGenuity2.exe"];
}

Fungsi ini mengembalikan string URL gambar perangkat. Ukuran gambar plugin standar adalah 1024x1024 dengan area live 920x920.

export function ImageUrl(){ return "URL image string";}