ทำไมคีย์บอร์ด NKRO ถึงยังหายคีย์?

N-key rollover หมายถึงคีย์บอร์ดสามารถรายงานการกดพร้อมกันหลายคีย์โดยไม่ก่อพิกเซลปลอม แต่ไม่ใช่การรับประกันเดียวกับการจับทุกคีย์สโตรกภายใต้ทุกเงื่อนไข HID report descriptor ของ USB จำกัดว่า packet เดียวกันบรรจุ keycode กี่ตัว ดังนั้นแม้บอร์ดที่โฆษณาว่า NKRO เต็มก็หายคีย์ระหว่างคอร์ดสุดโต่งได้ Ghosting เป็นข้อจำกัดการต่อสายเมทริกซ์ที่ NKRO แก้จริงๆ ผ่านการแยกด้วยไดโอด คีย์ที่หายภายใต้โหลดพร้อมกันหนักเป็นปัญหาอื่นทั้งหมด มักมาจากความจุ packet รายงานหรือการจำกัดฝั่ง host และทั้งสองยืนยันได้ในการทดสอบคีย์บอร์ดบนเบราว์เซอร์ก่อนตัดสินว่ามีข้อบกพร่อง

ตังที่เขียนตังกล่อง วา้กับตังที่เปนจริง

ตังที่คณอ่านบนกล่องตังที่หมายจริง
“Full NKRO”固件 สามารถรายงานคียี่กดพร้อมกันทื่อบคุได้ ไม่ถุกต้องว่ำทุกคียจะต้องกดได้อยู่ซื่งๆ
“No ghosting”การแยกตัวด้วยไดโอดแท้ป้องกันคียผีในคู่ผสมที่ทดสอบแล้ว แต่วิธีของ固件อาจไม่ครอบคลุมทุกสถานการณ์
“ใช้งานได้กับเกมนำ้ใดๆ”บอรดยังมีลิมิตของ HID descriptor และวงจรสแกน — คอร์ดใหญ่ๆอาจยังสูญเสียคียได้
“N-key rollover”N กำหนดโดยบอรด ไม่ได้เปนโปรโตคอล บอรดที่อ้าง 6KRO มีเพดานจริงหกคีย

ข้อมูลจำเพาะมันไมได้เปนเท็จ แต่มันก็ไมไดเปืนภาพครบถ้วน สติ๊กเกอร์บอกคณว่าบอรดออกแบบมาเพื่อดูแลอะไร; descriptor และ固件 บอกคณว่ามันสามารถให้อะไรได้จริงสั้่งสถานการณ์

“NKRO เต็ม” อยู่ในสเปกคีย์บอร์ดที่โฆษณามากที่สุดสเปกหนึ่ง มักนำเสนอเป็นการรับประกันว่าคุณจะ ไม่มีวันหายคีย์ การจัดกรอบนั้นถูกครึ่งหนึ่ง NKRO แก้ ghosting อย่างสมบูรณ์จริงๆ แต่ไม่รับประกันว่าทุกคีย์สโตรกถูกจับภายใต้ทุกเงื่อนไข ช่องว่างระหว่างสองคำกล่าวนี้ก่อความสับสนมาก การคืนที่ไม่จำเป็นอย่างต่อเนื่อง และการโต้เถียงในฟอรัมมากระหว่างคนที่อธิบายปัญหาต่างกันด้วยคำเดียวกัน

Ghosting กับ rollover เป็นสองปัญหาต่างกัน

Ghosting: ปัญหาการต่อสายเมทริกซ์

Ghosting เป็นอาร์ทิแฟกต์ของเมทริกซ์ฮาร์ดแวร์ คีย์บอร์ดสแกนคีย์เป็นตารางแถวและคอลัมน์แทนที่จะต่อสายแต่ละสวิตช์เอง เพราะการต่อสายเองจะต้องการ pin คอนโทรลเลอร์จำนวนไม่เป็นไปได้ ในเมทริกซ์ที่ไม่มีไดโอดแยก การกดคีย์เฉพาะสามคีย์สามารถทำเส้นทางไฟฟ้าเสร็จที่โน้มคอนโทรลเลอร์ให้เชื่อว่าคีย์ที่สี่ที่ไม่ได้แตะก็ถูกกดด้วย การบันทึกปลอมนั้นคือ ghosting และเป็นคุณสมบัติของดีไซน์วงจรไม่ใช่เฟิร์มแวร์

