تخطَّ إلى المحتوى

صادرات الإضافة

نستخدم عدة دوال للتواصل مع واجهة البرمجة الخلفية، وهي تُبلغ عن معلومات مثل معلومات الجهاز ونقاط الدخول أثناء التشغيل، واسم العرض، وأبعاد اللوحة، ومعرّفات المنتج والشركة المصنّعة المراد البحث عنها، وماهية حلقة العرض، وما إلى ذلك.

تُصدّر هذه الدوال اسم الجهاز والناشر ليُعرضا في SignalRGB.

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

تُستخدم هذه الدوال للبحث عن الجهاز في النظام. كلاهما مُرمَّز بقيم سداسية عشرية بالصيغة “0x ”. ويجب أن يتطابقا تمامًا مع معرّفات جهازك. إذا لم تظهر إضافتك في SignalRGB، فالسبب الأرجح هو عدم تطابق معرّف الشركة المصنّعة ومعرّف المنتج. الحد الأدنى المطلوب لاكتشاف جهاز في SignalRGB هو تطابق معرّف الشركة المصنّعة ومعرّف المنتج.

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

يضبط هذا الحجم الأساسي لمربع الجهاز على اللوحة — قبل أي تحجيم — كمصفوفة ثنائية البعد تحتوي على أعداد صحيحة فقط. لا يمكنك جلب الألوان خارج هذه الحدود في إضافتك، لذا يجب ضبط الحجم بحيث يستوعب عرض مصابيح LED في الجهاز وارتفاعها عند تحويلها إلى شبكة.

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

تضبط هذه الدوال الموضع الافتراضي للجهاز قبل أي تخصيص من المستخدم. تُرجع DefaultPosition الإحداثيات ثنائية البعد للزاوية العلوية اليسرى. وتُرجع DefaultScale مُضاعِف التحجيم على مقياس من 1.0 إلى 30.0.

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

تُرجع هذه الدالة مصفوفة بجميع أسماء مصابيح LED في الجهاز. يجب أن تتبع هذه الأسماء أسماء المفاتيح المدعومة الموجودة هنا لدعم تأثيرات الضغط على المفاتيح وميزات تلوين مصابيح 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}
];
}

هذه الدالة مسؤولة عن تحديد نقاط نهاية USB التي يريد SignalRGB فتحها واستخدامها للجهاز. سيكون لكل نقطة نهاية أربعة معاملات تُستخدم كعوامل تصفية تقابل قيم كل نقطة نهاية USB في الجهاز. يمكن ‘فتح’ نقاط نهاية متعددة لكل جهاز، لكن تُستخدم واحدة فقط في كل مرة. لتغيير نقطة النهاية النشطة، راجع device.set_endpoint().

ملاحظة: ستحتاج الأوامر عادةً إلى إرسالها إلى نقطة نهاية محددة. الأوامر المرسلة إلى نقطة نهاية هيّأها الجهاز لاستقبال معرّف تقرير أو طول معيّن ستُطلق أخطاء إذا لم تتطابق تلك القيم.

ملاحظة: لن تستخدم جميع الأجهزة نقاط نهاية ثابتة، تبعًا لمكان وزمان تصنيع الجهاز. يتيح لك التحقق من نقاط نهاية متعددة الرجوع تلقائيًا إلى بديل عند الحاجة.

المعاملات المتاحة
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/raw USB”RAWUSB"
export function Type() { return "Hid"; }

تُصدّر هذه الدالة قائمة بأسماء ملفات exe المتعارضة. لن يهيّئ SignalRGB الإضافة أثناء تشغيل أي منها. ستُهيَّأ الإضافة عند إغلاق العملية المتعارضة أو عندما يتجاوز المستخدم رسالة الخطأ.

ملاحظة: يجب أن تتطابق هذه الأسماء تمامًا مع اسم ملف exe قيد التشغيل.

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

تُرجع هذه الدالة سلسلة رابط صورة الجهاز. الحجم القياسي لصورة الإضافة هو 1024x1024 مع منطقة عرض فعلية بحجم 920x920.

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