跳到內容

外掛程式匯出

我們使用幾個函式與後端 API 通訊,這些函式回報裝置資訊和執行時間入口點、顯示名稱、canvas 尺寸、要搜尋的產品和供應商 ID、渲染迴圈是什麼等資訊。

這些函式匯出要在 SignalRGB 中顯示的裝置名稱和發布者。

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

這些函式用於在系統中搜尋裝置。兩者都以「0x」格式的十六進位值編碼。這些需要與您的裝置 ID 完全匹配。如果您的外掛程式未在 SignalRGB 中顯示,最可能的原因是供應商和產品 ID 不匹配。在 SignalRGB 中偵測裝置所需的最低限度是匹配的供應商和產品 ID。

export function VendorId() { return 0xABCD;}; //裝置的 USB 供應商 ID(十六進位)
export function ProductId() { return 0xABCD;}; //裝置的 USB 產品 ID(十六進位)

這設定裝置在 canvas 上的方框基本大小——在任何縮放之前——作為僅整數的 2D 陣列。您在外掛程式中無法取得這些範圍之外的顏色,因此大小必須設定為適應將 LED 轉換為網格時裝置 LED 的寬度和高度。

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

這些函式將在任何使用者自訂之前設定裝置的預設位置。DefaultPosition 返回左上角的 2D 座標。DefaultScale 返回 1.0-30.0 範圍內的縮放乘數。

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

此函式返回裝置上所有 LED 名稱的 2D 陣列。這些應遵循支援的按鍵名稱(位於此處)以支援按鍵特效和 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 位置的矩陣。所有位置必須在裝置 Size() 匯出設定的範圍內。

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

此函式包含裝置外掛程式的所有設定。這些設定儲存為由函式以陣列形式返回的 JS/JSON 物件。更多資訊請參閱使用者控制項

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

此函式負責確定 SignalRGB 希望為裝置開啟和使用哪些 USB 端點。每個端點都有四個參數作為篩選器,對應裝置上每個 USB 端點的值。可以為每個裝置「開啟」多個端點,但一次只使用一個。要更改活動端點,請參閱 device.set_endpoint()

注意:命令通常需要發送到特定端點。如果這些值不匹配,發送到配置為接受特定報告 ID 或長度的端點的命令將拋出錯誤。

注意:並非所有裝置都會使用一致的端點,這取決於裝置製造的地點和時間。驗證多個端點可讓您在需要時自動回退。

可用參數
interface
usage
usage_page
collection
export function Validate(endpoint)
{
return (endpoint.interface === 2 && endpoint.collection === 0x0003) ||
endpoint.interface === 1;
}

此函式設定要使用的 USB 協定類型。大多數裝置使用 HID 協定,但某些裝置(如 AIO)將使用原始 USB 控制函式代替。

注意:當此函式對 SignalRGB 不可用時,預設值為 HID 協定。

協定字串值
HID”HID”
Lib/原始 USB”RAWUSB"
export function Type() { return "Hid"; }

此函式匯出衝突的 exe 名稱列表。當其中一個正在執行時,SignalRGB 將不會初始化外掛程式。當衝突的處理程序關閉或使用者繞過錯誤訊息時,外掛程式將被初始化。

注意:這些名稱必須與正在執行的 exe 名稱完全匹配。

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

此函式返回裝置的圖片 URL 字串。標準外掛程式圖片大小為 1024x1024,有效區域為 920x920。

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