Rollover: กี่คีย์บันทึกพร้อมกัน

Rollover ที่ย่อเป็น KRO อธิบายว่าบอร์ดรายงานกี่คีย์พร้อมกันได้ 2KRO หมายถึงสองพร้อมกัน 6KRO หมายถึงหก และ NKRO เต็มหมายถึงหลักการคือทั้งหมด

NKRO กำจัด ghosting อย่างไร

NKRO เป็นทางแก้สำหรับ ghosting เพราะการใช้งานที่ถูกต้องวางไดโอดอนุกรมกับแต่ละสวิตช์เพื่อให้กระแสไม่ไหลย้อนกลับผ่านคีย์ที่ไม่ได้กดและสร้างเส้นทางปลอม ถ้าบอร์ดใช้ NKRO จริงๆ การกดปลอมเป็นไปไม่ได้ทางไฟฟ้า ส่วนนั้นของการอ้างทางการตลาดถูกต้องทั้งหมด

ภาพมุมสูงของคีย์บอร์ดที่กดหลายคีย์พร้อมกัน สาธิต N-key rollover เต็ม

ขีดจำกัดที่ NKRO ไม่สามารถเอาออกได้

นี่คือสิ่งที่การตลาดละเว้นอย่างสม่ำเสมอ คีย์บอร์ด USB HID ส่ง keycode ภายใน packet รายงานขนาดคงที่ ที่โครงสร้างประกาศใน HID descriptor ของอุปกรณ์ boot protocol อนุญาตหกคีย์ปกติบวกบิต modifier HID report คีย์บอร์ดเต็มที่ใช้โดยระบบปฏิบัติการสมัยใหม่อนุญาตสล็อตคีย์จำกัดจำนวนใกล้เคียงกันต่อ packet ตัวเลขที่แน่นอนแตกต่างตามการใช้งานเฟิร์มแวร์

กดคีย์จำนวนมากพอภายในหน้าต่างรายงานเดียวและ packet ไม่มีที่ว่างให้ส่วนเกิน เฟิร์มแวร์ NKRO ดันเพดานนี้สูงกว่าบอร์ด 6KRO พื้นฐานมาก ด้วยเทคนิคเช่นรายงานแบบ bitmap หรือการนำเสนอ logical HID interface หลายอัน แต่ไม่มีเฟิร์มแวร์ใดเกินความจุที่ descriptor ของตัวเองประกาศกับ host ได้

ผลคือแม้บอร์ดที่โฆษณาว่า NKRO เต็มก็สามารถ ทิ้งคีย์ระหว่างคอร์ดสุดโต่ง ไม่ใช่เพราะ ghosting ที่ไดโอดกำจัดแล้ว แต่เพราะ packet รายงานถึงความจุ เรื่องนี้หายากจริงๆ ในการใช้งานปกติ แต่เป็นเหตุผลที่ NKRO ไม่ได้หมายถึงคีย์ไม่จำกัดกับการสูญเสียเป็นศูนย์ภายใต้โหลดใดๆ

ทำไมบอร์ดเกมมิ่งของคุณยังอาจหายคีย์

เมื่อบอร์ด high-rollover ทิ้งคีย์ในทางปฏิบัติ สาเหตุเกือบทั้งหมดเป็นหนึ่งจากสี่:

  • HID report overflow ระหว่างการกดพร้อมกันที่ใหญ่ผิดปกติ ดังที่อธิบายข้างบน
  • เฟิร์มแวร์หรือ debounce lag เมื่อการกดเร็วกว่าที่รอบสแกนจัดการได้สะอาด
  • การอ้าง NKRO เกินจริง ที่สเปกชีตเกินความจริงที่ใช้งาน
  • การจำกัดฝั่ง host จาก USB controller ที่โอเวอร์โหลด hub ไม่เพียงพอ หรือการจัดการอินพุตของระบบปฏิบัติการภายใต้โหลดโปรเซสเซอร์หนัก ทั้งหมดไม่อยู่ในการควบคุมของคีย์บอร์ด

