NKRO و Ghosting: کلیدهای گمشده

N-key rollover به کیبورد اجازه می‌دهد فشارهای هم‌زمان متعددی را بدون کلیدهای fantom گزارش دهد، اما تضمین نمی‌کند هر ضربه‌ای را تحت هر شرایطی. طراحی گزارش HID، فیرمور، دیبانس، اسکن ماتریس، رفتار اتصال و پردازش ورودی میزبان همچنان می‌توانند کورد بزرگ را محدود کنند. این راهنما ghosting را از شکست rollover متمایز می‌کند، محدودیت‌های boot-protocol و descriptor را توضیح می‌دهد، rollover را از نرخ نظرسنجی جدا می‌کند و نشان می‌دهد چگونه یک تستر کیبورد مرورگر می‌تواند الگوی رویداد تحویل‌شده را آشکار کند در حالی که نمی‌تواند ماتریس داخلی یا طراحی دیود سخت‌افزار را تأیید کند.

آنچه برچسب می‌گوید در برابر آنچه واقعاً رخ می‌دهد

روی جعبه می‌خوانیدآنچه واقعاً معنایی دارد
«NKRO کامل»فیرمور می‌تواند شمار بسیار زیادی کلید هم‌زمان را گزارش کند، نه لزوماً هر کلید همیشه.
«بدون ghosting»دیودایزولاسیون واقعی از کلید fantom تحت ترکیب‌های تست‌شده جلوگیری می‌کند، اما ترفندهای فیرمور ممکن است همهٔ سناریوها را پوشش ندهند.
«با هر بازی کار می‌کند»برد هنوز یک سقف descriptor HID و یک چرخهٔ اسکن دارد — کوردهای بسیار بزرگ هنوز می‌توانند کلید گم کنند.
«N-key rollover»N توسط کیبورد تعیین می‌شود نه توسط پروتکل. بردی که ۶KRO ادعا می‌کند سقف عملی شش دارد.

مشخصه‌ها دروغ نیستند، اما تصویر کامل نیستند. برچسب به شما می‌گوید برد طراحی شده تا چه چیزی را مدیریت کند؛ descriptor و فیرمور به شما می‌گویند تحت شرایط تست‌شده واقعاً چه می‌توانند تحویل کنند.

«NKRO کامل» در میان پرتبلیغ‌ترین مشخصه‌های کیبورد قرار دارد، عموماً به‌عنوان ضمانتی ارائه شده که هرگز کلیدی گم نمی‌کنید. آن قاب نصفه دقیق است. یک پیاده‌سازی NKRO با دیودایزولاسیون واقعی ghosting ماتریسی را کاملاً حل می‌کند، اما برچسب «NKRO» به‌تنهایی چنین پیاده‌سازی‌ای را ثابت نمی‌کند، و حتی یک برد NKRO واقعی تضمین نمی‌کند که هر ضربه‌ای تحت همهٔ شرایطها گیرفته شود. فاصلهٔ بین آن دو بیانیه سردرگمی قابل‌توجهی، جریان پیوستهٔ بازگشت‌های غیرضروری و بحث فروم فراوان میان افرادی تولید می‌کند که مسائل متفاوتی را با همان کلمه توصیف می‌کنند.

ghosting و rollover دو مسئلهٔ متفاوت‌اند

Ghosting: یک مسئلهٔ سیم‌کشی ماتریس

Ghosting یک مصنوع ماتریس سخت‌افزاری است. کیبوردها کلیدهای خود را به‌شکل gridی از ردیف‌ها و ستون‌ها اسکن می‌کنند نه اینکه هر سوییچ را جداگانه سیم‌کشی کنند، چون سیم‌کشی جداگانه نیازمند شمار غیرعملی پین کنترلر است. در ماتریسی بدون دیود ایزولاسیون، فشردن سه کلید خاص می‌تواند یک مسیر الکتریکی کامل کند که کنترلر را قانع می‌کند کلید چهارمی لمس‌نشده نیز پایین است. آن ثبت fantom، ghosting است و یک ویژگی طراحی مدار است نه فیرمور.

Rollover: چند کلید هم‌زمان ثبت می‌شود

