NKRO vs Ghosting: Bir NKRO Klavye Neden Hâlâ Tuş Düşürür?
N-tuş rollover, bir klavyenin hayalet tuş üretmeden birçok eşzamanlı basışı raporlayabilmesini sağlar, ancak bu, her koşul altında her tuş vuruşunu yakalama garantisiyle aynı şey değildir. USB HID rapor tanımlayıcısı tek bir paketin kaç tuş kodu taşıyabileceğini sınırlar; bu yüzden tam NKRO olarak tanıtılan bir kart bile aşırı akorlar sırasında tuş düşürebilir. Ghosting, NKRO'nun diyot izolasyonuyla gerçekte çözdüğü bir matris kabloları sınırlamasıdır. Ağır eşzamanlı yük altında eksik tuşlar tamamen farklı bir sorundur; çoğunlukla rapor paketi kapasitesinden veya ana taraf kısıtlamasından kaynaklanır ve her ikisi de herhangi bir şeyin arızalı olduğuna karar vermeden önce tarayıcı tabanlı bir klavye testinde doğrulanabilir.
Kutuda yazan ile gerçekte olan
| Kutuda okuduğunuz | Gerçekte anlamı |
|---|---|
| “Full NKRO” | Bellenim çok yüksek sayıda eşzamanlı tuşu raporlayabilir, her tuş her zaman olmak zorunda değil. |
| “No ghosting” | Gerçek diyot izolasyonu test edilen kombinasyonlarda hayalet tuşları önler, ancak bellenim taktikleri tüm senaryoları kapsamayabilir. |
| “Her oyunla çalışır” | Klavyede hala bir HID tanımlayıcı tavanı ve tarama döngüsü vardır — çok büyük akorlar tuş kaybedebilir. |
| “N-key rollover” | N klavye tarafından belirlenir, protokol değil. 6KRO iddia eden bir klavyenin pratik tavanı altıdır. |
Özellikler yalan değil, ama eksiksiz resimler de değil. Etikette klavye ne için tasarlandığını söyler; tanımlayıcı ve bellenim her koşulda ne sunabileceğini söyler.
“Tam NKRO”, en çok tanıtılan klavye özellikleri arasında yer alır ve tipik olarak asla tuş kaçırmayacağınız garantisi olarak sunulur. Bu çerçeve yarı doğrudur. Gerçekten diyotla izole edilmiş bir NKRO uygulaması, matris ghosting’ini tamamen çözer, ancak “NKRO” etiketi tek başına böyle bir uygulamayı kanıtlamaz ve gerçek bir NKRO kartı bile her tuş vuruşunun tüm koşullar altında yakalanacağını garanti etmez. Bu iki ifade arasındaki boşluk, önemli kafa karışıklığı, gereksiz iadelerin düzenli akışı ve aynı kelimeyi kullanarak farklı problemleri tanımlayan kişiler arasında bol miktarda forum tartışması üretir.
Ghosting ve rollover iki farklı problemdir
Ghosting: bir matris kabloları problemi
Ghosting bir donanım matrisi artefaktıdır. Klavyeler tuşlarını her bir switch’i tek tek kablolamak yerine satır ve sütunlardan oluşan bir ızgara olarak tarar, çünkü tek tek kablolar işlem sayısız denetleyici pini gerektirirdi. İzolasyon diyotları olmayan bir matriste, üç belirli tuşa basmak denetleyiciyi dördüncü, dokunulmamış bir tuşun da basılı olduğuna ikna eden bir elektrik yolu tamamlayabilir. O hayalet kayıt ghosting’dir ve yazılım değil devre tasarımının bir özelliğidir.
Rollover: aynı anda kaç tuş kaydedilir
KRO olarak kısaltılan rollover, kartın aynı anda kaç tuş raporlayabildiğini açıklar. 2KRO bir kerede iki, 6KRO altı, tam NKRO ise prensipte tümü anlamına gelir.
NKRO ghosting’i nasıl ortadan kaldırır
NKRO ghosting için düzeltmedir, çünkü doğru uygulamalar her switch ile seri olarak bir diyot yerleştirir; böylece akım basılı olmayan tuşlardan geri akıp yanlış yollar oluşturamaz. Bir kart gerçekten NKRO uyguluyorsa hayalet basışlar elektriksel olarak imkânsızdır. Pazarlama iddiasının o kısmı tamamen doğrudur.