การแยกระหว่างพวกมันต้องการ tester ที่บันทึก raw event code ที่เบราว์เซอร์ได้รับจริง เพราะเท่านั้นคุณจึงจะเห็นอย่างแม่นยำว่าคีย์ไหนมาและคีย์ไหนไม่มาเลย การเดาจากความรู้สึกคีย์บอร์ดมักให้การวินิจฉัยผิดอย่างน่าเชื่อถือ

Rollover กับ polling rate ไม่ใช่สิ่งเดียวกัน

สเปกทั้งสองเป็นอิสระ และการสับสนทั้งสองนำไปสู่การซื้อการอัปเกรดผิด:

  • Rollover (KRO) กำหนดว่ากี่คีย์สามารถบันทึกพร้อมกันได้
  • Polling rate (Hz) กำหนดว่าบอร์ดรายงานให้คอมพิวเตอร์บ่อยแค่ไหน มัก 125, 250, 500 หรือ 1000 ครั้งต่อวินาที

บอร์ดสามารถเสนอ polling 1000Hz กับ 2KRO เท่านั้น หรือ NKRO เต็มที่ 125Hz อย่างเรียบง่าย Polling สูงทำให้แต่ละการกดบันทึก เร็วขึ้น ในขณะที่ rollover สูงอนุญาตให้การกดมากขึ้นบันทึก พร้อมกัน ถ้าคำร้องของคุณคือ delay ที่รับรู้ ให้สืบ polling rate, เวลาเฟรม และ latency ระบบ ถ้าคำร้องคือคีย์ที่หายระหว่างคอร์ด ให้สืบ rollover และขีดจำกัด HID report การถือทั้งสองเป็นสเปกเดียวทำให้เสียเงินไปกับสิ่งที่คุณไม่ได้ต้องการจริง

คุณต้องการ rollover แค่ไหนจริงๆ?

จับคู่สเปกกับการใช้งานจริงของคุณแทนระดับการตลาด:

  • พิมพ์ร้อยแก้ว: 6KRO เกินพอ แม้พิมพ์เร็วก็ไม่ค่อยเกินสามหรือสี่คีย์พร้อมกันจริงระหว่างการเปลี่ยนนิ้ว
  • เกมกระแสหลัก: 6KRO ครอบคลุมสองทิศทางเคลื่อนที่บวก modifier บวก binding ความสามารถ ซึ่งอธิบายคอร์ดที่ต้องการมากที่สุดส่วนใหญ่
  • เกมจังหวะ, stenography, layout macro ซับซ้อน: NKRO เต็มสมควรค่า เพราะกรณีใช้งานเหล่านี้เกี่ยวข้องกับอินพุตพร้อมกันขนาดใหญ่โดยตั้งใจเป็นโหมดการทำงานปกติ

ถ้าร้านค้ายืนยันว่า NKRO เต็มจำเป็นโดยไม่ขึ้นกับกรณีใช้งาน นั่นเป็นท่าทีขาย ไม่ใช่ข้อกำหนดทางเทคนิค

ยืนยันแทนที่จะไว้ใจป้าย

keyboard tester ของเราแสดงแผนผังคีย์สดควบกับ log ของ raw event code กดคอร์ดที่ตั้งใจยากและตรวจสอบสามเงื่อนไข: ทุกคีย์ที่คุณกดสว่าง ไม่มีคีย์ที่คุณไม่ได้กดสว่าง และทุกคีย์ที่กดปรากฏใน event log แล้วเพิ่มขนาดคอร์ดเรื่อยๆ จนกว่าบางอย่างจะล้มเหลว ซึ่งเปิดเผยขีดจำกัดปฏิบัติจริงของบอร์ดของคุณแทนตัวเลขบนกล่อง

หน้าจอคอมพิวเตอร์แสดงเว็บแอป keyboard tester ที่สว่างคีย์ที่กดเพื่อตรวจจับ ghosting และขีดจำกัด rollover

ถ้าคีย์หายเฉพาะเมื่อเชื่อมต่อผ่าน hub หรือเฉพาะใต้โหลดระบบหนัก คีย์บอร์ดอาจบริสุทธิ์และปัญหาอยู่ที่เส้นทางการเชื่อมต่อหรือการกำหนดค่า host ทดสอบตรงบนพอร์ตเมนบอร์ดก่อนสรุปอะไรเกี่ยวกับฮาร์ดแวร์