Rollover، مخفف KRO، توصیف می‌کند برد چند کلید را هم‌زمان می‌تواند گزارش دهد. ۲KRO یعنی دو کلید هم‌زمان، ۶KRO یعنی شش، و NKRO کامل یعنی اصولاً همه.

چگونه NKRO از ghosting جلوگیری می‌کند

NKRO راه‌حل ghosting است، چون پیاده‌سازی‌های درست یک دیود به‌صورت سری با هر سوییچ قرار می‌دهند تا جریان نتواند از میان کلیدهای فشار‌نداده به عقب برگردد و مسیرهای کاذب بسازد. یک ماتریس با دیودایزولاسیون به‌درستی طراحی و پیاده‌سازی‌شده از ghosting ماتریسی سنتی جلوگیری می‌کند. اگر بردی واقعاً NKRO را با دیود پیاده‌سازی کند، فشار fantom تحت شرایط عملیاتی عادی عملاً غیرممکن است. آن بخش از ادعای بازاریابی کاملاً دقیق است. توجه کنید که طراحی‌های ماتریس جایگزین نیز می‌توانند rollover بالا را بدون دیود per-switch دست‌یافت کنند؛ تمایز کلیدی این است که آیا مسیرهای الکتریکی ایزوله‌اند نه توپولوژی خاص. نمای بالا یک کیبورد با کلیدهای متعدد هم‌زمان فشار‌داده‌شده، نشان‌دهندهٔ N-key rollover کامل

محدودیتی که NKRO نمی‌تواند حذف کند

در اینجا آنچه بازاریابی پیوسته حذف می‌کند. کیبوردهای USB HID کی‌کدها را درون بسته‌های گزارش منتقل می‌کنند که ساختارشان در descriptor HID دستگاه اعلام شده، و حداکثر تعداد کلیدهای هم‌زمانی که برد می‌تواند گزارش دهد توسط آن descriptor و فیرمور تعیین می‌شود نه یک قانون جهانی HID. boot protocol شش کلید منظم به‌علاوهٔ بیت‌های modifier را مجاز می‌داند. فراتر از آن، پیاده‌سازی‌ها متفاوت‌اند: برخی از گزارش بزرگ‌تر با شمار محدود slot کلید استفاده می‌کنند، برخی از گزارش‌های bitmap-style که می‌توانند بیشتر یا همهٔ کلیدها را بازنمایی کنند، و برخی چند رابط منطقی HID عرضه می‌کنند. هیچ سقف ثابت واحدی در میان همهٔ کیبوردها وجود ندارد — محدودیت عملی هربردی است که descriptor و فیرمورش اعلام می‌کنند. شمار کافی از کلیدها را درون یک پنجرهٔ گزارش واحد فشار دهید و بسته سادا جایی برای مازاد ندارد. فیرمور NKRO این سقف را به‌طور قابل‌توجهی بالاتر از یک برد ۶KRO پایه می‌برد، با تکنیک‌هایی مانند گزارش‌های bitmap-style یا عرضه چند رابط منطقی HID، اما هیچ فیرموری نمی‌تواند از ظرفیتی که descriptor خود به میزبان اعلام کرده فراتر رود. پیامد این است که حتی بردی که NKRO کامل تبلیغ می‌شود می‌تواند حین کوردهای حدی کلید گم کند، نه به‌خاطر ghosting که دیودها آن را حذف کرده‌اند، بلکه چون گزارش به ظرفیت تعیین‌شده‌توسط descriptor رسیده. این در استفادهٔ عادی واقعاً نادر است. بااین‌حال دلیلی است که NKRO به معنای کلیدهای بی‌نهایت با صفر丢失 تحت هر بار نیست.

چرا برد گیمینگ شما هنوز کلید گم می‌کند

