python如何实现监听热键开始和结束程序??

#python如何实现利用热键中断正在循环的函数
例如以下代码:循环打印‘hello’

import keyboard, time

def run():
    for i in range(10):
        time.sleep(1)
        print('hello')


keyboard.add_hotkey('ctrl + v', run)
keyboard.wait('ctrl + x')

执行后按下‘CTRL+v’ 开始执行函数的循环,此时按下‘CTRL+x’, 无法终止,必须等for循环结束

但如果在循环中,插入一个判断,如下

import keyboard, time

def run():
    for i in range(10):
        time.sleep(1)
        print('hello')
        if keyboard.read_key() == 'x':
            print('stop')
            break


keyboard.add_hotkey('ctrl + v', run)
keyboard.wait('ctrl + x')

执行后只打印一次‘hello’就一直等在判断那个位置

那么如何实现监听热键开始和结束程序(例如:某音乐软件在后台运行,按’CTRL+空格‘暂停/播放)?
是否用到多线程或者多进程,代码是怎么写的?