Autokey(autokey-qt)不听从键盘命令但可以通过鼠标菜单正常工作

Autokey(autokey-qt)不听从键盘命令但可以通过鼠标菜单正常工作

我正在运行 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,现在它应该可以工作了。

相关内容