ข้ามไปยังเนื้อหา

เฟิร์มแวร์ QMK ของ SRGBmods

ขอบคุณทีมผู้ดูแลของเรา ตอนนี้คีย์บอร์ดส่วนใหญ่ที่ QMK รองรับมีเฟิร์มแวร์ที่คอมไพล์ไว้ล่วงหน้าให้ชุมชนใช้งานแล้ว (คีย์บอร์ดต้องรองรับ RGB Matrix ของ QMK จึงจะได้รับการรองรับ) ซอร์สโค้ด GPL สำหรับสร้างเฟิร์มแวร์นี้ดูได้ที่นี่

ไฟล์เฟิร์มแวร์ดูได้ที่นี่

เราขอแนะนำให้คุณลองเวอร์ชัน VIA ก่อน เนื่องจากจะช่วยให้คุณแก้ไขปัญหาการจับคู่ปุ่มได้

(อย่าลืมสำรองเลย์เอาต์ปัจจุบันของคุณด้วย VIA ก่อนแฟลช เพื่อให้คุณสามารถกู้คืนได้ภายหลัง!)

โดยปกติผู้ผลิตคีย์บอร์ดของคุณจะมีคำแนะนำในการแฟลชเฟิร์มแวร์ให้ หากคำแนะนำนั้นใช้ QMK Toolbox ให้แน่ใจว่าคุณเรียกใช้ QMK Toolbox ในฐานะผู้ดูแลระบบ และติดตั้งไดรเวอร์ภายใน QMK Toolbox!

คุณยังสามารถขอความช่วยเหลือได้ในช่อง QMK บน Discord นี้ (โปรดถามเฉพาะใน Discord ที่ลิงก์ไว้เท่านั้น หากถามใน Discord หลักของ QMK คุณจะได้รับคำตอบให้มาถามเรา! - ซึ่งน่าหงุดหงิดแน่นอน…)

เมื่อคุณแฟลชคีย์บอร์ดเสร็จแล้ว ให้อ่านคู่มือด้านล่างเพื่อเริ่มต้นสร้างปลั๊กอินคีย์บอร์ด


ตั้งแต่ SignalRGB 2.3.20 ขึ้นไป รีโพสิทอรีส่วนเสริม QMK Plugins จะเปิดใช้งานโดยค่าเริ่มต้น อย่างไรก็ตาม ในการตั้งค่าของส่วนเสริมนี้มีหลาย branch ที่อาจเปิดใช้งานการรองรับคีย์บอร์ดของคุณได้ ภายใน SignalRGB ให้ไปที่ การตั้งค่า / การตั้งค่าส่วนเสริม / QMK-Plugins:

Main ถูกเลือกไว้โดยค่าเริ่มต้นและมีปลั๊กอินที่ทราบกันดีว่าใช้งานได้ ส่วน branch อื่น ๆ มีคำอธิบายในตัว… หากคุณยังไม่สามารถทำให้คีย์บอร์ดทำงานได้หลังจากเลือก branch ใด ๆ แล้ว คุณอาจต้องสร้างปลั๊กอินผู้ใช้ ดูคำแนะนำด้านล่าง:

  1. หลังจากแฟลชคีย์บอร์ดแล้ว คุณต้องแก้ไขปลั๊กอินคีย์บอร์ดด้านล่างเพื่อให้ SignalRGB ทำงานกับคีย์บอร์ดของคุณได้
  • ดาวน์โหลดปลั๊กอินคีย์บอร์ดตัวอย่างได้ที่นี่: QMK_Keyboard_Example.js
  • ดาวน์โหลดเทมเพลตปลั๊กอินเพิ่มเติม (Full, TKL, 96%, 75%, 65%, 64%, 60% ฯลฯ) ได้ที่นี่
  • หลังจากดาวน์โหลดปลั๊กอินคีย์บอร์ดจากแหล่งใดแหล่งหนึ่งข้างต้นแล้ว ให้เปิดด้วยโปรแกรมแก้ไขข้อความ
export function Name() { return "QMK Keyboard"; }
export function VendorId() { return 0x0000; }
export function ProductId() { return 0x0000; }
export function Publisher() { return "WhirlwindFX"; }
export function Size() { return [21, 6]; }
export function DefaultPosition(){return [10, 100]; }
export function DefaultScale(){return 8.0}
export function ControllableParameters() {
return [
{"property":"shutdownColor", "group":"lighting", "label":"Shutdown Color", "min":"0", "max":"360", "type":"color", "default":"009bde"},
{"property":"LightingMode", "group":"lighting", "label":"Lighting Mode", "type":"combobox", "values":["Canvas", "Forced"], "default":"Canvas"},
{"property":"forcedColor", "group":"lighting", "label":"Forced Color", "min":"0", "max":"360", "type":"color", "default":"009bde"},
];
}
  1. หลังจากเปิดปลั๊กอินคีย์บอร์ดแล้ว คุณจะเห็นหน้าจอคล้ายกับด้านบน
  • คุณจะต้องกรอกข้อมูลในบางฟิลด์ โดยเริ่มจากฟิลด์ Name
  • ฟิลด์ Name ต้องกรอกด้วยชื่อของคีย์บอร์ดที่คุณพัฒนาเฟิร์มแวร์ให้
