Как запустить, остановить цикл по нажатию клавиши?

Как лучше реализовать запуск цикла по нажатии кнопки, при повторном нажатии остановка\выход из цикла? Я сделал таким образом, с запуском цикла проблем нет, а вот с остановкой проблема в задержки и что бы остановить приходится зажимать кнопку. Как я понимаю это надо как то отдельными потоками реализовывать? Можно пример?

def control():
    while True:
        if keyboard.is_pressed("a"):
            while True:
                print("работаю")
                time.sleep(1)
                if keyboard.is_pressed("a"):
                    print("завершил")
                    time.sleep(1)
                    break

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

Автор решения: Михаил Петров

Сделал "воттаквот"

def control():
    global IsWork
    if IsWork:
        IsWork = False
        print("завершил")
    else:
        IsWork = True
    
keyboard.add_hotkey('a', control)


IsWork = False
while True:
    if keyboard.is_pressed("a"):
        while IsWork:
            print("работаю")
            time.sleep(1)
→ Ссылка
Автор решения: Олег Никитин
import keyboard 

count = 0

while True:

    count +=1
    print(count)
    if count == 3000:
        break
    elif keyboard.is_pressed("q"):    # Клавиша для остановки цикла
        break
→ Ссылка