Pyautogui, tkinter, threading

Есть вот такой код (вырезал из GUI программы, по некоторым причинам не могу показать всю)

import pyautogui as p
import threading as t
from tkinter import *

root = Tk()

x = input()
a = 0
s = True

while s:
    print('next')
    p.keyDown('a')
    def sfunc():
        root.after(x, p.keyUp('a'))
        s = False
    thread = t.Thread(target = sfunc, daemon = True)
    thread.start()
    if a == 0:
        a = 1
        sfunc()

Правда, он очень странно работает. Изначальная задача - сделать функцию зажима клавиши 'a', где x - время, через которое клавиша должна "отжаться" [p.keyUp('a')]. Если x == 0, клавиша будет зажата вечно. Мучаюсь с threading, толку мало.

Вроде с time все работает нормально, но в оригинале это GUI программа на tkinter, так что тут не подойдет. Прошу объяснений и помощи в целом.


Ответы (0 шт):