我正在运行 kubuntu,多年来一直成功使用自动密钥,但不久前系统更新破坏了它。我最初尝试等待,看看是否会推出修复程序。
现在,6 个月过去了,我仍然无法使用键盘命令提示自动插入文本。但是,如果我单击系统托盘中的自动键符号并选择我想插入的短语,它就可以正常工作。
从 shell 运行 autokey-qt 会产生以下结果:
enter<class 'Xlib.protocol.request.QueryExtension'>
<class 'Xlib.protocol.request.QueryExtension'>
Exception in thread KeypressHandler-thread:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/dist-packages/autokey/iomediator.py", line 204, in run
target.handle_keypress(rawKey, modifiers, key, windowName, windowClass)
File "/usr/lib/python2.7/dist-packages/autokey/service.py", line 179, in handle_keypress
currentInput, windowInfo, True)
File "/usr/lib/python2.7/dist-packages/autokey/service.py", line 304, in __checkTextMatches
if item.check_input(buffer, windowInfo):
File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 735, in check_input
abbr = self._should_trigger_abbreviation(buffer)
File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 134, in _should_trigger_abbreviation
if self.__checkInput(buffer, abbr):
File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 147, in __checkInput
stringBefore, typedAbbr, stringAfter = self._partition_input(buffer, abbr)
File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 194, in _partition_input
stringBefore, typedAbbr, stringAfter = currentString.rpartition(abbr)
ValueError: empty separator
我如何才能让自动键再次识别基于文本的提示?
答案1
为了修复这个“空分隔符”错误,我不得不挖掘~/.config/autokey/data
子文件夹中的隐藏文件
提示1:文件名以.
提示2:从最新的短语开始,因为它们是最有可能的罪魁祸首。
文本文件中有一个部分应如下所示:
"abbreviations": [
",a",
",alpha"
],
其中,a
和,alpha
以上对应于触发插入相应短语的键序列。
然而,在违规的“短语”规则中,“缩写”部分会有一个额外的空白条目,如下所示
"abbreviations": [
",a",
",alpha",
""
],
删除引号中的空白""
和前面的逗号,
保存文件并重新启动 Autokey,现在它应该可以工作了。