صادرات الإضافة
نستخدم عدة دوال للتواصل مع واجهة البرمجة الخلفية، وهي تُبلغ عن معلومات مثل معلومات الجهاز ونقاط الدخول أثناء التشغيل، واسم العرض، وأبعاد اللوحة، ومعرّفات المنتج والشركة المصنّعة المراد البحث عنها، وماهية حلقة العرض، وما إلى ذلك.
”Name” و”Publisher”
Section titled “”Name” و”Publisher””تُصدّر هذه الدوال اسم الجهاز والناشر ليُعرضا في SignalRGB.
export function Name() { return "Device Product name as a String"; };export function Publisher() { return "This is You! as a String"; };”VendorId” و”ProductId”
Section titled “”VendorId” و”ProductId””تُستخدم هذه الدوال للبحث عن الجهاز في النظام. كلاهما مُرمَّز بقيم سداسية عشرية بالصيغة “0x ”. ويجب أن يتطابقا تمامًا مع معرّفات جهازك. إذا لم تظهر إضافتك في SignalRGB، فالسبب الأرجح هو عدم تطابق معرّف الشركة المصنّعة ومعرّف المنتج. الحد الأدنى المطلوب لاكتشاف جهاز في SignalRGB هو تطابق معرّف الشركة المصنّعة ومعرّف المنتج.
export function VendorId() { return 0xABCD;}; //Device's USB Vendor Id in Hexexport function ProductId() { return 0xABCD;}; //Device's USB Product Id in Hex”Size” والتموضع
Section titled “”Size” والتموضع”يضبط هذا الحجم الأساسي لمربع الجهاز على اللوحة — قبل أي تحجيم — كمصفوفة ثنائية البعد تحتوي على أعداد صحيحة فقط. لا يمكنك جلب الألوان خارج هذه الحدود في إضافتك، لذا يجب ضبط الحجم بحيث يستوعب عرض مصابيح 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 Names”
Section titled “”Led Names””تُرجع هذه الدالة مصفوفة بجميع أسماء مصابيح 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 Positions”
Section titled “”Led Positions””تُرجع هذه الدالة مصفوفة بمواضع مصابيح 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;};”ControllableParameters”
Section titled “”ControllableParameters””تحتوي هذه الدالة على جميع إعدادات إضافة الجهاز. تُخزَّن هذه الإعدادات ككائنات JS/JSON تُرجعها الدالة داخل مصفوفة. راجع عناصر تحكم المستخدم لمزيد من المعلومات.
export function ControllableParameters(){ return [ {SETTING}, {SETTING} ];}”Validate”
Section titled “”Validate””هذه الدالة مسؤولة عن تحديد نقاط نهاية 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;
}”Type”
Section titled “”Type””تضبط هذه الدالة نوع بروتوكول USB المراد استخدامه. تستخدم معظم الأجهزة بروتوكولات HID، لكن بعض الأجهزة مثل مبرّدات AIO تستخدم دوال تحكم USB الخام بدلًا من ذلك.
ملاحظة: القيمة الافتراضية عندما لا تكون هذه الدالة متاحة لـ SignalRGB هي بروتوكول HID.
| البروتوكول | قيمة السلسلة النصية |
|---|---|
| HID | ”HID” |
| Lib/raw USB | ”RAWUSB" |
export function Type() { return "Hid"; }"ConflictingProcesses”
Section titled “"ConflictingProcesses””تُصدّر هذه الدالة قائمة بأسماء ملفات exe المتعارضة. لن يهيّئ SignalRGB الإضافة أثناء تشغيل أي منها. ستُهيَّأ الإضافة عند إغلاق العملية المتعارضة أو عندما يتجاوز المستخدم رسالة الخطأ.
ملاحظة: يجب أن تتطابق هذه الأسماء تمامًا مع اسم ملف exe قيد التشغيل.
export function ConflictingProcesses() { return ["NGenuity2.exe"];}”ImageUrl”
Section titled “”ImageUrl””تُرجع هذه الدالة سلسلة رابط صورة الجهاز. الحجم القياسي لصورة الإضافة هو 1024x1024 مع منطقة عرض فعلية بحجم 920x920.
export function ImageUrl(){ return "URL image string";}