وقتی یک برد high-rollover در عمل کلید گم می‌کند، علل محتمل شامل:

  • سرریز گزارش HID حین فشارهای هم‌زمان غیرعادی بزرگ، همان‌طور که در بالا توضیح داده شد.
  • lag فیرمور یا دیبانس وقتی فعال‌سازی سریع‌تر از آن است که چرخهٔ اسکن به‌طور تمیز حل شود — غالباً رایج‌ترین علت روی بردهای اقتصادی.
  • ادعای NKRO اغراق‌آمیز، جایی که برگهٔ مشخصه از واقعیت پیاده‌سازی‌شده فراتر می‌رود.
  • پردازش ورودی سمت میزبان یا OS — یک کنترلر USB پربار، یک هاب ناکافی یا بار پردازندهٔ سنگین می‌تواند مشارکت کند، اما برای یک کیبورد دسکتاپ معمول پهنای باند USB عموماً گلوگاه نیست. یک کلید گم‌شده غالباً مسئلهٔ فیرمور، دیبانس یا طراحی ماتریس است نه پهنای باند. تشخیص میان آن‌ها نیازمند تستری است که کدهای خام رویداد رسیده به مرورگر را ثبت می‌کند، چون فقط آن‌گاه می‌توانید دقیقاً ببینید کدام کلیدها رسیده‌اند و کدام هرگز نرسیدند. حدس از اینکه کیبورد چه حسی دارد به‌طور اتکاپذیر تشخیص اشتباه تولید می‌کند.

rollover و نرخ نظرسنجی یک چیز نیستند

این دو مشخصه مستقل‌اند و درهم‌آمیختن آنها به خرید ارتقای اشتباه منجر می‌شود:

  • Rollover (KRO) تعیین می‌کند چند کلید می‌توانند هم‌زمان ثبت شوند.
  • نرخ نظرسنجی (Hz) تعیین می‌کند برد چندبار به کامپیوتر گزارش می‌دهد، عموماً ۱۲۵، ۲۵۰، ۵۰۰ یا ۱۰۰۰ بار در ثانیه. یک برد می‌تواند نرخ نظرسنجی ۱۰۰۰Hz با فقط ۲KRO عرضه کند، یا NKRO کامل در ۱۲۵Hz متواضع. نظرسنجی بالا می‌تواند انتظار در مرحلهٔ گزارش‌دهی را کاهش کند، در حالی که rollover بالا به فشارهای بیشتر اجازه می‌دهد با‌هم ثبت شوند. اگر شکایت شما تأخیر ادراک‌شده است، نرخ نظرسنجی، frame time و تأخیر سیستم را بررسی کنید. اگر شکایت شما گم‌شدن کلید حین کورد است، rollover و طراحی گزارش HID را بررسی کنید. تلقی آن‌ها به‌عنوان یک مشخصه می‌تواند شما را به‌سوی ارتقایی سوق دهد که علامت را پوشش نمی‌دهد.

چقدر rollover واقعاً نیاز دارید

مشخصه را به استفادهٔ واقعی خود متناسب کنید نه به سطح بازاریابی:

  • تایپ نثر: ۶KRO عموماً کافی است چون تایپ عادی شامل ترکیب‌های هم‌پوشانی نسبتاً کوچک است.
  • گیمینگ جریاب اصلی: ۶KRO غالباً دو جهت حرکت به‌علاوهٔ modifiers و یک bind توانایی را پوشش می‌دهد، اما ترکیب‌هایی که بازی شما واقعاً استفاده می‌کند را تست کنید.
  • بازی‌های ریتمی، استنوگرافی، آرایش ماکرو پیچیده: NKRO کامل می‌تواند ارزشمند باشد چون این استفاده‌ها عمداً ورودی‌های هم‌زمان بزرگ‌تر دارند. اگر یک خرده‌فروش اصرار دارد که NKRO کامل فارغ از مورد استفاده ضروری است، آن یک موضع فروش است نه یک الزام فنی.

تأیید کنید نه اتکا به برچسب

تستر کیبورد ما یک نقشهٔ کلید زنده همراه لاگ رویدادهای key-down و key-up رسیده به مرورگر نمایش می‌دهد. یک کورد به‌عمدی دشوار فشار دهید و سه شرایط را بررسی کنید: هر کلیدی که فشار دادید روشن می‌شود، هیچ کلیدی که فشار ندادید روشن نمی‌شود، و هر کلید فشار‌داده‌شده در لاگ رویداد ظاهر می‌شود. سپس اندازهٔ کورد را فزاینده تشدید کنید تا چیزی خراب شود. این آشکار می‌کند چند کلید هم‌زمان OS و مرورگر شما به صفحه تحویل داده‌اند — یک محدودیت rollover مشاهده‌شده‌در مرورگر عملی. نمی‌تواند descriptor HID کیبورد را بخواند یا ثابت کند ماتریس داخلی دیودایزوله است، پس یک نتیجهٔ تمیز را به‌عنوان شواهد قوی تلقی کنید نه یک تأیید در سطح سخت‌افزار. صفحهٔ کامپیوتر نشان‌دهندهٔ یک اپ وب تستر کیبورد که کلیدهای فشار‌داده‌شده را روشن می‌کند تا ghosting و محدودیت rollover را تشخیص دهد اگر کلیدها فقط هنگام اتصال از طریق هاب گم می‌شوند، یا فقط هنگامی که سیستم تحت بار سنگین است، کیبورد احتمالاً بی‌گناه است و علت در مسیر اتصال یا پیکربندی میزبان است. قبل از نتیجه‌گیری دربارهٔ سخت‌افزار مستقیماً روی یک پورت مادربرد تست کنید.

چرخهٔ اسکن ماتریس: چگونه کیبوردها واقعاً کلیدها را می‌خوانند

فهمیدن اینکه چگونه یک کیبورد در سطح سخت‌افزار فشار کلید را تشخیص می‌دهد روشن می‌کند چرا ghosting رخ می‌دهد، چرا دیودها از آن جلوگیری می‌کنند و چرا نرخ اسکن در کنار مشخصه‌های rollover اهمیت دارد. فرآیند ظریف‌تر از مدل سادهٔ «یک کلید را فشار ده، یک سیگنال بفرست» است که بیشتر کاربران تصور می‌کنند. درون کیبورد، سوییچ‌ها در gridی از ردیف‌ها و ستون‌ها چیده شده‌اند. هر سوییچ در تقاطع یک خط ردیف و یک خط ستون نشسته. میکروکنترلر نمی‌تواند همهٔ کلیدها را هم‌زمان بخواند؛ در عوض، آن‌ها را با راه‌اندازی یک خط ردیف در هر بار بالا و خواندن همهٔ خطوط ستون برای دیدن اینکه کدام سوییچ روی آن ردیف فشار داده شده سریع اسکن می‌کند. سپس به ردیف بعدی می‌رود و تکرار می‌کند. یک اسکن کامل یک ماتریس متداول روی کنترلرهای مدرن در کمتر از یک میلی‌ثانیه انجام می‌شود — ارقام دقیق به کنترلر و فیرمور بستگی دارند — پس نرخ اسکن عموماً در هزاران بار در ثانیه است. در ماتریسی بدون دیود ایزولاسیون، فشردن کلیدهای متعدد روی همان ردیف یا ستون می‌تواند مسیرهای الکتریکی ناخواسته ایجاد کند. اگر سه کلید به‌شکل L روی grid تشکیل دهند، جریان از ردیف فعال می‌تواند از میان سوییچ‌های فشار‌داده عبور کند و به یک ردیف غیرفعال برگردد و کنترلر را باور کند کلید چهارمی — یکی در گوشهٔ L — نیز فشار داده شده. این مکانیزم ghosting است و یک پیامد مستقیم طراحی ماتریس است. اسکن سریع است، اما مسیرهای الکتریکی ایزوله نیستند. افزودن یک دیود به‌صورت سری با هر سوییچ راهی رایج برای مسدودکردن جریان برگشت و جلوگیری از مدارهای fantom سنتی است. محصولی که به‌عنوان NKRO سطح سخت‌افزاری با دیود تبلیغ می‌شود عموماً از ایزولاسیون per-switch استفاده می‌کند، اما طراحی‌های ماتریس جایگزین وجود دارند و یک برد می‌تواند کلیدهای هم‌زمان متعددی را گزارش دهد بدون ثابت‌کردن اینکه از آن توپولوژی دقیق استفاده می‌کند. غیاب دیودهای مرئی per-key بنابراین به‌تنهایی rollover یا رفتار ghosting برد را تعیین نمی‌کند. نرخ اسکن همچنین با دیبانس تعامل دارد. وقتی یک سوییچ مکانیکی می‌بندد، کنتاکت‌ها فیزیکی به‌مدت کوتاهی بالا و پایین می‌پرند — عموماً چند میلی‌ثانیه، متغیر بر اساس طراحی سوییچ — و انتقال‌های سریع on-off تولید می‌کنند. کنترلر باید منتظر بماند تا پرش بخنثی شود قبل از ثبت فشار کلید، که یعنی هر چرخهٔ اسکن شامل یک بررسی دیبانس است. اگر چرخهٔ اسکن یک میلی‌ثانیه و پنجرهٔ دیبانس پنج میلی‌ثانیه باشد، کنترلر به پنج اسکن متوالی نیاز دارد که کلید را فشار‌داده نشان دهند قبل از اینکه رویداد را ثبت کند. این تأخیر دیبانس یک مصالحهٔ عمدی است: پنجره‌های کوتاه‌تر سریع‌تر پاسخ می‌دهند اما ریسک ثبت نویز دارند؛ پنجره‌های طولانی‌تر پایدارند اما تأخیر ورودی اضافه می‌کنند. پیاده‌سازی دیبانس یک تصمیم طراحی فیرمور است، به همین دلیل دو کیبورد با سخت‌افزار سوییچ یکسان می‌توانند در پاسخگویی متفاوت حس شوند. اگر بازی یا کاربرد شما به‌طور روتین کلیدهای متعددی هم‌زمان نگه می‌دارد، NKRO با ایزولاسیون قوی ممکن است یک فایدهٔ واقعی باشد. برای کوردهای گیمینگ متداول سه تا پنج کلید هم‌زمان، یک برد ۶KRO طراحی‌شدهٔ خوب ممکن است کافی باشد، اما ترکیب‌های دقیق اهمیت دارند. قبل از پرداخت برئت NKRO، بردی که دارید را تست کنید یا یک بررسی فنی خاص‌مدل بررسی کنید. یک نتیجهٔ تمیز مرورگر شواهد مفیدی از رفتار تحویل‌شده است، نه یک تأیید سخت‌افزاری.

