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

44 lines
1.3 KiB
Python
Raw Permalink Normal View History

2025-10-28 16:02:55 +08:00
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()