修改控制按钮;增加enter以确认当前轨迹;增加backspace以丢弃当前轨迹。
Some checks are pending
Secret Leaks / trufflehog (push) Waiting to run

This commit is contained in:
2025-05-07 21:05:28 +08:00
parent 5bf422ca6f
commit ac85a0d17e
2 changed files with 33 additions and 8 deletions

View File

@@ -121,36 +121,39 @@ def init_keyboard_listener():
events["exit_early"] = False
events["rerecord_episode"] = False
events["stop_recording"] = False
events["confirm_save"] = False
events["discard_episode"] = False
if is_headless():
logging.warning(
"Headless environment detected. On-screen cameras display and keyboard inputs will not be available."
)
listener = None
return listener, events
# Only import pynput if not in a headless environment
from pynput import keyboard
def on_press(key):
try:
if key == keyboard.Key.right:
print("Right arrow key pressed. Exiting loop...")
print("Right arrow key pressed. Exiting current recording...")
events["exit_early"] = True
elif key == keyboard.Key.left:
print("Left arrow key pressed. Exiting loop and rerecord the last episode...")
print("Left arrow key pressed. Interrupting and preparing to rerecord...")
events["rerecord_episode"] = True
events["exit_early"] = True
elif key == keyboard.Key.esc:
print("Escape key pressed. Stopping data recording...")
print("Escape key pressed. Stopping data recording session...")
events["stop_recording"] = True
events["exit_early"] = True
elif key == keyboard.Key.enter:
print("Enter key pressed. Confirming and saving current episode...")
events["confirm_save"] = True
elif key == keyboard.Key.backspace:
print("Back key pressed. Discarding completed episode...")
events["discard_episode"] = True
except Exception as e:
print(f"Error handling key press: {e}")
listener = keyboard.Listener(on_press=on_press)
listener.start()
return listener, events