چرا دیودها پول می‌برند: اقتصاد تولید NKRO

اگر دیودها ghosting را به‌این خوبی حل می‌کنند، چرا هر کیبوردی شاملشان نیست؟ پاسخ اقتصادی است و فهم ساختار هزینه به شما کمک می‌کند ادعاهای سازنده را نقادانه‌تر تعبیر کنید. در یک ماتریس NKRO با دیودایزولاسیون سنتی، هر سوییچ یک دیود مرتبط دارد. خود مؤلفه فقط یک بخش از هزینه است: layout PCB، assembly، لحیم‌کاری، بازرسی و فیرمور همه مشارکت می‌کنند. هزینه‌های دقیق به تأمین‌کننده، حجم تولید، طراحی ماتریس و اینکه آیا کیبورد از معماری متفاوتی استفاده می‌کند متغیر است، پس یک برآورد دلاری per-key ساده قابل‌اتکا نیست. بسیاری از کیبوردهای غشایی اقتصادی از ردهای هدایت‌پذیر چاپ‌شده روی ورق‌های انعطاف‌پذیر استفاده می‌کنند نه مؤلفه‌های سوییچ گسسته. افزودن دیود per-key به آن ساخت نیازمند طراحی متفاوت یا هیبریدی و assembly اضافی است که بخشی از مزیت هزینه‌اش را تضعیف می‌کند. این بدان معنا نیست هر معماری غشایی یکسان است یا rollover بالا غیرممکن است؛ پیاده‌سازی باید به‌ازای مدل ارزیابی شود. کیبوردهای مکانیکی پریمیوم غالباً NKRO را به‌عنوان ویژگی تبلیغ می‌کنند، در حالی که طراحی‌های کم‌قیمت‌تر ممکن است از آرایش‌های ماتریس متفاوت، گزارش‌های bitmap یا چند رابط منطقی برای بالا بردن rollover تحویل‌شده استفاده کنند. یک تکنیک قالب گزارش می‌تواند تعداد کلیدهای قابل‌بازنمایی را افزایش دهد اما به‌تنهایی ثابت نمی‌کند ماتریس الکتریکی چگونه ترکیب‌های مستعد ghosting را مدیریت می‌کند. برچسب بنابراین پیاده‌سازی را به‌طور کامل توصیف نمی‌کند، به همین دلیل تست خاص‌مدال همچنان مفید است. این ساختار اقتصادی همچنین به توضیح تداوم ۶KRO به‌عنوان یک استاندارد کمک می‌کند. rollover شش‌کلیدی می‌تواند روی یک ماتریس بدون دیود از طریق layout دقیقی که از ترکیب‌های مستعد ghosting متداول اجتناب می‌کند دست‌یافت کرد. برای سازندگانی که گیمینگ جریاب اصلی را هدف می‌گیرند، ۶KRO ممکن است کارایی کافی را در پیچیدگی assembly پایین‌تر فراهم کند، در حالی که NKRO کامل فضای سر برای کاربرانی که نیاز دارند فراهم می‌کند. تفاوت قیمت برای طراحی و مدل بیش‌از حد متغیر است تا به یک برئت خرده‌فروشی جهانی تقلیل یابد. برای خریدار، نتیجهٔ عملی این است که ادعاهای NKRO را به‌عنوان نقطهٔ آغاز تلقی کنید نه توصیف کاملی. کوردهای فزاینده بزرگ‌تر را تست کنید و مشاهده کنید آیا کلیدهای فشار‌داده‌شده ناپدید می‌شوند یا کلیدهای fantom ظاهر می‌شوند. نتیجه به شما می‌گوید چه چیزی به آن مرورگر روی آن میزبان و اتصال رسیده؛ برای ترکیب‌های واقعی شما از برچسب به‌تنهایی مفیدتر است، اما طراحی ماتریس داخلی را آشکار نمی‌کند.

