无法使用Python中的“键盘”库模拟ctrl + shift + left

时间:2019-05-26 12:54:24

标签: python keyboard keyboard-events

我正在使用Python(https://github.com/boppreh/keyboard)中的Keyboard全局钩子库来模拟其他应用程序中的按键操作(在输入文本期间,我正在替换单词的重音符号)。

对于简单的组合(例如'ctrl + c'或'ctrl + v'),一切都可以正常工作,但我还需要模拟一些更复杂的组合,最重要的是'ctrl + shift + left',本质上是“ Ctrl + Shift和向左箭头键”(突出显示文本中的最后一个单词)。

有人知道如何使用上述库在Python中执行此操作吗?甚至没有图书馆?

当前,我正在执行以下操作,首先按ctrl + shift,保持按下状态,然后传递左箭头键,然后释放ctrl + shift:

keyboard.press_and_release('ctrl+shift', True, False)
keyboard.press_and_release('left', True, True)
keyboard.press_and_release('ctrl+shift', False, True)

但是由于某种原因,这不起作用,它不会突出显示文本中的最后一个单词。 与此相同,这也不起作用:

keyboard.press('ctrl+shift+left')

也不是:

keyboard.send('ctrl+shift+left', True, False)
keyboard.send('ctrl+shift+left', False, True)

有什么想法可以使它正常工作吗?

1 个答案:

答案 0 :(得分:0)

我找到了执行此操作的库。以下代码是我认为您需要的。您确实需要安装pynput.keyboard。在下方的YouTube视频中,您可以找到该怎么做

from pynput.keyboard import Key, Controller
import time
keyboard = Controller()
keyboard.press (Key.ctrl )
keyboard.press (Key.left )
keyboard.press (Key.shift )
time.sleep (0.5)
keyboard.release (Key.ctrl )
keyboard.release (Key.left )
keyboard.release (Key.shift )

解释此问题的youtube视频在这里:https://www.youtube.com/watch?v=DTnz8wA6wpw

有关更多键的列表,请访问:https://pythonhosted.org/pynput/keyboard.html#pynput.keyboard.Key`

抱歉,迟到了,祝你好运

相关问题