รอบสแกนเมทริกซ์: คีย์บอร์ดอ่านคีย์จริงๆ อย่างไร

การเข้าใจว่าคีย์บอร์ดตรวจจับการกดคีย์ที่ระดับฮาร์ดแวร์ชี้แจงทำไม ghosting เกิด ทำไมไดโอดป้องกัน และทำไม scan rate สำคัญควบคู่กับสเปก rollover กระบวนการซับซ้อนกว่าโมเดล “กดคีย์ ส่งสัญญาณ” ง่ายๆ ที่ผู้ใช้ส่วนใหญ่จินตนาการ

ภายในคีย์บอร์ด สวิตช์จัดเป็นตารางแถวและคอลัมน์ แต่ละสวิตช์อยู่ที่จุดตัดของเส้นแถวหนึ่งและเส้นคอลัมน์หนึ่ง microcontroller ไม่สามารถอ่านคีย์ทั้งหมดพร้อมกัน แทนมันสแกนพวกมันอย่างรวดเร็วโดยขับเส้นแถวหนึ่งสูงในแต่ละครั้งและอ่านเส้นคอลัมน์ทั้งหมดเพื่อดูว่าสวิตช์ใดบนแถวนั้นถูกกด แล้วย้ายไปแถวถัดไปและทำซ้ำ คีย์บอร์ดทั่วไปที่มี 6 แถวและ 18 คอลัมน์เสร็จสแกนเต็มในต่ำกว่าหนึ่งมิลลิวินาที หมายความว่า scan rate สูงกว่า 1000 ครั้งต่อวินาที

ในเมทริกซ์ที่ไม่มีไดโอดแยก การกดคีย์หลายคีย์บนแถวหรือคอลัมน์เดียวกันสามารถสร้างเส้นทางไฟฟ้าที่ไม่ตั้งใจ ถ้าสามคีย์เป็นรูปตัว L บนตาราง กระแสจากแถวที่ active สามารถไหลผ่านสวิตช์ที่กดและกลับขึ้นแถวที่ไม่ active ทำให้คอนโทรลเลอร์เชื่อว่าคีย์ที่สี่ — ที่มุม L — ถูกกดด้วย นี่คือกลไก ghosting และเป็นผลโดยตรงของดีไซน์เมทริกซ์ การสแกนเร็ว แต่เส้นทางไฟฟ้าไม่ถูกแยก

การเพิ่มไดโอดอนุกรมกับแต่ละสวิตช์แก้เรื่องนี้เพราะไดโอดอนุญาตให้กระแสไหลทิศทางเดียว เมื่อติดตั้งไดโอด กระแสไม่สามารถไหลย้อนกลับผ่านสวิตช์ที่ไม่ได้กด ซึ่งตัดวงจร ghost คีย์ทุกคีย์ที่อ้าง NKRO ต้องมีไดโอดเหล่านี้ — ไม่มีพวกมัน ghosting เป็นไปไม่ได้ที่จะหลีกเลี่ยงทางกลสำหรับชุดคีย์บางชุดโดยไม่ขึ้นกับคุณภาพเฟิร์มแวร์

scan rate ยังโต้ตอบกับ debounce เมื่อสวิตช์เมคานิคอลปิด คอนแทคเด้งทางกายภาพในช่วงสั้น — มักหลายมิลลิวินาที แตกต่างตามการออกแบบสวิตช์ — ก่อการเปลี่ยน on-off รวดเร็ว คอนโทรลเลอร์ต้องรอให้การเด้งตั้งก่อนบันทึกการกด ซึ่งหมายความว่าแต่ละรอบสแกนรวมการตรวจ debounce ถ้ารอบสแกนเป็นหนึ่งมิลลิวินาทีและหน้าต่าง debounce ห้ามิลลิวินาที คอนโทรลเลอร์ต้องการห้าสแกนติดต่อกันที่แสดงคีย์ถูกกดก่อน commit เหตุการณ์ delay debounce นี้เป็นการแลกโดยตั้งใจ: หน้าต่างสั้นตอบสนองเร็วกว่าแต่เสี่ยงบันทึก noise หน้าต่างยาวคงที่แต่เพิ่ม input latency การใช้งาน debounce เป็นการตัดสินใจดีไซน์เฟิร์มแวร์ ซึ่งเป็นเหตุผลที่คีย์บอร์ดสองตัวที่มีฮาร์ดแวร์สวิตช์เหมือนกันรู้สึกตอบสนองต่างกัน

