Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Also ich habe pynput installiert und ansich funktioniert es auch gut nur habe ich ein problem mit meinem Programm. Es bewegt die Maus nur wenn ich irgendeine Taste drücke und ich weiß nicht warum, weil eigentlich soll sich die Position der Maus permanent ändern. Kann mir vielleicht jemand helfen?
from pynput import keyboard
from pynput.mouse import Controller
def escape():
with keyboard.Events() as events:
for event in events:
if event.key == keyboard.Key.esc:
return False
else:
return True
mouse = Controller()
run = True
while run:
run = escape()
position = mouse.position
x, y = position
x += 1
y += 1
mouse.position = (x, y)
print('Finished')
print('Now we have moved it to {0}'.format(
mouse.position))
@Gödel: Das stimmt nicht. Das Problem ist Deine `escape()`-Funktion blockiert bis eine Taste gedrückt wurde. Das nächste Problem ist dann, dass man von dem Events-Objekt nicht ständig neue erzeugen darf. Zumindest bei einem X-Server endet das schnell in einer Fehlermeldung, dass zu viele X-Clients erstellt wurden.
#!/usr/bin/env python3
from pynput.keyboard import Events, Key
from pynput.mouse import Controller
def check_for_escape(events):
event = events.get(0.01)
return event and event.key == Key.esc
def main():
with Events() as events:
mouse = Controller()
while not check_for_escape(events):
x, y = mouse.position
mouse.position = (x + 1, y + 1)
print("Finished")
print(f"Now we have moved it to {mouse.position}")
if __name__ == "__main__":
main()
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent