Bỏ qua để đến nội dung

Ánh xạ vị trí LED

Bây giờ chúng ta có một thiết bị hoàn toàn chức năng, nhưng các LED chưa được ánh xạ đúng cách.

Để ánh xạ vị trí LED trong SignalRGB, chúng ta cần sử dụng công cụ vẽ.

Để sử dụng công cụ vẽ, chúng ta cần mở SignalRGB.

Sau đó chúng ta cần đến trang thiết bị và mở thiết bị của mình.

Bây giờ chúng ta cần nhấp vào tab cọ vẽ và nhấp vào biểu tượng cọ vẽ.

Bây giờ chúng ta sẽ bắt đầu vẽ các LED, và khi vẽ từng LED, chúng ta đặt tên cho từng LED trong plugin theo thành phần tương ứng của nó trên thiết bị.

Sau khi vẽ tất cả các LED, chúng ta nhận được ánh xạ hiển thị bên dưới.

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

Bây giờ tất cả các LED đã được đặt tên đúng cách, nhưng chúng ta vẫn cần ánh xạ chúng đúng cách theo vị trí vật lý của chúng trên thiết bị.

Để ánh xạ các LED, chúng ta cần hiểu cách hệ thống ánh xạ hoạt động. Hệ thống vị trí hoạt động như [x,y]. Điều đó có nghĩa là vị trí đầu tiên (x) chỉ ra LED cách bao xa từ cạnh trái của hình chữ nhật thiết bị trên canvas hiệu ứng. Vị trí thứ hai (y) chỉ ra LED cách bao xa từ cạnh trên của hình chữ nhật thiết bị trên canvas hiệu ứng.

Sử dụng thông tin này và vị trí vật lý của các LED, chúng ta nhận được ánh xạ đúng sau đây.

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

Bây giờ chúng ta đã có ánh xạ đúng cho các LED, chúng ta cũng phải thay đổi kích thước hình chữ nhật thiết bị để hiển thị đúng kích thước thực tế của thiết bị.

Lưu ý rằng kích thước thiết bị phải lớn hơn một so với vị trí xa nhất của chúng ta theo mỗi hướng. Điều đó có nghĩa là trong trường hợp của chúng ta, kích thước thiết bị phải là [3,3], vì các vị trí xa nhất của tôi theo mỗi hướng là [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}

Bây giờ chúng ta có một plugin thiết bị hoàn toàn chức năng, nhưng nó vẫn thiếu hình ảnh thiết bị.