สถาปัตยกรรมการสแกนนี้ยังอธิบายทำไมคีย์บอร์ดสามารถอ้าง polling rate สูงในขณะที่ยังหายคีย์ภายใต้โหลดพร้อมกันหนัก polling rate กำหนดว่าคีย์ที่ commit แล้วถูกส่งให้คอมพิวเตอร์เร็วแค่ไหน แต่รอบสแกนและ debounce กำหนดว่าคีย์ถูกตรวจจับเร็วแค่ไหนตั้งแต่แรก ถ้ารอบสแกนไม่สามารถ resolve คีย์ที่กดทั้งหมดภายในหน้าต่างรายงานเดียว บางคีย์จะถูกเลื่อนไปรายงานถัดไป ก่ออาการคีย์ที่หายที่ผู้ใช้ให้เหตุผลว่าเป็นขีดจำกัด rollover

ทำไมไดโอดจึงมีราคา: เศรษฐศาสตร์การผลิตของ NKRO

ถ้าไดโอดแก้ ghosting ได้ดีขนาดนั้น ทำไมคีย์บอร์ดไม่ทุกตัวรวมพวกมัน คำตอบเป็นเศรษฐกิจ และการเข้าใจโครงสร้างต้นทุนช่วยให้คุณตีความการอ้างของผู้ผลิตได้สำคัญมากขึ้น

แต่ละสวิตช์ในคีย์บอร์ด NKRO ต้องการไดโอด — มักเป็น signal diode เล็กที่ราคาเศษเซ็นต์เป็นจำนวนมาก บนคีย์บอร์ด 87 คีย์ ต้นทุนไดโอดดิบต่ำกว่าหนึ่งดอลลาร์ ค่าใช้จ่ายจริงอยู่ที่อื่น แต่ละไดโอดต้องถูกแทรกเข้าวงจร บัดกรี และทดสอบ บนสายการผลิตอัตโนมัติเต็มนี่เพิ่มเวลาประมวลผลต่อบอร์ด บนสายการผลิตชุดเล็กที่บัดกรีมือ ต้นทุนแรงงานมีนัยสำคัญ PCB ยังต้องออกแบบด้วย trace ใหญ่กว่าเพื่อรองรับ pad ไดโอด เพิ่มความซับซ้อนและต้นทุนวัสดุของบอร์ดเล็กน้อย

สำหรับคีย์บอร์ดเมมเบรนประหยัด ที่ใช้ trace ตัวนำพิมพ์บนเมมเบรนยืนหยุ่นแทนสวิตช์ discrete การเพิ่มไดโอดไม่สามารถทำได้แม้ไม่มีการออกแบบใหม่พื้นฐานของกระบวนการผลิต คีย์บอร์ดเมมเบรนบรรลุราคาต่ำผ่านการรวมอย่างสุด: เมทริกซ์ทั้งหมดพิมพ์ในรอบเดียวโดยไม่มีชิ้นส่วน discrete NKRO บนบอร์ดเมมเบรนต้องการวิธีไฮบริดที่ลบล้างข้อได้เปรียบต้นทุน

การแบ่งส่วนตลาดที่นี่ก่อขึ้นโดยตั้งใจ คีย์บอร์ดเมคานิคอลพรีเมียมโฆษณา NKRO พรีเมียมค้าปลีกสำหรับ NKRO เต็มมักไม่เยอะ — มักไม่กี่ดอลลาร์ถึงประมาณสิบห้า ต่างตามแบรนด์และรุ่น คีย์บอร์ดเมคานิคอลประหยัดมักอ้าง NKRO บน USB แต่ใช้งานผ่านเทคนิคเฟิร์มแวร์ — bitmap report, logical interface หลายอัน — ที่ขยายขีดจำกัด rollover โดยไม่ต้องการไดโอด การใช้งานเหล่านี้สามารถรายงานมากกว่าหกคีย์ แต่อาจยัง ghost ภายใต้ชุดเฉพาะ เพราะเมทริกซ์พื้นฐานขาดการแยกด้วยไดโอด ป้าย “NKRO” ทางการตลาดไม่แยกระหว่าง NKRO ฮาร์ดแวร์ (มีไดโอด) และ NKRO เฟิร์มแวร์ (ไม่มี) ซึ่งเป็นเหตุผลที่การทดสอบยังจำเป็น

