NKRO 無衝
0
歷史最大值 · 修飾符並未計算在內
目前按下 0
修改器已保留 0
衝突狀態 --
Esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
`
1
2
3
4
5
6
7
8
9
0
-
=
⌫
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
\
Caps
A
S
D
F
G
H
J
K
L
;
'
Enter
Shift
Z
X
C
V
B
N
M
,
.
/
Shift
Ctrl
Win
Alt
Space
Alt
Win
Menu
Ctrl
Ins
Home
PgUp
Del
End
PgDn
↑
←
↓
→
Num
/
*
-
7
8
9
+
4
5
6
1
2
3
Ent
0
.
同時按下多個按鍵,測試您的鍵盤是否支援全鍵無衝突。

鍵盤防衝突測試 & N鍵無衝 (NKRO) 檢測

這個鍵盤防衝突測試(Ghosting Test)能精準顯示您的鍵盤可以同時識別多少個按鍵,以及哪些按鍵組合會被默默忽略。您可以按住任意一組按鍵——例如 W、A、Shift 和空白鍵,或是直接雙手同時按下多個鍵——螢幕上的虛擬鍵盤會亮起瀏覽器實際接收到的每一個按鍵。最高峰值計數器會記錄您同時按下的普通按鍵數量(Shift、Ctrl、Alt 和 Win/Cmd 會分開計數,因為 USB 協定將它們放在獨立的位元組中),並自動評估您的鍵盤是 2KRO、6KRO 還是全鍵無衝 (NKRO)。無需安裝任何軟體,所有的按鍵記錄都只在您的瀏覽器本地進行處理。

什麼是鍵盤按鍵衝突 (Ghosting)?

鍵盤按鍵衝突(Ghosting)是指當您物理上按下一個鍵時,因為它所在的按鍵組合發生衝突,導致鍵盤未能將該鍵的訊號回報給電腦。您能明顯感覺到軸體按到底了,但螢幕上卻沒有出現相應的字元,遊戲裡的角色也沒有跳躍。這個詞最初的含義指的是相反的問題——螢幕上出現了一個沒人按過的幽靈按鍵 (Phantom Key),但兩者的起因是一樣的。

每個鍵盤內部都是一個網格。控制器並不是為每個按鍵配備一根獨立的導線;而是由一組行和列交叉組成,每個軸體都位於一個交叉點上。控制器每秒數百次地逐行通電並檢測哪些列有響應。當您同時按下共享相同行和列的三個鍵時——例如同一個區塊內的 Q、E 和 A——第四個交叉點的電路也會隨之閉合。控制器無法區分這個多出來的幽靈按鍵和真實的按鍵。

舊式鍵盤會讓這個幽靈按鍵的訊號通過,這也是 Ghosting 這個名字的由來。現代鍵盤則採取了更安全的做法:當遇到這種模糊的電路模式時,它們會選擇阻塞 (Jamming),丟棄其中一個按鍵訊號,而不是憑空捏造一個。這就是為什麼今天的鍵盤防衝測試通常發現的是按鍵無反應而不是多出按鍵,也是為什麼測試結果取決於您按下了哪些特定的按鍵,而不僅僅是按下了多少個按鍵。

什麼是 N鍵無衝 (NKRO)?

N鍵無衝(N-Key Rollover,簡稱NKRO)意味著無論您同時按下多少個按鍵,每一個按鍵的訊號都會被獨立且準確地回報。製造商實現這個目標的方法是在每個軸體後面加裝一個二極體,這樣電流只能單向流過矩陣電路,從而從物理上杜絕了幽靈交叉點的產生。

問題的另一半在於連接線。標準的 USB HID 鍵盤回報格式剛好有六個普通按鍵碼的空間,外加一個位元組用於修飾鍵(兩個 Shift、Ctrl、Alt 和 Win/Cmd 鍵)。這就是 boot protocol(開機通訊協定)格式,它的設計初衷是保持簡單,以便在載入任何驅動程式之前 BIOS 就能讀取它。如果一個鍵盤只發送這種標準回報,那麼無論它的內部矩陣有多麼高級,它最多也只能同時識別六個普通按鍵。

不過,USB 本身並不是極限。鍵盤可以宣告自訂的 HID 回報,或者並行發送多個回報,從而傳遞無限數量的按鍵——這就是透過 USB 實現 NKRO 的鍵盤的工作原理,也是 QMK 和 VIA 韌體提供 NKRO 切換開關的方式。舊式的 PS/2 鍵盤完全避開了這六個插槽的回報限制,但鍵盤的內部矩陣仍然需要支援 NKRO,PS/2 介面的優勢才能發揮出來。

2KRO vs 6KRO vs NKRO

您的鍵盤按鍵衝突測試結果會屬於以下三個級別之一:

  • 2KRO (2鍵無衝) — 只能同時識別兩個按鍵,如果它們位於不同的行,有時能識別三個。常見於舊式的薄膜辦公鍵盤和一些廉價的筆記型電腦。這就是為什麼 W + Shift + 空白鍵 的組合會失效的原因。
  • 6KRO (6鍵無衝) — 能夠識別六個普通按鍵外加最多八個修飾鍵。這是 USB 開機通訊協定的標準,也是目前最常見的測試結果。對於幾乎所有的打字需求和大多數遊戲來說,這已經足夠了。
  • NKRO (全鍵無衝) — 沒有任何實際的上限。每個按鍵都有二極體隔離並被獨立回報。這是發燒級機械鍵盤的標配,在遊戲鍵盤中也很常見,而且通常帶有切換開關,以便鍵盤在 BIOS 模式下也能正常運作。

市場行銷往往會混淆這些概念。「防衝突 (Anti-ghosting)」 並不是 NKRO 的同義詞:它通常意味著製造商只在特定的部分按鍵上添加了二極體——通常是 WASD 區域和修飾鍵——以確保流行的遊戲按鍵組合不會衝突。一款標榜「19鍵防衝」的鍵盤,指的是它能處理19個特定的按鍵組合,而不是您隨意挑選的任意19個按鍵。

如何解讀您的測試結果

請逐個按住鍵盤上的按鍵,並在不鬆開任何鍵的情況下繼續添加按鍵。峰值計數器會顯示您同時按住的普通按鍵的最大數量,而修飾鍵(Shift、Ctrl、Alt、Win/Cmd)則在旁邊單獨計數——這個普通按鍵的峰值就是您鍵盤實際的防衝能力 (Rollover)。如果您按住的某個鍵在虛擬鍵盤上沒有亮起,說明該鍵的訊號被阻塞了——請記下這個按鍵組合,因為特定的組合才是關鍵,而不僅僅是按鍵的數量。

在您認為硬體有問題之前,了解基於瀏覽器的測試有哪些限制是很重要的:

  • 作業系統會優先攔截某些快捷鍵。例如 Alt+Tab、Windows 或 Command 鍵、Ctrl+W、PrtSc 和 F11 可能永遠不會傳遞給網頁。為了獲得準確的結果,請使用字母鍵、數字鍵、修飾鍵和空白鍵進行測試。
  • 組合 Fn 鍵的訊號是由鍵盤內部處理的,通常不會產生任何系統級別的按鍵事件。它們在測試中沒有反應是正常的,並非故障。
  • 修飾鍵在 USB 回報中占用一個獨立的位元組,因此它們永遠不會占用六個普通按鍵碼的插槽。它們在這個測試的佈局中仍然會亮起,但不計入峰值數量和防衝評級中:一個按住 Ctrl+Shift+Alt 再加六個字母鍵的 6KRO 鍵盤,依然是 6KRO,而不是 NKRO。尋找真正的上限時,請關注六個字母鍵。
  • 如果一個正常的 USB 鍵盤剛好停在六個按鍵上,這是符合預期的標準行為,而不是缺陷。許多鍵盤出廠時帶有 NKRO 切換功能——可以透過 Fn 快捷鍵、官方驅動軟體,或者在 QMK/VIA 韌體中使用 NK_TOGG 來切換。
  • 這個測試無法區分是矩陣阻塞還是軸體本身損壞。如果某個按鍵即使單獨按下也沒有任何反應,那是另一種故障——請執行完整的鍵盤測試來逐個檢查每個按鍵。

玩遊戲真的需要 NKRO 嗎?

對於大多數遊戲來說,不需要。六個按鍵加上修飾鍵已經遠超單手在操作鍵盤(另一隻手握滑鼠)時所能按下的極限了;在 FPS 遊戲中,同時按下 W、A、Shift、空白鍵 和 R 已經是非常密集的重疊操作了。真正讓玩家感到困擾的不是防衝鍵數不夠,而是那些廉價的 2KRO 鍵盤連三個鍵都處理不了,或者是那些只針對 WASD 優化了「防衝突」,卻讓習慣使用 ESDF 鍵位的玩家吃虧的鍵盤。

NKRO 的真正價值體現在一些特定的場景中:比如需要像彈鋼琴和弦一樣同時按住七個或更多列的音樂節奏遊戲(osu! mania 7K 是最經典的例子)、速記、透過電腦鍵盤輸入 MIDI 音樂訊號、在鍵盤上玩雙人按鍵密集的格鬥遊戲,以及需要配置大量密集快捷鍵的 MMO 遊戲。對於這些情況,NKRO 是必須的,而不僅僅是錦上添花。如果您只是盡可能快地交替敲擊兩到四個按鍵,而不是同時按住很多按鍵,那麼無衝能力 (Rollover) 並不是您的瓶頸——執行鍵盤cps測試能讓您更好地了解這種連續輸入的性能。

有一點需要澄清:NKRO 並不會讓您的鍵盤變得「更快」。無衝能力關係到能同時回報多少個按鍵,而不是回報的速度。回報率是一個完全不同的屬性;如果您追求的是超低的延遲和反應速度而不是同時按鍵的數量,那麼鍵盤回報率測試才是您應該關注的指標。為了降低輸入延遲而去購買 NKRO 鍵盤,完全是搞錯了重點。

常見問題 (FAQ)

為什麼我不能同時按下 Shift + 空白鍵 + W 鍵?

您的鍵盤在其內部矩陣中阻塞了這個特定的組合——這三個鍵共享的行和列導致控制器無法同時解析它們。這是一個硬體物理限制,所以沒有任何驅動程式或軟體可以修復它。解決辦法是將這三個鍵中的一個重新綁定到鍵盤的其他位置,或者把跳躍鍵改到滑鼠按鍵上,這樣組合就能恢復正常了。當然,更換一個 6KRO 或 NKRO 鍵盤可以徹底解決這個問題。

防衝 (Anti-ghosting) 和全鍵無衝 (NKRO) 是一回事嗎?

不是的。防衝 (Anti-ghosting) 通常意味著製造商只在有限的一組按鍵(通常是 WASD 區域和修飾鍵)上增加了二極體或額外的佈線,以確保常見的遊戲組合鍵不會衝突。而 N鍵無衝 (NKRO) 意味著鍵盤上的每一個按鍵都被獨立隔離,沒有任何組合會發生阻塞。標榜「19鍵防衝」的鍵盤只能處理特定的19個按鍵,而不是您隨意選擇的任意19個按鍵,這就是為什麼當您將鍵位從 WASD 更改後,防衝功能可能就失效了。

玩遊戲真的必須要有 NKRO 全鍵無衝嗎?

對於大多數遊戲來說,不需要——6KRO 加上修飾鍵足以應付 FPS、MOBA 或 MMO 遊戲中單手的任何操作要求。NKRO 真正發揮作用的是像 osu! mania 7K 這樣的音樂節奏遊戲、速記輸入、MIDI 音樂輸入以及鍵盤格鬥遊戲。此外,如果您習慣使用非 WASD 的自訂鍵位,NKRO 也會很有幫助,因為廉價的「防衝」功能通常只針對 WASD 區域進行優化,無法在 ESDF 或數字排上保護您的操作。

我最多只能同時按 6 個鍵——我是不是必須買個新鍵盤?

不一定。六個普通按鍵加修飾鍵是標準的 USB 開機通訊協定回報格式,因此一個完全正常且健康的鍵盤通常會剛好在這個數量停止反應。很多鍵盤在出廠時預設處於 6KRO 模式,但實際上隱藏了 NKRO 切換功能,這可能需要透過 Fn 快捷鍵、官方驅動軟體或者 QMK/VIA 韌體中的 NK_TOGG 來開啟——在購買新鍵盤之前,請先檢查一下是否有這個選項。如果沒有這個切換開關,那 6 個鍵就是真正的硬體上限,只能透過更換硬體來提升。

為什麼我有些鍵不能同時按,而其他的按鍵組合卻沒問題?

因為按鍵阻塞取決於您按下了哪些鍵,而不僅僅是按鍵的數量。控制器將按鍵讀取為行和列的交叉點,當被按下的鍵共享了足夠多的行和列時,就會閉合一個實際上沒人碰過的第四個交叉點。為了不錯誤地回報一個幽靈按鍵,韌體會丟棄其中一個真實的按鍵訊號。分布在不同行和列上的按鍵永遠不會發生衝突,這就是為什麼 Q+E+A 組合會失敗,而同時按下分散在鍵盤各處的六個鍵卻完全沒問題的原因。

把 USB 鍵盤轉換成 PS/2 介面,能讓它變成 NKRO 嗎?

不能。一個轉接頭無法賦予鍵盤控制器原本不具備的無衝功能,轉接後您通常依然會被限制在 6KRO 甚至更糟的水平。PS/2 介面之所以享有 NKRO 的美譽,是因為它採用按鍵中斷的方式發送訊號,沒有六鍵回報的限制。但是,鍵盤內部的矩陣仍然必須在每個軸體後面配備二極體,才能利用好這一優勢。只有那些原本就為 NKRO 設計的鍵盤,才能從 PS/2 介面中獲益。

我的鍵盤最多能同時識別多少個按鍵?

在上面的測試區域中,逐個按住鍵不放,然後查看峰值計數器——那個數字就是答案。修飾鍵會顯示在旁邊,而不是加到總數中,因為它們不占用普通的按鍵碼插槽。您可以預期較舊的薄膜鍵盤最多識別 2 個鍵,大多數 USB 鍵盤能識別 6 個普通按鍵加上最多 8 個修飾鍵,而 NKRO 全鍵無衝鍵盤則沒有實際的上限。製造商很少將這個具體數字印在包裝盒上,規格表上的「防衝」字眼也不能告訴您具體數量,因此親自動手測試永遠比看說明書更靠譜。