Я пишу скрипт python, используя библиотеку pynput
, в которой я хочу выбрать текст определенной длины.
Для этого я сначала нажимаю shift, а затем нажимаю многократную клавишу со стрелкой влево. Чтобы текст оставался выбранным курсором, его можно использовать и для копирования.
Вот мой код:
from pynput import keyboard
from pynput.keyboard import Controller
keyboard_controller = Controller()
with keyboard_controller.pressed(keyboard.Key.shift_l):
keyboard_controller.press(keyboard.Key.left)
keyboard_controller.release(keyboard.Key.left)
keyboard_controller.press(keyboard.Key.left)
keyboard_controller.release(keyboard.Key.left)
keyboard_controller.press(keyboard.Key.left)
keyboard_controller.release(keyboard.Key.left)
Это перемещает мой курсор влево на 3 шага, но даже если сдвиг нажат, текст не будет выбран. Что мне здесь не хватает?
Редактировать:
ОС: Windows 10
Окружающая среда: Python 3.6.5
Вот демонстрация того, что происходит в моем коде vs.
Может, попробовать?
from pynput.keyboard import Key
from pynput.keyboard import Controller
keyboard = Controller()
Опция 1:
with keyboard.pressed(Key.shift):
keyboard.press(Key.left)
keyboard.release(Key.left)
keyboard.press(Key.left)
keyboard.release(Key.left)
Вариант 2:
keyboard.press(Key.shift)
keyboard.press(Key.left)
keyboard.release(Key.left)
keyboard.press(Key.left)
keyboard.release(Key.left)
keyboard.release(Key.shift)
Вариант 3:
keyboard.press(Key.shift.value)
keyboard.press(Key.left.value)
keyboard.release(Key.left.value)
keyboard.press(Key.left.value)
keyboard.release(Key.left.value)
keyboard.release(Key.shift.value)
Вот видео-доказательство, что оно работает на моей машине :)