#python #loops #events #pynput
#питон #петли #Мероприятия #pynput
Вопрос:
while running == True:
events = get_gamepad()
for e in events:
x_add,y_add = translate(e) # translates button pressions into keyboard
# and mouse actions
mouse.move(x_add,y_add)
Я пытаюсь создать код, который получает входные данные от моего контроллера Xbox и воспроизводит соответствующий ввод с моей клавиатуры и мыши.
Функция translate()
, которая должна это делать, отлично работает с кнопками, но проблема возникает, когда я пытаюсь переместить курсор с помощью джойстиков: он перемещается, но только тогда, когда я регистрирую новое событие, перемещающее джойстик, если я не перемещаю их и нет обновления, мой цикл не повторяется, так что даже если я использую джойстик до упора, он не регистрирует никаких новых событий, и мой курсор не перемещается.
Комментарии:
1.
mouse.move(x_add,y_add)
находится внеfor
цикла. Я думаю, что это должно быть внутри.2. Я пробовал оба, но проблема в том, что при выполнении цикла for он не продолжается до тех пор, пока не будет зарегистрировано событие. Также извините за мой английский.
3. Попробуйте решение, предложенное здесь: github.com/zeth/inputs/issues/7