有时候鼠标滚轮滚动时页面上串下跳的,相信好多朋友都遇到过这种情况吧,这种情况多数是因为鼠标编码器那部分有问题,如果是光电的编码器,可能是鼠标里有灰尘等导致的,清理一下就好了,如果是机械编码器,那就有可能因为使用时间过长,编码器内部金属片接触不好导致的,换一个新的编码器就好了。
鼠标机械编码器滚轮的一端插在转盘里面,滚动滚轮的时候,转盘被带动旋转,产生有相位差的两路脉冲信号,电脑程序依靠这两路信号的相位关系判断滚轮的旋转方向,依靠高电平持续时间判断滚动速度。
拆一个机械编码器来看。里面的结构并不复杂,一共才4个零件。最左边是铁的外壳,上面一般会有厂家信息,安装高度,和寿命等。比如下图中的编码器安装高度9毫米,寿命200万圈。
然后是有刻度的滚轮,再往右是弹片和编码信号处理底座。转盘旋转的时候带刻度的这一面和这个弹片摩擦,产生段落感,滚轮滚动的时候会有一格一格的感觉,就是来自于这个转盘和弹片。转盘另外一面镶嵌了一个带触点的接触片,3个触点每个间隔120度,是等分的,分别对应3个扇形区域。
上图中最右边的塑料壳底座内嵌了三个铜片,这三个铜片分别和3根引脚相连。这3个扇形区域面积并不一样,而且其中有一个是实芯的,没有栅格,另外两个相等,都有栅格。把这几个区域给它一个编号,分别对应0 1 2,转盘转动时候接触片和3个铜片交替连接,断开,持续发出不同的信号,这个信号被鼠标处理并传递给电脑,电脑依据这个信号来判断滚轮的转运方向,如果把时间单位也加进去,就可以判断出滚轮转动的速度了。
把转盘上的接触片加上,这个绿色的三叉指针代表接触片。以顺时针旋转为例,随着旋转,就会出现不同的信号组合。当电脑程序收到这个信号,就会判断出鼠标在某单位时间内,做出了顺时针旋转的动作。以此类推,那如果电脑收到反向排列的信号,那就是滚轮在逆时针旋转,这就是机械编码器的工作原理。