最近在开发过程中遇到了些神奇的事情。

具体情况是做一款手写识别程序时,用户反馈自己每写一笔就会开始识别,并清除笔迹。


img

ok,经过一番精心的查看,原因是用户在使用鼠标书写收到了来自键盘的输入,而刚刚好我在业务上又监听了PreviewTextInput事件,在进行键盘输入时清理书写笔迹。于是问题就找到啦~~img

什么鬼啊!为什么鼠标操作能够收到键盘输入啊!你**的鼠标还是键盘啊!

是的~

。。。

img

就是这个家伙,他是一个长着鼠标外表的键盘

刚刚去razer的论坛看了看,目测是驱动问题。还有他家的键盘被识别成鼠标的反馈。。

以为就是这样的问题,但是,用户又说触摸书写也不行啊~

img

总不成屏幕也是keyboard吧~

呼,还好不是。

再看下输入的字符\u0003ETX 正文结束,什么鬼,每次都是输入这个家伙。

ε=(´ο`*)))唉,调试吧~

结果调试了一会,准备ctrl+shift+s的时候,出现了

img

所以真相是有道的划线取词,每次mouseup后会向焦点文本框输入一个ETX

img

珍爱生命,远离有道~


本文会经常更新,请阅读原文: https://haungtengxiao.gitee.io/post/%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9A%84%E4%B8%96%E7%95%8C%E7%9C%9F%E5%A5%87%E5%A6%99.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://haungtengxiao.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系