สำหรับผู้ซื้อ สรุปในทางปฏิบัติคือถือการอ้าง NKRO เป็นจุดเริ่มต้นไม่ใช่การรับประกัน คีย์บอร์ดที่โฆษณาว่า NKRO อาจมีไดโอด หรืออาจพึ่งเทคนิคเฟิร์มแวร์ที่ขยายขีดจำกัดแต่ไม่กำจัด ghosting ภายใต้ทุกชุด วิธีเดียวที่ชัดเจนในการรู้คือทดสอบด้วยคอร์ดใหญ่ขึ้นเรื่อยๆ และสังเกตว่าคีย์ปลอมปรากฏหรือไม่

ควรซื้อ NKRO หรือไม่นะ?

NKRO ที่แยกไดโอดจริง ๆ สิ้น ghosting เมทริกซ์, แต่ป้าย “NKRO” เดียวไม่พิสูจน์การดำเนินการนั้น, และบอร์ดทุกตัวยังมีเพดานกดพร้อมกันปฏิบัติที่ตั้งโดย HID descriptor และ firmware ของมัน ให้ความหมาย “NKRO เต็ม” ว่าหมายถึงไม่มีคีย์ปลอมและความจุกดพร้อมกันสูงมาก ในทางปฏิบัติ แทนที่จะเป็นทุกคีย์ตามตัวอักษรเสมอภายใต้โหลดใดๆ ทดสอบบอร์ดเฉพาะของคุณก่อนไว้ใจป้าย แยกปัญหา rollover จากปัญหา polling เพราะต้องการทางแก้ต่างกัน และตรวจสอบ firmware, debounce และการจัดการ input ของ OS ก่อนสมมติว่าปัญหาของ hub หรือ bandwidth

คำถามที่พบบ่อย

NKRO หมายถึงอะไรบนคีย์บอร์ด?

N-key rollover อธิบายความสามารถของคีย์บอร์ดในการบันทึกคีย์ที่กดพร้อมกันหลายคีย์โดยไม่มีคีย์ใดถูกทิ้งหรือรายงานผิด ธรรมเนียมการตั้งชื่อตรงไปตรงมา: บอร์ด 2KRO จัดการคีย์พร้อมกันสองคีย์อย่างน่าเชื่อถือ, 6KRO จัดหก, และ NKRO เต็มตั้งใจจัดทุกคีย์บนบอร์ดพร้อมกัน สเปกถูกยืนยันโดยการกดคอร์ดตั้งใจและยืนยันว่าแต่ละคีย์รายงานอิสระ สำคัญที่สุดสำหรับพิมพ์เร็วที่ซ้อนทับคีย์สโตรกและเกมเมอร์ที่กดคีย์เคลื่อนที่พร้อม modifier และ binding ความสามารถพร้อมกัน

ghosting ของคีย์บอร์ดคืออะไร?

Ghosting เกิดเมื่อการกดคีย์บางชุดทำให้คีย์ที่คุณไม่เคยแตะถูกบันทึกว่าถูกกด สาเหตุอยู่ที่การต่อสายเมทริกซ์ คีย์บอร์ดสแกนคีย์ที่จัดเป็นตารางแถวและคอลัมน์แทนที่จะต่อสายแต่ละคีย์เอง และในเมทริกซ์ที่ไม่มีไดโอดแยก การกดพร้อมกันสามคีย์เฉพาะสามารถทำเส้นทางไฟฟ้าเสร็จที่คอนโทรลเลอร์ตีความว่าเป็นคีย์ที่สี่ถูกกด คีย์บอร์ดเมมเบรนราคาถูกและคีย์บอร์ดแลปท็อปหลายรุ่นแสดงเรื่องนี้ง่าย บอร์ดที่ออกแบบดีเดินสายเมทริกซ์ด้วยไดโอดเพื่อไม่ให้ชุดใดสร้างวงจรปลอม

NKRO กำจัด ghosting จริงไหม?

