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

键盘内部为矩阵设计

不管是薄膜式键盘或机械式键盘,内部都有行与列组成的电路图,这些行与列都至少会有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. socket浅谈

    1什么是socket? socket的英文原义是“孔”或“插座”.作为进程通信机制,取后一种意思. 通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄. (其实就是两个程序通信用的.)是 ...

  2. PMBOK 项目管理 九大知识领域和五大流程 PMI

    Project Management Institute.PMI 是世界上最大的非盈利机构,是项目管理领域的领导者.PMI制定项目管理行业标准,带领项目管理的研究并提供项目管理的培训,证书,还有一些加 ...

  3. OVERLAY代码重入

    OVERLAY代码重入问题:自己遇到的问题 编写的测试代码如下: #include <stdio.h> #define BYTE unsigned char #define BYTE un ...

  4. 苹果开发证书相关BLOG与Delphi IOS环境安装(超详细)

    注:有好的资源,请添加了上传,上传后,通知管理员,删除旧文件,累积相关的学习资源,方便新手学习 一.相关论坛http://www.2ccc.com/ delphi 合子 www.2pascal.com ...

  5. 正则表达式小试牛刀--匹配我的csdn博文标题

    正则表达式小试牛刀--匹配我的博文标题 作者:vpoet 邮箱:vpoet_sir@163.com 正则匹配,我以我的博客页面的博客标题为例:http://blog.csdn.net/u0130187 ...

  6. MongoDB C Driver and APIinstances linux MongoDB安装配置

    <一,linux平台MongoDB安装配置>在这我们使用的Centos6 yum部署的,你想搞编译,自个干!

  7. IP、路由配置

    IP地址组成: 网络地址主机地址32位二进制 A类: 255.0.0.0, 8:    0 000 0001 - 0 111 1111     127个A类,127用于回环,1-126    2^7- ...

  8. 2、elasticsearch 的安装和插件的安装

    1.安装Elasticsearch集群 1.下载elasticsearch-2.0.0.tar.gz,执行tar -zxvf elasticsearch-2.0.0.tar.gz解压 2.修改conf ...

  9. DICOM:C-GET与C-MOVE对照剖析

    背景: 之前专栏中介绍最多的两款PACS各自是基于dcmtk的dcmqrscp以及Orthanc.和基于fo-dicom的DicomService(自己开发的).该类应用场景都是针对于局域网,因此在使 ...

  10. Java中基础类库使用

    Java中基础类库: 在这里我仅仅介绍几种我个人觉得会常常使用的 1:Object类中的Clone机制仅仅是对对象进行浅层次的克隆,假设须要进行深层次的克隆的话那么就要自己写(详细Clone方法请參考 ...