python-script-library/一直按着x按键.py

44 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import keyboard
import time
import sys
# 可配置参数
START_STOP_KEY = '-' # 启动/停止按键
HOLD_KEY = 'w' # 程序运行时持续按下的键
EXIT_KEY = 'esc' # 注意虽然你要求ESC不退出但我们会忽略它
# 状态变量
is_running = False
should_exit = False
def on_p_pressed(e):
global is_running
if e.event_type == keyboard.KEY_DOWN:
is_running = not is_running
if not is_running: # 当停止时立即释放按键
keyboard.release(HOLD_KEY)
print(f"程序 {'已启动' if is_running else '已停止'}")
def main():
print(f"程序已启动,按 {START_STOP_KEY} 键开始/停止,按 Ctrl+C 退出")
print(f"程序运行时将持续按下 {HOLD_KEY}")
keyboard.hook_key(START_STOP_KEY, on_p_pressed)
try:
while not should_exit:
if is_running:
keyboard.press(HOLD_KEY)
# 保持按键状态,但允许其他事件处理
time.sleep(0.1)
else:
time.sleep(0.1)
except KeyboardInterrupt:
print("\n程序通过 Ctrl+C 退出")
finally:
if is_running:
keyboard.release(HOLD_KEY)
keyboard.unhook_all()
if __name__ == "__main__":
main()