NKRO’nun kaldıramayacağı sınır
İşte pazarlamanın tutarlı biçimde atladığı. USB HID klavyeler, yapısı cihazın HID tanımlayıcısında bildirilen sabit boyutlu rapor paketleri içinde tuş kodları iletir. Boot protokolü altı normal tuş artı modifier bitlerine izin verir. Modern işletim sistemleri tarafından kullanılan tam HID klavye raporu paket başına benzer şekilde sonlu sayıda tuş slotuna izin verir; kesin rakam yazılım uygulamasına göre değişir.
Tek bir rapor penceresi içinde yeterince büyük sayıda tuşa basın ve paketin fazlalığı koymak için yeri basitçe yoktur. NKRO yazılımı, bitmap tarzı raporlar veya birden çok mantıksal HID arabirimi sunma gibi teknikleri kullanarak bu tavanı temel bir 6KRO karttan belirgin biçimde yukarı iter, ancak hiçbir yazılım ana bildirdiği kapasiteyi aşamaz.
Sonuç, tam NKRO olarak tanıtılan bir kartın bile aşırı akorlar sırasında tuş düşürebilmesidir; diyotlerin ortadan kaldırdığı ghosting yüzünden değil, rapor paketinin kapasiteye ulaşması yüzünden. Bu normal kullanımda gerçekten nadirdir. Yine de NKRO’nun her yük altında sıfır kayıpla sonsuz tuş anlamına gelmemesinin nedenidir.
Oyun kartınızın neden hâlâ tuş kaçırabileceği
Yüksek rolloverlı bir kart pratikte tuş düşürdüğünde neden neredeyse her zaman dört şeyden biridir:
- Yukarıda açıklandığı gibi olağandışı büyük eşzamanlı basışlar sırasında HID rapor taşması.
- Aktüasyon tarama döngüsünün temiz çözülebildiğinden daha hızlı olduğunda yazılım veya debounce gecikmesi.
- Özellik sayfasının uygulanan gerçeği aştığı abartılı bir NKRO iddiası.
- Aşırı yüklü bir USB denetleyici, yetersiz bir hub veya ağır işlemci yükü altında işletim sistemi giriş işlemesinden ana taraf kısıtlaması. Bunların hiçbiri klavyenin kontrolü içinde değildir.
Aralarında ayrım yapmak, tarayıcının gerçekte aldığı ham olay kodlarını günlüğe kaydeden bir test gerektirir, çünkü ancak o zaman tam olarak hangi tuşların ulaştığını ve hangilerinin hiç ulaşmadığını görebilirsiniz. Klavyenin nasıl hissettirdiğinden tahmin etmek güvenilir biçimde yanlış teşhis üretir.
Rollover ve polling hızı aynı şey değildir
Bu iki özellik bağımsızdır ve onları birleştirmek yanlış yükseltme satın almaya götürür:
- Rollover (KRO) aynı anda kaç tuşun kaydedilebileceğini belirler.
- Polling hızı (Hz) kartın bilgisayara ne sıklıkla raporladığını belirler; tipik olarak saniyede 125, 250, 500 veya 1000 kez.
Bir kart yalnızca 2KRO ile 1000Hz polling veya mütevazı 125Hz’de tam NKRO sunabilir. Yüksek polling her basışın daha çabuk kaydedilmesini sağlarken, yüksek rollover daha fazla basışın birlikte kaydedilmesini sağlar. Şikâyetiniz algılanan gecikmeyse polling hızı, kare süresi ve sistem gecikmesini araştırın. Şikâyetiniz akorlar sırasında kaybolan tuşlarsa rollover ve HID rapor sınırını araştırın. Onları tek bir özellik olarak ele almak, gerçekte ihtiyacınız olmayana para harcamaktır.
Gerçekte ne kadar rollover’a ihtiyacınız var?
Özelliği pazarlama kademesine değil gerçek kullanımınıza eşleştirin:
- Düz yazı: 6KRO fazlasıyla yeterlidir. Hızlı yazıcılar bile parmak geçişleri sırasında nadiren gerçekten üç veya dörtten fazla eşzamanlı tuşu aşar.
- Ana akım oyun: 6KRO iki hareket yönü artı bir modifier artı bir yetenek atamasını rahatça kapsar; bu da en zorlu akorların çoğunu tanımlar.
- Ritim oyunları, stenografi, karmaşık makro düzenleri: tam NKRO maliyetini haklı çıkarır, çünkü bu kullanım örnekleri normal bir çalışma modu olarak kasıtlı olarak büyük eşzamanlı girdiler içerir.
Bir perakendeci kullanım durumundan bağımsız olarak tam NKRO’nun gerekli olduğunda ısrar ediyorsa, bu teknik bir gereksinim değil bir satış konumudur.
Etikete güvenmek yerine doğrulayın
Klavye testimiz ham olay kodları günlüğünün yanında canlı bir tuş haritası gösterir. Kasıtlı zor bir akor basın ve üç koşulu kontrol edin: bastığınız her tuş aydınlanır, basmadığınız hiçbir tuş aydınlanmaz ve basılan her tuş olay günlüğünde görünür. Ardından bir şey başarısız olana kadar akor boyutunu kademeli olarak artırın; bu, kutudaki rakamdan ziyade kartınızın gerçek pratik sınırını ortaya çıkarır.

