Перейти к содержимому

Привязка позиций светодиодов

Теперь у нас есть полностью функциональное устройство, но светодиоды не отображены должным образом.

Для привязки позиций светодиодов в SignalRGB нужно использовать инструмент покраски.

Для этого откройте SignalRGB.

Затем перейдите на страницу устройств и откройте нужное устройство.

Нажмите вкладку с кисточкой и щёлкните по значку кисточки.

Теперь начнём красить светодиоды, и по мере окрашивания каждого будем называть его в плагине в соответствии с тем, что ему соответствует на устройстве.

После окрашивания всех светодиодов получаем привязку, показанную ниже.

var vLedNames = [ "Logo", "Scroll Wheel", "Keypad", "Front", "DPI Indicator Light" ];
var vLedPositions = [ [0,0], [1,0], [2,0], [3,0], [4,0] ];

Теперь все светодиоды правильно названы, но ещё нужно правильно привязать их относительно физического расположения на устройстве.

Для привязки светодиодов нужно понять, как работает система позиционирования. Система позиций работает по принципу [x,y]. Первая позиция (x) — расстояние вправо от левой стороны прямоугольника устройства на canvas эффектов. Вторая позиция (y) — расстояние вниз от верхней части прямоугольника устройства на canvas эффектов.

Используя эту информацию и учитывая физическое расположение светодиодов, получаем правильную привязку, показанную ниже.

var vLedNames = [ "Logo", "Scroll Wheel", "Keypad", "Front", "DPI Indicator Light" ];
var vLedPositions = [ [1,2], [1,0], [0,1], [2,0], [0,0] ];

Теперь, когда у нас правильная привязка светодиодов, нужно также изменить размер прямоугольника устройства для корректного представления его размеров.

Помните, что размер устройства должен быть на единицу больше дальнейших позиций в каждом направлении. В нашем случае размер устройства должен быть [3,3], так как дальнейшие позиции в каждом направлении — [2,2].

export function Name() { return "Corsair Scimitar Pro"; }
export function VendorId() { return 0x1b1c; }
export function ProductId() { return 0x1B3E; }
export function Publisher() { return "WhirlwindFX"; }
export function Size() { return [3,3]; }
export function DefaultPosition(){return [10, 100]; }
export function DefaultScale(){return 8.0}

Теперь у нас полностью функциональный плагин устройства, но ему всё ещё не хватает изображения устройства.