آیا NKRO بخرید؟

NKRO با دیودایزولاسیون واقعی تحت شرایط عملیاتی عادی ghosting ماتریسی را پایان می‌دهد، اما برچسب «NKRO» به‌تنهایی چنین پیاده‌سازی‌ای را ثابت نمی‌کند و هر بردی هنوز یک سقف عملی فشار هم‌زمان دارد که توسط descriptor و فیرمور HIDاش تعیین می‌شود. «NKRO کامل» را به‌معنای عدم وجود کلید fantom و ظرفیت فشار هم‌زمان بالا در عمل تعبیر کنید، نه واقعاً هر کلید، همیشه، تحت هر بار قابل‌تصور. برد خاص خود را قبل از اتکا به برچسبش تست کنید، مسائل rollover را از مسائل نظرسنجی متمایز کنید چون نیازمند راه‌حل‌های متفاوت‌اند، و فیرمور، دیبانس و پردازش ورودی OS را قبل از فرض مسئلهٔ هاب یا پهنای باند بررسی کنید.

پرسش‌های متداول

NKRO روی کیبورد چه معنایی دارد؟

N-key rollover توصیف می‌کند کیبورد توانایی ثبت کلیدهای متعدد هم‌زمان را بدون اینکه هیچ‌کدام گم‌شده یا غلط‌گزارش شوند دارد. قرارداد نام‌گذاری ساده است: یک برد ۲KRO به‌طور اتکاپذیر دو کلید هم‌زمان را مدیریت می‌کند، یک برد ۶KRO شش کلید را و NKRO کامل هدف‌گذاری می‌کند هر کلید روی برد را یکجا. مشخصه با فشردن کوردهای عمدی و تأیید اینکه هر کلید مستقل گزارش می‌شود تأیید می‌شود. برای تایپیست‌های سریع که ضربه‌ها را هم‌پوشانی می‌کنند و گیمرهایی که کلیدهای حرکت را همراه modifiers و bindهای توانایی هم‌زمان نگه می‌دارند بیشتر اهمیت دارد.

ghosting کیبورد دقیقاً چیست؟

