玩家甚至媒体的解读是错的,所以小编在此重点说明一些概念、并分享如何测试。在许多游戏与软体中都会使用组合键功能,也就是同时按下特定几个按键之后就能触发特别的功能,简单的说就是一些动作的快捷键。不过,有时候按不出功能并不是软体的问题,而是键盘内部硬体的问题。

键盘内部为矩阵设计

不管是薄膜式键盘或机械式键盘,内部都有行与列组成的电路图,这些行与列都至少会有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期电脑王杂志,会有更详细的说明。

键盘有没有NKRO ?微软帮你测的更多相关文章

  1. WinForm中为按钮添加键盘快捷键,超简单,亲测有效

    博主并没有多少Windows平台下程序的开发经验,一年前使用过MFC设计过一个指纹识别系统的页面,后来就没有使用过几次.现在C#课程实验要求实现一个简易计算器,为了便于快速录入数据,使用键盘会比使用鼠 ...

  2. .NET下如何拦截鼠标、键盘消息?Win32NET来帮你

    Win32NET是一个Win32API的.NET下封装的类库,包含: 1: 常用win32的API的net封装 2:鼠标.键盘.热键hook钩子模块, 3:模拟键盘输入文字(支持各种字符文字.不同语言 ...

  3. WPF 自定义键盘焦点样式(FocusVisualStyle)

    WPF 自带的键盘焦点样式是与传统控件样式搭配的,但 WPF 凭着其强大的自定义样式的能力,做出与传统控件样式完全不同风格的 UI 简直易如反掌.这时,其自带的键盘焦点样式(FocusVisualSt ...

  4. Windows程序内部运行机制 转自http://www.cnblogs.com/zhili/p/WinMain.html

    一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...

  5. 深入浅出话VC++(1)——Windows程序内部运行机制

    一.引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序 ...

  6. VS Code好用到飞起的配置设置

    Visual Studio Code是一个轻量级但功能强大的源代码编辑器,可在桌面上运行,适用于Windows,macOS和Linux.它内置了对JavaScript,TypeScript和Node. ...

  7. 【.NET与树莓派】上手前的一些准备工作

    .NET Iot 不是什么新鲜事物,百科很强大,故老周在此也不必多介绍.现在的时代和老周当年学 QBasic 的时代不同,那时候拉根电话线上网,下载速度只有可怜的 3.5 kb/s.而且还要去店里买上 ...

  8. Microsoft Build 2016 Day 1 记录

    去年今日:Microsoft Build 2015 汇总 今年的 Bulid 时间是 3.30-4.1,第一天的主角主要是 Windows 10.人工智能.HoloLens.小娜等,详细介绍:3 分钟 ...

  9. [MVC4]ASP.NET MVC4+EF5(Lambda/Linq)读取数据

    继续上一节初始ASP.NET MVC4,继续深入学习,感受了一下微软的MVC4+EF5(EntityFramework5)框架的强大,能够高效的开发出网站应用开发系统,下面就看一下如何用MVC4+EF ...

随机推荐

  1. Obstack是C标准库里面对内存管理的GNU扩展

    Obstack是C标准库里面对内存管理的GNU扩展 Obstack介绍 Obstack初始化 在Obstack中申请对象 释放对象 申请growing object 获取Obstack状态 数据对齐 ...

  2. Java 遍历Map

    Set<Map.Entry<String, String>> aSet = map.entrySet(); Iterator<Map.Entry<String, S ...

  3. HttpContext请求上下文对象

    一.HttpContext概述 HttpContext基于HttpApplication的处理管道,由于HttpContext对象贯穿整个处理过程,所以,可以从HttpApplication处理管道的 ...

  4. mysql 保留的关键字

    mysql> select precision from Product; ERROR 1064 (42000): You have an error in your SQL syntax; c ...

  5. Unity 2DSprite

    Unity官方意识到在4.3版本之前,并没有自带的支持2D游戏工具,商店里面有很多有名2D插件Uni2D,2DToolkit,在4.3版本之后就出现UISprite精灵来支持2D游戏开发,我用这个很多 ...

  6. Android学习总结——文件储存

    Android中文件存储的操作: 1.Activity的openFileOutput()方法可以把数据输出到文件中2.创建的文件保存在/data/data/<package name>/f ...

  7. TRIZ系列-创新原理-32-改变颜色原理

    改变颜色原理的详细描写叙述例如以下:1)改变物体或其环境的颜色:2)改变物体或其环境的透明度:3)对于难以看到的物体或过程.使用颜色加入剂来观測.4)假设已经使用了这样的加入剂,那么使用发光跟踪或原子 ...

  8. POJ2241——The Tower of Babylon

    The Tower of Babylon Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2207   Accepted: 1 ...

  9. 【贪心】【uva11520】 Fill the Square

    填充正方形(Fill the Square, UVa 11520) 在一个n×n网格中填了一些大写字母,你的任务是把剩下的格子中也填满大写字母,使得任意两个相邻格子(即有公共边的格子)中的字母不同.如 ...

  10. 监控代码运行时长 -- StopWatch用法例程

    在.net环境下,精确的测量出某段代码运行的时长,在网络通信.串口通信以及异步操作中很有意义.现在做了简单的总结.具体代码如下: (1).首先 using System.Diagnostics; (2 ...