export function Name() { return "Massdrop CTRL QMK Keyboard"; }
  1. ถัดไป เราต้องกรอก VendorId ของคีย์บอร์ด (คุณสามารถข้ามขั้นตอนตามภาพหน้าจอสองขั้นต่อไปนี้ได้ด้วยลิงก์นี้)
  • หากต้องการหา VendorId ของคีย์บอร์ด ให้เปิด SignalRGB
  • จากนั้นคลิกไอคอนรูปเฟืองการตั้งค่าที่มุมล่างซ้าย

จากนั้นคลิก ข้อมูลอุปกรณ์

ค้นหาคีย์บอร์ดของคุณ และจด VendorID และ ProductID ไว้

ตอนนี้ให้กรอกฟิลด์ VendorId และ ProductId ด้วยค่าเหล่านี้

export function Name() { return "Massdrop CTRL QMK Keyboard"; }
export function VendorId() { return 0x04d8; }
export function ProductId() { return 0xEED2; }
  1. ฟิลด์ถัดไปที่ต้องกรอกคือฟิลด์ Publisher ในฟิลด์ Publisher คุณสามารถใส่ชื่อ ชื่อผู้ใช้ หรือแฮนเดิลของคุณได้
export function Name() { return "Massdrop CTRL QMK Keyboard"; }
export function VendorId() { return 0x04d8; }
export function ProductId() { return 0xEED2; }
export function Publisher() { return "WhirlwindFX"; }
  1. ตอนนี้เรากรอกฟิลด์เสร็จแล้ว และจะไปต่อที่อาร์เรย์

มีอาร์เรย์ 3 ตัวที่ต้องแก้ไข ได้แก่ vKeys, vKeynames และ vKeyPositions

  • อาร์เรย์ vKeys จับคู่แต่ละปุ่มของคีย์บอร์ดกับตำแหน่งภายใน RGB Data ที่ส่งไปยังคีย์บอร์ด
  • อาร์เรย์ vKeyNames บอกเราว่าปุ่มใดตรงกับแต่ละ vKey และ vKeyPosition
  • อาร์เรย์ vKeyPositions บอก SignalRGB ว่าแต่ละปุ่มบนคีย์บอร์ดอยู่ในตำแหน่งใด
  • ขั้นแรก ให้เปลี่ยนอาร์เรย์ vKeyNames ให้ตรงกับคีย์บอร์ดของคุณ
  • หมายความว่าคุณต้องจัดเรียง vKeyNames ใหม่ให้ตรงกับคีย์บอร์ดของคุณ
    • ในกรณีของเรา เราต้องลบบางปุ่มออกและจัดเรียงปุ่มที่เหลือใหม่ เนื่องจากบอร์ดของเราเป็นบอร์ด TKL

จากนั้นอัปเดตอาร์เรย์ vKeyPositions ในลักษณะเดียวกับที่อัปเดตอาร์เรย์ vKeyNames

สุดท้าย อัปเดตอาร์เรย์ vKeys ให้ตรงกับอาร์เรย์ vKeyNames และ vKeysPositions

  1. ตอนนี้ให้บันทึกไฟล์ปลั๊กอินของคุณไว้ที่ %userprofile%/Documents/WhirlwindFX/plugins แล้วรีสตาร์ท SignalRGB
  • คีย์บอร์ดของคุณควรเริ่มสว่างและตอบสนองกับ SignalRGB

หากคีย์บอร์ดไม่สว่างหรือไม่ตอบสนองกับ SignalRGB อย่างถูกต้อง:

หัวข้อที่มีชื่อว่า “หากคีย์บอร์ดไม่สว่างหรือไม่ตอบสนองกับ SignalRGB อย่างถูกต้อง:”
  1. ไปที่หน้า อุปกรณ์ ใน SignalRGB

  1. ถัดไป ไปที่คีย์บอร์ดของคุณ แล้วคลิกไอคอนรูปเฟืองการตั้งค่า

  1. จากนั้นคลิกสวิตช์ แสดงคอนโซล

  • ในคอนโซลควรมี Device Total LED Count ให้เปรียบเทียบ Device Total LED Count นั้นกับจำนวน LED ที่คุณกำหนดไว้
    • ในกรณีของเรา มี LED ทั้งหมด 119 ดวง
  • ตรวจสอบให้แน่ใจว่าฟิลด์ Size ของปลั๊กอินมีค่ามากกว่าพิกัด LED สูงสุดของคุณ 1 ในแต่ละทิศทาง:
    • ในกรณีของเรา LED ที่อยู่ไกลที่สุดอยู่ที่ตำแหน่ง [17,6] ดังนั้นฟิลด์ Size ของเราต้องเป็น [18,7]
export function Size() { return [18, 7]; }
  • คุณจะต้องเพิ่ม vKeys, vKeyPositions และ vKeyNames ให้ตรงกับจำนวน LED ทั้งหมด
    • ในกรณีของเรา อุปกรณ์มี LED 119 ดวง เราจึงต้องเพิ่ม LED อีก 32 ดวงสำหรับไฟใต้คีย์บอร์ด (underglow)

  • หากจำนวน vKeys ตรงกับจำนวน LED ทั้งหมดและกำหนดขนาดอุปกรณ์ถูกต้องแล้ว แต่ LED ถูกจับคู่ไม่ถูกต้อง:
  • เข้าร่วม Discord และขอความช่วยเหลือในช่อง QMK