去年我就发现我的电脑存在着反引号失灵的问题。当时排查了很久都没有发现问题出在哪里。不过因为当时很少写sql和md,也就放在那里没管了。但是现在经常要写md,没有反引号相当不方便,这两天又重新审视了这个问题,最后在朋友的帮助下顺利解决。
问题的表现
本身问题就表现得非常诡异: 反引号失灵,但是~可以正常输入。
最初的尝试
最初的尝试在去年12月。首先要想到的可能的问题就是是否是硬件失灵。不过“~”可以进行正常输入否认了这一点。进一步地,使用外接键盘也没有改善这一点。
接下来考虑的问题是软件问题。我尝试更新了驱动,仍然没有解决问题。
谷歌与stackoverflow也能给我正确的解决方案。随后我放弃了对这个问题进行解决。
新问题与进一步的尝试
最近写markdown比较多,所以这个问题突然变得格外烦人。昨天偶然间发现使用虚拟键盘仍然无法避开这个问题,参考下图。
这让我意识到这个问题可能是软件层面的设置冲突导致的,我当时考虑的是我是否偶然间修改了底层的按键映射设置。在朋友的帮助下,他向我提供了一个同样问题的的链接与解决方案Tilde/Backtick button not working on Windows 10。我尝试后仍然没有让问题得到解决。我当时居然没有搜出来这个问题,真是太菜了。 不过这也启发了我:可能是快捷键冲突导致的问题。
经过进一步的排查,我找到了罪魁祸首。
我使用的Snipaste版本的默认快捷键中讲反引号设置为了“鼠标”穿透功能,这个功能在非截图状态不会有任何表现,在截图时才会有反应。快捷键冲突导致了反引号失效。之后将快捷键绑定到其他按键问题就消失了。
正确的排查思路
现在回头看,我本身对于问题的处理手段是有问题的。在最开始发现很可能不是硬件问题后,我就应该在一个隔离的环境中测试反引号是否能进行正确的输入,之后再进行进一步的排查。在一个复杂的环境中测试要面对太多的变量了。