Ghosting وقتی رخ می‌دهد که فشردن ترکیب خاصی از کلیدها باعث ثبت کلیدی شود که هرگز لمس نکرده‌اید. علت در سیم‌کشی ماتریس است. کیبوردها کلیدها را به‌شکل gridی از ردیف‌ها و ستون‌ها اسکن می‌کنند نه اینکه هر کلید را جداگانه سیم‌کشی کنند، و در ماتریسی که دیود ایزولاسیون ندارد، سه فشار هم‌زمان خاص می‌توانند یک مسیر الکتریکی کامل کنند که کنترلر آن را به‌عنوان کلید چهارمی فشرده تعبیر می‌کند. کیبوردهای غشایی اقتصادی و بسیاری کیبوردهای لپ‌تاپ این را به‌راحتی نشان می‌دهند. بردهای طراحی‌شدهٔ مناسب ماتریس را با دیودها هدایت می‌کنند تا هیچ ترکیبی نتواند مدار fantom نسازد.

آیا NKRO واقعاً ghosting را از بین می‌برد؟

یک ماتریس NKRO با دیودایزولاسیون به‌درستی پیاده‌سازی‌شده، طراحی شده است که از ghosting ماتریسی سنتی تحت شرایط عملیاتی عادی جلوگیری کند. اگر یک کلید fantom روی کیبورد تبلیغ‌شده به‌عنوان NKRO مشاهده می‌کنید، توضیحات ممکن شامل ادعای اغراق‌آمیز، عیب فیرمور یا اسکن، یا یک حالت شکست متفاوت مانند سرریز گزارش HID است که فقط شبیه ghosting است. یک تست مرورگر می‌تواند الگوی رویداد تحویل‌شده را نشان دهد، اما به‌تنهایی نمی‌تواند علت داخلی را شناسایی؛ تست را روی اتصال مستقیم وقتی ممکن است تکرار کنید و کورد دقیق را ثبت کنید.

اگر کیبورد من NKRO کامل دارد، آیا کلیدها هنوز می‌توانند گم شوند؟

بله، و این تمایزی است که بیشتر سردرگمی پیرامون مشخصه را تولید می‌کند. NKRO به ghosting رسیدگی می‌کند که یک مسئلهٔ ماتریسی است، اما نمی‌تواند محدودیت گزارش USB HID را لغو کند، که یک محدودیت پروتکل در لایه‌ای کاملاً متفاوت کار می‌کند. یک بستهٔ HID کیبورد استاندارد شامل تعداد محدودی slot کی‌کد است. شمار کافی از کلیدها را درون یک پنجرهٔ گزارش واحد فشار دهید و بسته جایی برای قرار دادن مازاد ندارد، پس برخی به تعویق می‌افتند یا گم می‌شوند. این در استفادهٔ عادی نادر است اما در تست فشار کاملاً قابل‌تولید است.

محدودیت گزارش USB HID چیست؟

یک کیبورد USB HID کی‌کدها را درون بسته‌های گزارشی منتقل می‌کند که ساختارشان توسط descriptor HID دستگاه تعریف می‌شود. boot protocol، که هنگام راه‌اندازی سیستم و توسط پیاده‌سازی‌های حداقلی BIOS استفاده می‌شود، شش کلید منظم به‌علاوهٔ هشت بیت modifier را مجاز می‌داند. گزارش‌های کامل می‌توانند از آرایش‌های متفاوت شامل آرایه‌های کلید بزرگ‌تر یا بازنمایی‌های bitmap-style استفاده کنند، پس محدودیت عملی به فیرمور و descriptor متغیر است. فیرمور NKRO می‌تواند ظرفیت بیشتری از طریق آن آرایش‌ها یا چند رابط منطقی فراهم کند، اما نمی‌تواند فراتر از آنچه descriptor به میزبان اعلام کرده است.

چرا برخی کیبوردهای گیمینگ هنوز کلید گم می‌کنند؟

علل رایج شامل سرریز گزارش HID حین کورد بزرگ غیرعادی، lag فیرمور یا دیبانس، ادعای NKRO اغراق‌آمیز و مسائل پردازش ورودی سمت میزبان است. یک هاب یا کنترلر USB پربار می‌تواند در برخی تنظیمات مشارکت کند، اما ترافیک عادی کیبورد کوچک است و پهنای باند عموماً اولین مظنون نیست. تشخیص میان این امکانات نیازمند ثبت آنچه واقعاً رسیده و سپس تست کیبورد مستقیماً روی پورت یا میزبان دیگری است. همان کورد را پس از هر به‌روزرسانی فیرمور تکرار کنید تا مقایسه کنترل‌شده باشد.

