Autokey(autokey-qt)冻结并且无法插入文本

Autokey(autokey-qt)冻结并且无法插入文本

根据这里和 lifehacker 的一些建议,我开始使用 autokey。

它工作了一周,效果很好,但从今天起,它现在

  • 当我尝试输入新短语名称时挂起。

  • 当我在窗口管理器中按下“x”时通常不会关闭

  • 不再回应我的缩写短语。

自上次成功尝试使用它以来,我添加了一些短语并重新启动。

另一位用户报告了类似的问题gtk 版本的 autokey

从命令行运行的结果似乎显示一些异常错误:

Exception in thread KeypressHandler-thread:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 808, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/dist-packages/autokey/iomediator.py", line 202, 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 732, in check_input
    abbr = self._should_trigger_abbreviation(buffer)
  File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 131, in _should_trigger_abbreviation
    if self.__checkInput(buffer, abbr):
  File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 144, in __checkInput
    stringBefore, typedAbbr, stringAfter = self._partition_input(buffer, abbr)
  File "/usr/lib/python2.7/dist-packages/autokey/model.py", line 191, in _partition_input
    stringBefore, typedAbbr, stringAfter = currentString.rpartition(abbr)
ValueError: empty separator

完整日志在这里

任何帮助,将不胜感激。

答案1

这是我对有问题的代码的修改:

/usr/lib/python2.7/dist-packages/autokey/model.py

def _should_trigger_abbreviation(self, buffer):
    """
    Checks whether, based on the settings for the abbreviation and the given input,
    the abbreviation should trigger.

    @param buffer Input buffer to be checked (as string)
    """
    for abbr in self.abbreviations:
        if abbr == "":
            continue
        if self.__checkInput(buffer, abbr):
            return True

答案2

在对自动键进行更多操作之后,我注意到我的一个“缩写”后面附加了一个逗号,并用括号括起来:[<myabbreviation>,]

经过进一步检查,该“短语”规则启用了第二个额外的空白“缩写”,当删除该缩写时会导致括号消失。

自从删除这个多余的空白“缩写”后,Autokey 似乎现在可以完美运行。

相关内容