最近越來越多人對鍵位衝突的話題有興趣,但是許多玩家甚至媒體的解讀是錯的,所以小編在此重點說明一些概念、並分享如何測試。在許多遊戲與軟體中都會使用組合鍵功能,也就是同時按下特定幾個按鍵之後就能觸發特別的功能,簡單的說就是一些動作的快捷鍵。不過,有時候按不出功能並不是軟體的問題,而是鍵盤內部硬體的問題。
鍵盤內部為矩陣設計
不管是薄膜式鍵盤或機械式鍵盤,內部都有行與列組成的電路圖,這些行與列都至少會有16條線路與8條線路交叉形成,組合出共有128個交叉點。目前鍵盤按鍵數大約為103鍵,所以這些電路已經足夠使用。由於鍵盤的按鍵資訊都是設計在鍵盤矩陣中,裡面每個行與列的交錯點都代表著1個按鍵資訊。當有按鍵被壓下時,鍵盤就會進行掃描動作來查詢是哪顆鍵被壓下。這部分是很容易理解的,不過當使用者同時按下的按鍵越多時,狀況就有點不同。
產生鬼鍵造成鍵位衝突
當只有1個按鍵被壓下時,鍵盤會進行掃瞄行與列資訊來判斷,但如果超過1顆按鍵同時按下時就沒這麼容易。在同一個井字矩陣電路中的4個按鍵訊號,如果有同時3個按鍵被按下,會送出2個行與2個列的資訊,鍵盤是無法反推判斷是哪3個按鍵,而會認為是4個按鍵同時按下,這時沒有真正按下卻被送出的按鍵就稱為鬼鍵(Ghost Key)。
有些鍵盤會避免輸出錯誤的按鍵資訊,選擇忽略玩家按下的第3個鍵,這時便會有按下3個鍵卻只輸出2個按鍵訊號的狀況,這些都是為了避免產生鬼鍵造成鍵位衝突所採用的一種應變方式。不過有的鍵位設計則是設法加以改良,註明支援N-Key Rollover(NKRO),也就是可以同時輸出多顆按鍵,不會有鍵位衝突的問題。也有一些電競鍵盤,針對遊戲常用的特定按鍵進行矩陣電路最佳化避免鍵位衝突,也可以減少玩家出錯的機會。
▲薄膜式鍵盤與機械式鍵盤內部都是由矩陣電路所組成,此為鍵盤訊號示意圖,實際電路圖每家廠商都有所不同。
微軟線上進行簡易判斷鍵位訊號
透過國外的KeyboardTest付費軟體(約新台幣768元),或者由台灣玩家Ivan Lin開發的hKBTEST免費軟體都能測試,不過無論如何方便性也比不上直接開啟網頁就能測試。微軟設計了一個網頁平台,可以讓玩家利用網頁上的元件就能測試鍵盤的按鍵訊號。測試時可以分別將常用的3個鍵各別測試,比較容易判斷出哪些鍵一起按時會產生鬼鍵,這些都可以在設定快捷組合鍵時做為一個重要的參考指標。網址是:http://www.microsoft.com/appliedsciences/KeyboardGhostingDemo.mspx。
▲微軟提供線上測試鍵位衝突問題,直接在網頁上就能即時測試。
打字快與鍵位衝突無關
近來有些玩家與媒體認為,打字輸入太快會造成鍵位衝突,小編在這裡可以跟各位掛保證這完全是兩回事。鍵位衝突的發生與否,與打字輸入的快慢毫無關係,按下去會產生鬼鍵的這3個按鍵,並不會因為速度太快或太慢而改善,千萬不要被誤導了。
如果以連接介面來說,對於內部設計會造成鍵位衝突的鍵盤,就算更改成PS/2與USB都還是會造成鍵位衝突。唯一差別的在於USB鍵盤通常都會受到USB規範所限制,只能有6+2鍵輸出,不能像PS/2鍵盤可以達到全部按鍵同時輸出。況且鍵盤衝突是鍵盤內部設計所造成的問題,跟外部輸出介面不同沒有相對關係。一般玩家看到這裡就可以了,如果真的很有興趣,可以翻閱75期電腦王雜誌,會有更詳細的說明。