tag 标签: 键盘

相关博文
  • 热度 3
    2023-10-27 11:26
    1116 次阅读|
    0 个评论
    对现代人来说,工作、日常生活或休闲娱乐几乎都已离不开电脑,作为人机接口主流的键盘鼠标便成为关键,在办公室、咖啡厅、图书馆或任何安静的场所,传统鼠标与键盘的点击声容易显得吵杂,虽然随着时代演进推出具差异化的静音鼠标键盘产品,但现实问题是:市面上标榜静音的鼠标与键盘真的够安静吗?是否真的有比较静音?差距又会有多少呢?当市场上的产品未能提供消费者实际噪音量测数据参考,终端品牌跟通路商又该如何选择供货商产品? 为此,产品验证经验丰富的百佳泰做了实际数据研究,根据我们的实证,发现商品与宣称的静音效果真相! 静音键盘鼠标实例分享 消费者或采购商面对以静音功能为主打的产品,该如何从中比较?我们的研究显示市面上的静音鼠标和键盘若能在产品介绍和文宣中,附上量测的实验结果数据、与上一代产品或与他牌产品的比较数据,更能够让消费者清楚了解该产品的静音表现,吸引到注重噪音问题的消费者买单。 百佳泰从市面上选购几款热销商品,采用GRAS 40HF低底噪麦克风搭配APx500 Flex Audio Analyzer来实际量测以下几款键盘鼠标,单位为dB(A)。 鼠标噪音量测结果 本文隐去品牌及型号名称 从数据显示,整体静音表现以Mouse B最佳,而同样标榜静音的Mouse A跟Mouse C平均表现虽略优于未标榜静音的Mouse D,但其中噪音最大值跟最小值却有出现劣于一般鼠标的表现。 键盘噪音量测结果 (最大值) 本文隐去品牌及型号名称 键盘噪音量测的部分,我们分别以键盘中的五个按键来量测做比较。取其最大值量测结果 来观察,可看出静音表现确实是以标榜静音键盘的Keyboard C最佳。
  • 热度 7
    2023-9-28 11:44
    1550 次阅读|
    0 个评论
    高速的年代、延迟的连线!蓝牙键盘鼠标产品情境测试仿真
    键盘与鼠标是系统上最常使用的人机接口装置(HID/Human Interface Device),在早期以有线方式做连接,而现在则以蓝牙连线为主流,下列蓝牙装置的使用情境你可能也不陌生,例如:远程开会,同时使用蓝牙耳机、蓝牙键盘与鼠标等装置,但又加上各种其他无线装置的干扰,造成连线问题或使用不顺畅。这类情况不仅造成使用者体验不佳,还可能影响品牌形象,甚至产生退货问题! 针对这类风险,百佳泰能够提供使用者情境模拟测试,可以测试蓝牙装置在不同应用情境下是否会发生问题。根据百佳泰丰富的认证测试经验,我们有能力建立具有代表性又能兼具定性定量的模拟环境,例如:使用电波隔离箱(Shielding Box)隔离无法控制的外界Wi-Fi、BT等电波信号,或将主测物跟干扰源放置在电波隔离箱中,模拟出使用者平常使用的环境。 以下测试我们将BT Mouse做为主测物,而BT Keyboard则做为陪测物跟干扰源。BT Mouse进行BT重新连线测试(Reconnection),仿真用户正在使用计算机,此时会有基本的BT Mouse与BT Keyboard连线,由此模拟情境来实验待测物BT Mouse是否会出现问题。 测试实例分享 BT Mouse重新连线测试(Reconnection) 我们透过BT Sniffer软件撷取到的起始与结束封包的时间间隔做计算。从上表可见,with / without keyboard的Reconnection时间非常接近,两种情境平均Reconnection时间约1.2秒,但有出现过一次连接时间异常的状况,依照研究, 1.2 秒是使用者体感会有明显延迟的感受 ,显见不论是否有干扰问题,此鼠标在连线上都急需改善。 而在通知厂商状况后,厂商紧急更新Mouse FW,结果大幅改善如下: 新版本的FW可看到with / without keyboard的Reconnection时间缩短至0.1秒左右,此FW修改对连线表现有显著改善。 新FW的Reconnection整整减少了90%的时间,而且with/without keyboard的两种情境Reconnection时间也相近,在使用者端便感受不出延迟,也大幅改善使用者体验。 从我们的实测结果发现,即使无干扰源,厂商设计的鼠标在连线上就已经不符合使用者期待,依现实状况中到处都有无线装置的情境,连线状况势必更加严峻。
  • 热度 20
    2019-7-11 15:37
    4451 次阅读|
    0 个评论
    键盘作为指令与文字输入的工具,对于计算机工作者、程序撰写工程师、游戏玩家来说,有线键盘都已经成为不可或缺的必需品。随着无线连接技术的成熟,采用2.4GHz和蓝牙技术的无线键盘也持续增加,越来越多用户为了追求功能性和方便性,也会选择使用无线键盘。 现今无论是在家庭、公司或是电竞会场内,皆有提供无线的连网服务,而无线连网的Wi-Fi技术和蓝牙都会用到2.4GHz的无线工作频段,所以会造成联机频段上共存的技术性问题,共存不仅会直接影响了无线键盘联机的质量,更会造成用户在使用体验上不佳的感受。 根据百佳泰丰富的无线相关测试经验,我们将2.4GHz无线共存的问题,对2.4GHz键盘和蓝牙键盘可能造成的影响,归纳了下列状况 : 无线信号的干扰造成空白掉字,重复输入等错误 无线信号的干扰造成2.4GHz和蓝牙键盘输入的延迟,甚至失效 因为联机问题会造成不好的用户体验, 导致客诉, 用户会质疑制造者的质量管理, 进而影响了品牌设计的名声。 针对2.4GHz和蓝牙键盘的无线共存问题,百佳泰透过以下三个检测基准: 「环境架设」、「工作表现判断基准」、「实际测试结果」 来说明,借着验证市售三款蓝牙键盘,在无线信号干扰情况下所造成的错误和劣化。 环境架设 由于各家品牌的键盘设计不同, 键盘按压的速度和频率都会大幅影响测试的结果和测试的正确性,百佳泰实验室全程使用自动化机械手臂以定速、定量的方式执行连续性、重复性的按压键盘动作,确保每一次测试结果的稳定度和一致性。 同时,借着仿真蓝牙键盘在不同场域的使用情形,执行测试时会将蓝牙键盘放在电波隔离室内隔绝外在信号干扰,制造一个干净的无线通信空间进行测试。 另外提供其他可控制的干扰源达成模拟不同场域的测试情境。 图一 : 蓝牙键盘无线共存测试架设图 关于干扰信号的仿真,百佳泰实验室能够提供不同用户场景的干扰情境,例如:干扰程度小的家庭环境、干扰程度中的办公室环境、干扰程度大的网咖与商场等,并可提供下列几种不同的控制方式来模拟: 实际架设无线网络路由器并调整发射功率 实际架设无线蓝牙相关设备进行干扰 使用测试仪器传送可控制信号的干扰 蓝牙键盘工作表现的判断基准 百佳泰提供的无线共存测试标准是以用户体验的感受为判断依据,也就是一般使用者常遇见的蓝牙键盘打字正确度、延迟性的问题,和干扰后蓝牙键盘工作临界点分析。 对上述问题,百佳泰提供相对应的检测项目: 正确度测试: 使用机械手臂连续按压300次,每次测试比对按压次数是否正确以及是否有出现掉字的状况发生。 延迟性测试: 使用百佳泰实验室开发的量测工具,来计算器械手臂按下键盘后与屏幕上实际出现相对应数值的时间差。 干扰情境的临界点分析: 使用百佳泰实验室开发的量测工具,来观察键盘在干扰后的可工作临界点及与其他产品的差异。 实际测试结果 下面的结果(表一)是3家不同品牌的蓝牙键盘所测试出的正确度,从结果来看,微软(Microsoft)在无干扰的测试环境中表现最佳,苹果(Apple)次之。而在加入3个干扰的测试环境中(模拟低干扰的家庭使用环境),可以发现3家品牌测试结果与无干扰的情况下相比会有退化的现象发生,但仍然能看出微软(Microsoft)的抗噪声能力是较好的,苹果(Apple)次之。 表一:实测正确度结果 下列(表二)为归纳不同程度的用户对于键盘延迟在感受上的差异 表二:延迟性容忍度 针对使用者延迟性感受上的差异,百佳泰实验室开发了延迟量测的AI工具,根据所得到的延迟性结果和干扰后键盘工作的临界值分析,可以容易的评定产品的质量及其相对应的用户体验。 在这次的测试结果(如下表三)上来看,微软(Microsoft)在无干扰的测试环境中延迟秒数大约为40~200毫秒,而在加入3个干扰的测试环境中(如右图,模拟低干扰的家庭使用环境),延迟会明显变高和提前,但是该牌相较于其他两家可以看出能保有较佳的延迟时间和较好的工作临界值。 表三:实测延迟性和失效性结果 透过以上正确度、延迟性、受干扰后工作临界值的三个测试结果得知,微软(Microsoft)的蓝牙键盘在无线干扰的情况下,仍能保有较佳的工作表现的结论。 在无线产品越来越多的情况下,无线共存的问题会越来越明显,百佳泰重视这个问题,扮演着为客户质量把关的角色,并提供点线面的全方位测试服务,从精准的延迟性测试、一致性的测试过程和环境,模拟出与实际环境接近的干扰情境,协助您在后续强化自己的产品让用户在实际环境中得到更佳的用户体验并提升产品的市场竞争力。
  • 热度 22
    2013-9-4 14:57
    1610 次阅读|
    3 个评论
             指针实际上只是一个寄存器,只保存指向内存的地址非实际需要的数值。一般使用它都是需要有一个实际保存内容的变量,一般是用结构体,使用指针主要是方便操作,如下Key 键值读取,直接操作寄存器地址,同时运用宏定义,简化使用。         msOS 通过扫描方式实现了矩阵键盘值读取同时也实现了长按与短按键功能,通过注册函数KeySystemTickService 来收集与检测按键信息供其他函数使用。         按键实现机理,从原理图来分析,原理图设计已经做了特如处理,按键处接了vdd3.3V 和 电阻 1K,默认状况是接按键 的5个IO口都是低电平,若是有按键按下,其中相应的IO口为输入高电平。         扫描函数(ScandPin)中通过改变了行按键 输出值, (ScandPin01 = 0;ScandPin00 = 1),通过判断列的IO口状况,输出自己定义的按键值。            长按与短按及去抖动实现原理:是在 KeySystemTickService 函数中进行计数 ScandCounter 及 JitterCounter,此函数被SysTick_Handler 函数调用,sysTick 为系统CPU 节拍时钟,即所谓心跳函数。每隔100个tick 进行运行一次KeySystemTickService 函数。 一个Tick 时间由如下函数得到  SysTick_Config(SystemCoreClock / 10000);长按短按判断依据是在每执行一次KeySystemTickService 函数时候,若是有按键之后读到的值为invalid,JitterCounter--,去抖动,若是无松开则ScandCounter++,判断第二次值是否一样,若是不一样丢掉按键信息即是去抖原理,一样按键值,ScandCounter++ 继续增加,当超过设定的最长按键时间(ScandCounter = LongInterval)之后抛出按键消息。     精彩绝妙的宏定义及指针使用,直接操作寄存器。 //IO口操作,只对单一的IO口!确保n的值小于16! #define BIT_BAND(addr, bitnum) ((addr 0xF0000000)+0x2000000+((addr 0xFFFFF)5)+(bitnum2)) #define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr)) #define BIT_ADDR(addr, bitnum)   MEM_ADDR(BIT_BAND(addr, bitnum)) #define PaIn(n)    BIT_ADDR(GPIOA_IDR_ADDR,n) #define PaOut(n)   BIT_ADDR(GPIOA_ODR_ADDR,n) #define PbIn(n)    BIT_ADDR(GPIOB_IDR_ADDR,n) #define PbOut(n)   BIT_ADDR(GPIOB_ODR_ADDR,n) #define ScandPin00 PbOut(4) #define ScandPin01 PbOut(5) #define ScandPin10 PcIn(10) #define ScandPin11 PcIn(11) #define ScandPin12 PcIn(12) #define ScandPin13 PbIn(3) #define ShortInterval   3  /*短按按键间隔*/ #define LongInterval    40  /*长按按键间隔*/ #define JitterInterval  10  /*防误动按键间隔*/ 详细操作函数如下:(函数名字很直观表达函数内容) static byte RemapKey(byte scandValue) //重新定义短按键键值 {     switch(scandValue)     {         case 0xEF:             return(0);         case 0xDF:             return(1);        。。。         default:             return(invalid);     } } static byte RemapLongKey(byte scandValue) //重新定义长按键键值 {     switch(scandValue)     {         case 0xEF:             return(0x30);         case 0xDF:         。。。         default:             return(invalid);     }  }   static byte ScandPin(void) // 扫描方式检测按键 {     byte scandValue;       scandValue = invalid;     if(ScandPin13 == 0)         scandValue = 0x7F;     if(ScandPin12 == 0)         scandValue = 0xBF;     if(ScandPin11 == 0)         scandValue = 0xDF;     if(ScandPin10 == 0)         scandValue = 0xEF;     ScandPin00 = 0;     ScandPin01 = 1;       DelayUs(1);     if(ScandPin13 == 0)         scandValue = 0xF7;     if(ScandPin12 == 0)         scandValue = 0xFB;     if(ScandPin11 == 0)         scandValue = 0xFD;     if(ScandPin10 == 0)         scandValue = 0xFE;     ScandPin01 = 0;     ScandPin00 = 1;     return(scandValue); } void KeySystemTickService(void) // 注册机制,检测是否有按键,发送KeyMessageType 类型的PostMessageQueue 消息。 {     byte scandValue;     scandValue = ScandPin();    ....                 if (ScandCounter == LongInterval)         {             PostMessageToLogicTask(KeyMessageType, RemapLongKey(ScandValueSave));                    }         else if (ScandCounter ShortInterval)         {             PostMessageToLogicTask(KeyMessageType, RemapKey(ScandValueSave));         }         ScandCounter = 0;         ScandValueSave = invalid;         JitterCounter = JitterInterval;  }     ..... } void SysTick_Handler(void) {     static unsigned char Counter = 0;     。。。。     switch(Counter)     {      。。。。。。         case 15:             SystemTick100RegisterPointBlock ();             break;                      case 97:             RtcSystemTickService();             break;         case 99:             KeySystemTickService();             break;         default:             break;     }     AdcSystemTickService(); // System.Device.Io.SetBeep(true);  CheckstationSystemTickService(); }   硬件图如下: 欢迎各位与我一起学习ARM 技术,我的E-MIAL:timeisours@163.com,web:www.51buddy.com,QQ:158377757
  • 热度 18
    2010-1-16 20:56
    1573 次阅读|
    0 个评论
    2006/12/24 11:06:56 不是研究书写历史的人。 但对人类书写的进程略知一二。 文字是意识的一种符号,是传递信息的方式。 最早的习惯是结绳以书,那时是多么简单,大概理解也容易错误。 然后有壁书,甲书,陶书,人们用各种方式将点滴信息保留下来。 没有纸张的年代,有了昂贵的竹简书、绢书、皮书,这时人们开始了有类似笔的物件。 终于纸张出现了,笔在不同地区不同种族中有不同地方式。 纸张技术决定了笔的方式,中国人执著地使用了上千年的毛笔,一种优美、缓慢的书写方式。而西方却是以蘸水笔-鸟毛为主,直至工业革命,钢笔的出现。到今天,笔的种类和方式已经象牛毛一样。 中国人从毛笔转向钢笔,是一种革命,也是一种时尚,许多年间,人们胸前因为有一只钢笔而自豪。 毛笔在这样的革命中,逐渐演化为一种艺术,让一些人在上面继续保持乐趣。 时代到今天,信息早已经不是纸面上面地图形和文字了。更加多的使用二进制代码进行保留和传递。 这样趋势还是演化和推进。 早晚有一天,人们会非常少纸面书写的,各种新的信息输入方法会出现,也许我们只要思考,在脑子里面发出一个指令,就会将信息变成代码去传输和保存。 手工书写会变成一种情绪一种情趣一种爱好,连签名都还会减少,更加少。 今天,我用键盘。 而我自在!
相关资源