Tuşlar yalnızca bir hub üzerinden bağlandığında veya yalnızca sistem ağır yük altındayken düşüyorsa, klavye muhtemelen masumdur ve arıza bağlantı yolunda veya ana yapılandırmadadır. Donanım hakkında herhangi bir sonuca varmadan önce doğrudan bir anakart portunda test edin.
Matris tarama döngüsü: klavyeler gerçekte tuşları nasıl okur
Bir klavyenin tuş basışlarını donanım düzeyinde nasıl algıladığının anlaşılması, ghosting’in neden oluştuğunu, diyotların neden önlediğini ve tarama hızının rollover özellikleri yanında neden önemli olduğunu netleştirir. Süreç, çoğu kullanıcının hayal ettiği basit “bir tuşa bas, bir sinyal gönder” modelinden daha karmaşıktır.
Klavyenin içinde switch’ler satır ve sütunlardan oluşan bir ızgarada düzenlenir. Her switch bir satır hattı ile bir sütun hattının kesişiminde bulunur. Mikrodenetleyici tüm tuşları aynı anda okuyamaz; bunun yerine, aynı anda bir satır hattını yüksek seviyeye çıkarıp o satırdaki hangi switch’lerin basılı olduğunu görmek için tüm sütun hatlarını okuyarak onları hızla tarar. Ardından bir sonraki satıra geçer ve tekrarlar. 6 satır ve 18 sütuna sahip tipik bir klavye bir milisaniyenin altında tam bir tarama tamamlar; bu da tarama hızının saniyede 1000’in üzerinde olduğu anlamına gelir.
İzolasyon diyotları olmayan bir matriste, aynı satır veya sütunda birden çok tuşa basmak istenmeyen elektrik yolları oluşturabilir. Üç tuş ızgarada L şekli oluşturursa, aktif satırdan akım basılı switch’lerden geçip inaktif bir satırı geri çıkabilir ve denetleyicinin L’nin köşesinde bir dördüncü tuşun da basılı olduğuna inanmasını sağlayabilir. Bu, ghosting mekanizmasıdır ve matris tasarımının doğrudan bir sonucudur. Tarama hızlıdır, ancak elektrik yolları izole değildir.
Her switch ile seri olarak bir diyot eklemek bunu çözer çünkü diyotlar akımın yalnızca bir yönde akmasına izin verir. Diyotlar takılıyken akım basılı olmayan bir switch’ten geri akamaz; bu da hayalet devresini kırar. NKRO iddia eden her tuş bu diyotlara sahip olmalıdır; onsuz, yazılım kalitesinden bağımsız olarak belirli tuş kombinasyonları için ghosting fiziksel olarak kaçınılmazdır.
Tarama hızı ayrıca debounce ile etkileşir. Mekanik bir switch kapandığında, kontaklar kısa bir süre için — genellikle birkaç milisaniye, switch tasarımına göre değişir — fiziksel olarak seker ve hızlı açma-kapama geçişleri üretir. Denetleyici, tuş basışını kaydetmeden önce sıçramanın yerleşmesini beklemelidir; bu da her tarama döngüsünün bir debounce kontrolü içermesi anlamına gelir. Tarama döngüsü bir milisaniye ve debounce penceresi beş milisaniye ise, denetleyicinin olayı işlemesi için beş ardışık taramanın tuşu basılı göstermesi gerekir. Bu debounce gecikmesi kasıtlı bir takastır: daha kısa pencereler daha hızlı yanıt verir ama gürültü kaydı riski taşır; daha uzun pencereler kararlıdır ama giriş gecikmesi ekler. Debounce uygulaması bir yazılım tasarım kararıdır; bu da özdeş switch donanımına sahip iki klavyenin neden tepkisellikte farklı hissedebileceğidir.
Bu tarama mimarisi ayrıca bir klavyenin neden yüksek polling hızları iddia edebildiğini ama yine de ağır eşzamanlı yük altında tuş kaçırabildiğini açıklar. Polling hızı, işlenen tuş basışlarının bilgisayara ne kadar hızlı gönderildiğini belirler, ancak tarama döngüsü ve debounce tuşların başlangıçta ne kadar hızlı algılandığını belirler. Tarama döngüsü tüm basılı tuşları tek bir rapor penceresi içinde çözemezse, bazıları bir sonraki rapora ertelenir ve kullanıcıların rollover sınırlarına atfettiği düşmüş tuş belirtisini üretir.
Diyotlar neden paraya mal olur: NKRO’nun üretim ekonomisi
Diyotlar ghosting’i o kadar etkili çözüyorsa, neden her klavye onları içermiyor? Yanıt ekonomiktir ve maliyet yapısını anlamak üretici iddialarını daha eleştirel yorumlamanıza yardımcı olur.
NKRO klavyedeki her switch bir diyot gerektirir — tipik olarak toplu alımda çok ucuz olan küçük bir sinyal diyotu (kesin fiyat tedarikçiye ve miktara göre değişir). 87 tuşlu bir klavyede ham diyot maliyeti bir doların altındadır. Gerçek masraf başka yerdedir. Her diyot devreye yerleştirilmeli, lehimlenmeli ve test edilmelidir. Tam otomatik bir üretim hattında bu, kart başına işleme süresi ekler. El lehimli küçük parti üretim hattında işçilik maliyeti önemli olabilir. PCB ayrıca diyot pedlerini barındırmak için daha büyük izlerle tasarlanmalıdır; bu da kart karmaşıklığını ve malzeme maliyetini biraz artırır.
Ayrık switch’ler yerine esnek bir membran üzerine basılmış iletken iz kullanan ekonomik membran klavyeler için, üretim sürecinin temel bir yeniden tasarımı olmadan diyot eklemek mümkün bile değildir. Membran klavyeler aşırı entegrasyon yoluyla düşük fiyat noktalarına ulaşır: tüm matris tek bir geçişte basılır, hiçbir ayrık bileşen yoktur. Bir membran kartta NKRO, maliyet avantajını iptal eden hibrit bir yaklaşım gerektirir.
Bunun yarattığı pazar bölümlendirmesi kasıtlıdır. Premium mekanik klavyeler NKRO tanıtır. Tam NKRO için perakende premium genellikle mütevazıdır — genellikle birkaç dolardan on beşe kadar, marka ve modele göre değişir. Ekonomik mekanik klavyeler çoğu zaman USB üzerinden NKRO iddia eder ama onu yazılım hileleriyle uygular — bitmap raporları, birden çok mantıksal arabirim — diyot gerektirmeden rollover sınırını uzatan. Bu uygulamalar altıdan fazla tuş raporlayabilir ama belirli kombinasyonlar altında yine ghosting yapabilir, çünkü temel matriste diyot izolasyonu yoktur. “NKRO” pazarlama etiketi donanım NKRO (diyotlu) ile yazılım NKRO (diyotsuz) arasında ayrım yapmaz; bu da testin neden önemli kalır.
Bu ekonomik yapı ayrıca 6KRO’nun bir standart olarak kalmasını açıklar. Altı tuş rollover, tuş düzeninin dikkatli tasarımıyla diyotsüz bir matriste elde edilebilir; bu da yaygın oyun kombinasyonlarının ghostinge yatkın kesişimlere düşmemesini sağlar. Ana akım oyun pazarını hedefleyen üreticiler için 6KRO, tam NKRO’dan daha düşük maliyetle yeterli işlevsellik sunar ve fiyata duyarlı alıcı uygulamada sınıra nadiren rastlar. Tam NKRO için prim mutlak olarak mütevazıdır — perakendede belki beş ile on beş dolar — ama klavyelerin tek dolar marjlarına kadar fiyatta rekabet ettiği bir pazarda, belirgin bir ürün kademesi yaratmak için yeterince önemlidir.
Alıcı için pratik çıkarım, NKRO iddialarını garanti yerine başlangıç noktası olarak ele almaktır. NKRO olarak tanıtılan bir klavyenin diyotları olabilir veya sınırı uzatan ama tüm kombinasyonlar altında ghosting’i ortadan kaldırmayan yazılım hilelerine güvenebilir. Bilmenin tek kesin yolu, gittikçe daha büyük akorlarla test etmek ve herhangi bir hayalet tuş ortaya çıkıp çıkmadığını gözlemlemektir. Bu test iki dakikadan az sürer ve kartınızın neyi ele alabileceğini tam olarak söyler; bu da özellik sayfasından çok daha güvenilirdir.
NKRO mu almalimiz?
NKRO ghosting’i sona erdirir ama USB HID’nin kısıtlarını ortadan kaldırmaz. “Tam NKRO”yu hiçbir hayalet tuş olmadığı ve çok yüksek eşzamanlı basış kapasitesi olarak yorumlayın; her koşulda, her yük altında tam olarak her tuş olarak değil. Etiketine güvenmeden önce kendi kartınızı test edin, rollover problemlerini polling problemlerinden ayırın çünkü farklı çareler gerektirirler ve yalnızca bir hub üzerinden veya yalnızca sistem yükü altında görünen düşmüş tuşların genellikle arızalı bir klavye değil ana taraf arızası gösterdiğini unutmayın.