콘텐츠로 이동

플러그인 내보내기

장치 정보 및 런타임 진입점, 표시 이름, 캔버스 크기, 검색할 제품/공급업체 ID, 렌더 루프 등을 보고하는 백엔드 API와 통신하기 위해 여러 함수를 사용합니다.

이 함수들은 SignalRGB에 표시될 장치의 이름과 게시자를 내보냅니다.

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

이 함수들은 시스템에서 장치를 검색하는 데 사용됩니다. 둘 다 “0x ” 형식의 16진수 값으로 인코딩됩니다. 장치 ID와 정확히 일치해야 합니다. SignalRGB에 플러그인이 표시되지 않는다면 공급업체 및 제품 ID가 일치하지 않는 것이 가장 일반적인 원인입니다. SignalRGB에서 장치를 감지하는 데 필요한 최소 요건은 일치하는 공급업체 및 제품 ID입니다.

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

사용자 지정 전 캔버스에서의 장치 박스 기본 크기를 2D 정수 배열로 설정합니다. 크기는 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와 같은 일부 장치는 대신 Raw USB 제어 함수를 사용합니다.

참고: 이 함수가 SignalRGB에서 사용할 수 없는 경우 기본값은 HID 프로토콜입니다.

프로토콜문자열 값
HID”HID”
Lib/raw 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";}