چطور NKRO و ghosting را به‌درستی تست کنم؟

از تستر کیبورد استفاده کنید که یک نقشهٔ کلید مرئی همراه لاگ خام رویداد نمایش می‌دهد. چند کلید را هم‌زمان فشار دهید و دو شرایط را مستقل بررسی کنید. اول، هر کلیدی که فشار داده‌اید باید روی نقشه روشن شود، چون کلید گم‌شده نشانگر rollover یا محدودیت گزارش است. دوم، هیچ کلیدی که فشار نداده‌اید نباید روشن شود، چون کلید fantom نشانگر ghosting واقعی است. سپس به کوردهای فزاینده‌ بزرگ‌تر تشدید کنید تا بفهمید بردتان کجا واقعاً گزارش‌دهی را متوقف می‌کند. لاگ خام رویداد مهم است چون کدهای دقیقی را که سیستم‌عامل شما ثبت کرده نشان می‌دهد نه یک تعبیر.

آیا ۶KRO برای گیمینگ کافی است؟

برای بسیاری بازی‌ها، ۶KRO کافی است چون کوردهای متداول حرکت و modifier فقط شامل چند کلید هم‌زمان است. NKRO کامل در سناریوهایی مانند بازی‌های ریتمی نیازمند ورودی‌های هم‌زمان متعدد، تایپ استنوگرافیک یا mappingهای سفارشی پیچیده مفیدتر می‌شود. پرداخت برئت وقتی معقول است که ترکیب‌های واقعی شما از محدودیت تست‌شدهٔ برد فعلی تجاوز کند، نه صرفاً چون برچسب بزرگ‌تر است. کلیدهای استفاده‌شده توسط بازی خود را تست کنید نه اتکا به یک عدد بازاریابی عمومی، و یادتان باشد که تست مرورگر هم میزبان متصل را هم منعکس می‌کند هم کیبورد را.

آیا NKRO نیازمند نوع اتصال خاصی است؟

NKRO روی USB عموماً نیازمند آن است که کیبورد از یک قالب گزارش بزرگ‌تر یا منعطف‌تر از boot protocol شش‌کلیدی استفاده کند و میزبان آن descriptor را بپذیرد. برخی پیاده‌سازی‌های BIOS قدیمی و برخی فیرمور سیستم هنگام راه‌اندازی boot protocol را اجبار می‌کنند که می‌تواند برد را موقتاً به ۶KRO محدود کند. رابط قدیمی PS/2 ورودی چندکلیدی را متفاوت مدیریت می‌کرد چون scan code منتقل می‌کرد نه گزارش boot USB، هرچند PS/2 همچنان محدودیت‌های پروتکل و پیاده‌سازی خود را دارد. روی USB مدرن نتیجه به فیرمور، descriptor، پشتیبانی میزبان و برنامه‌ای که رویدادها را می‌خواند بستگی دارد. هر دو تست سیستم‌عامل و محیط pre-boot را بررسی کنید اگر رفتار بین آن‌ها متفاوت است.

چطور تأیید کنم ادعای NKRO یک کیبورد واقعی است؟

مستقیماً تست کنید نه اتکا به برگهٔ مشخصه. یک کورد به‌عمدی دشوار شامل کلیدهای حرفی متعدد با چند modifier فشار دهید، سپس تأیید کنید هیچ کلید فشار‌داده‌شته‌ای گم نشده و هیچ کلید فشار‌نداده‌شده‌ای ظاهر نشده. اندازهٔ کورد را فزاینده تشدید کنید تا چیزی خراب شود، که محدودیت مشاهده‌شده‌در مرورگر برد را نه ادعا‌شده‌اش برقرار می‌کند. اگر برد درون محدودهٔ ادعا‌شدهٔ خود کلید گم می‌کند، تنظیم دقیق را ثبت و با تعریف سازنده مقایسه کنید قبل از نتیجه‌گیری که ادعا نادرست است.

مقالات مرتبط