ใช่ครับ นี่คือปัญหาที่ NKRO มีอยู่เพื่อแก้โดยแท้ บอร์ดที่มีเมทริกซ์ NKRO ที่ใช้งานถูกต้องใช้การแยกด้วยไดโอดเพื่อให้กระแสไม่ไหลย้อนกลับผ่านสวิตช์ที่ไม่ถูกกด ทำให้การบันทึกคีย์ปลอมเป็นไปไม่ได้ทางไฟฟ้าโดยไม่ขึ้นกับชุดที่คุณกด ถ้าคุณสังเกต ghosting จริงบนคีย์บอร์ดที่โฆษณาว่า NKRO มีคำอธิบายเป็นไปได้สามแบบ: การอ้างทางการตลาดเป็นเท็จ, เฟิร์มแวร์มีข้อบกพร่องใน logic การสแกน, หรือสิ่งที่คุณเห็นไม่ใช่ ghosting เลยแต่เป็นรูปแบบความล้มเหลวอื่นเช่น HID report overflow ที่คล้ายผิวเผิน

ถ้าคีย์บอร์ดของผมมี NKRO เต็ม คีย์ยังหายได้ไหม?

ได้ครับ และนี่คือความแตกต่างที่ก่อความสับสนส่วนใหญ่รอบสเปก NKRO จัดการ ghosting ซึ่งเป็นปัญหาเมทริกซ์ แต่ไม่สามารถ override ขีดจำกัด USB HID report ซึ่งเป็นข้อจำกัดโปรโตคอลที่ทำงานในเลเยอร์ต่างกันโดยสิ้นเชิง packet คีย์บอร์ด HID มาตรฐานมีสล็อต keycode จำนวนจำกัด กดคีย์จำนวนมากพอภายในหน้าต่างรายงานเดียวและ packet ไม่มีที่ว่างให้ส่วนเกิน บางคีย์จึงถูกเลื่อนหรือหาย เรื่องนี้ไม่พบบ่อยในการใช้งานปกติแต่ทำซ้ำได้ทั้งหมดในการทดสอบความเครียด

ขีดจำกัด USB HID report คืออะไร?

คีย์บอร์ด USB HID ส่ง keycode ภายใน packet รายงานที่ โครงสร้างประกาศใน HID descriptorที่โครงสร้างกำหนดโดย HID descriptor ของอุปกรณ์ boot protocol ที่ใช้ระหว่างเริ่มต้นระบบและโดยการใช้งาน BIOS ขั้นต่ำ อนุญาตหกคีย์ปกติบวกแปดบิต modifier report คีย์บอร์ด HID เต็มที่ใช้โดยระบบปฏิบัติการสมัยใหม่อนุญาตจำนวนสล็อตคีย์ปกติต่อ packet ที่ใกล้เคียงกัน ตัวเลขที่แน่นอนแตกต่างตามการใช้งานเฟิร์มแวร์ เฟิร์มแวร์ NKRO หลีกเลี่ยงข้อจำกัดเหล่านี้ด้วยเทคนิคเช่น bitmap report หรือ logical interface หลายอัน แต่ไม่สามารถเกินสิ่งที่ descriptor เองประกาศกับ host ได้

ทำไมคีย์บอร์ดเกมมิ่งบางตัวยังหายคีย์?

สี่สาเหตุอธิบายเกือบทุกกรณีจริง HID report overflow เกิดเมื่อคอร์ดใหญ่ผิดปกติเกินความจุ packet ที่อธิบายข้างบน เฟิร์มแวร์หรือ debounce lag สามารถทิ้งเหตุการณ์เมื่อการกดเร็วกว่าที่รอบสแกนจัดการได้สะอาด การอ้าง NKRO เท็จหรือเกินจริงหมายความว่าตัวเลขทางการตลาดเกินความจริงที่ใช้งาน ซึ่งพบบ่อยกว่าที่ผู้ผลิตยอมรับ และการจำกัดฝั่ง host จาก USB controller ที่โอเวอร์โหลด hub ไม่เพียงพอ หรือการจัดการอินพุตของระบบปฏิบัติการสามารถทิ้งเหตุการณ์นอกการควบคุมของคีย์บอร์ดโดยสิ้นเชิง การแยกแยะต้องบันทึกสิ่งที่มาจริง

จะทดสอบ NKRO และ ghosting อย่างถูกต้องอย่างไร?

ใช้ keyboard tester ที่แสดงแผนผังคีย์ภาพควบกับ raw event log กดคีย์หลายตัวพร้อมกันและตรวจสอบสองเงื่อนไขอิสระ หนึ่ง ทุกคีย์ที่คุณกดควรสว่างบนแผนผัง เพราะคีย์ที่หายบ่งบอก rollover หรือขีดจำกัดรายงาน สอง ไม่มีคีย์ที่คุณไม่ได้กดควรสว่าง เพราะคีย์ปลอมบ่งบอก ghosting จริง แล้วขยายเป็นคอร์ดใหญ่ขึ้นเรื่อยๆ เพื่อหาว่าบอร์ดของคุณหยุดรายงานที่ไหน raw event log สำคัญเพราะแสดง code ที่ระบบปฏิบัติการของคุณบันทึกจริงแทนที่การตีความ

6KRO เพียงพอสำหรับเกมไหม?

สำหรับเกมส่วนใหญ่ที่ท่วมท้น ใช่ครับ คอร์ดเกมที่ต้องการมากทั่วไปเกี่ยวข้องกับสามถึงห้าคีย์ เช่นสองทิศทางเคลื่อนที่บวก modifier บวก binding ความสามารถ ซึ่งอยู่ในงบ 6KRO อย่างสบายพร้อมพื้นที่เหลือ NKRO เต็มจำเป็นจริงๆ เฉพาะสถานการณ์เฉพาะ: เกมจังหวะบางเกมที่ต้องการอินพุตพร้อมกันหลายตัว การพิมพ์ stenographic ที่คอร์ดเป็นวิธีอินพุตเอง และการกำหนดค่า key-mapping ที่ซับซ้อน การจ่ายพรีเมียมสำหรับ NKRO เต็มสมเหตุสมผลหลักๆ ถ้าคุณเคยเจอขีดจำกัดจริงบนบอร์ดปัจจุบัน

NKRO ต้องการประเภทการเชื่อมต่อพิเศษไหม?

NKRO บน USB ต้องการให้คีย์บอร์ดใช้ HID report เต็มของตัวเองแทนที่จะตกไป boot protocol หกคีย์ และ host ต้องยอมรับ descriptor นั้น การใช้งาน BIOS เก่าบางแบบและเฟิร์มแวร์ระบบบางตัวบังคับ boot protocol ระหว่างเริ่มต้นและบางครั้งหลังจากนั้น จำกัดบอร์ดเป็น 6KRO ไม่ว่าความสามารถจริง อินเทอร์เฟซ PS/2 ดั้งเดิมจัดการ NKRO ได้เป็นธรรมชาติกว่าเพราะส่ง key event เป็นรายตัวโดยไม่มีโครงสร้าง packet คงที่ ซึ่งเป็นเหตุผลที่คำแนะนำเอนทูเซียสต์เก่าชื่นชอบ บน USB สมัยใหม่ผลขึ้นกับเฟิร์มแวร์และดีไซน์ descriptor

NKRO เกี่ยวข้องกับการพิมพ์หรือเฉพาะเกม?

หลักๆ เกมและแอปพลิเคชันเฉพาะ การพิมพ์ร้อยแก้วธรรมดาแม้ที่ความเร็วสูงไม่ค่อยก่อคีย์พร้อมกันจริงเกินสามหรือสี่ เพราะนิ้วซ้อนทับเพียงสั้นๆ ระหว่างการเปลี่ยน 6KRO จึงให้พื้นที่พอสำหรับพิมพ์เกือบทุกคน ผู้ใช้ที่ได้ประโยชน์อย่างมีนัยคือ stenographer ที่วิธีอินพุตเป็นคอร์ดโดยดีไซน์ นักดนตรีบางคนที่ใช้คอนโทรลเลอร์คีย์บอร์ด และเกมเมอร์ที่รัน macro หรือ key-mapping ซับซ้อน ถ้าการใช้งานของคุณไม่เคยเกี่ยวข้องกับการกดพร้อมกันหลายคีย์ NKRO จะไม่เปลี่ยนประสบการณ์ของคุณและไม่ควรมีอิทธิพลต่อการตัดสินใจซื้อ

บทความที่เกี่ยวข้อง