feat: set right-B point gesture hold to one second

This commit is contained in:
LengedZhao
2026-08-08 16:38:49 +08:00
parent 29030c0b25
commit 6bf610295b
8 changed files with 27 additions and 27 deletions

View File

@@ -23,7 +23,7 @@ xTELE 已处理的标量或六维 BrainCoRevo2 目标。5002 的界面事件和
右侧原始按键顺序是 `A/B/C`。按住右 `B` 时,sender 仍合并 5001 的左手
目标,但保留 5003 的原始右手开合量,不用 xTELE 处理后的右手目标覆盖。
这样右 B 的自定义长按手势还未满 3 秒时,原厂 B 处理不会让右手提前动作。
这样右 B 的自定义长按手势还未满 1 秒时,原厂 B 处理不会让右手提前动作。
松开 B 并连续稳定释放 `0.5 s` 后,还要等新鲜 5001 右手目标连续至少 `0.25 s`
恢复到按键前基线或当前 5003 原始开合量,才恢复双侧合并;无法确认时持续使用原始
右手值,防止释放沿后的锁存/延迟目标漏入。

View File

@@ -87,7 +87,7 @@ class XteleSender:
self.connect_result: tuple[int, Session | None, str] | None = None
# Keep xTELE's processed right-hand stream isolated for the complete
# right-B press and stable-release transaction. The robot runs the
# authoritative three-second gesture toggle from the raw B state.
# authoritative one-second gesture toggle from the raw B state.
self.right_b_merge_suppressed = False
self.right_b_release_started_at: float | None = None
self.right_b_recovery_started_at: float | None = None
@@ -521,7 +521,7 @@ class XteleSender:
return copy.deepcopy(processed_position), ("left", "right")
# While right B is held, xTELE may emit its own right-hand gesture
# before our separate three-second B latch fires on the robot. Keep
# before our separate one-second B latch fires on the robot. Keep
# the authoritative raw 5003 right-hand value, but allow an unrelated
# processed left-hand target to pass through.
if not isinstance(raw_position, dict) or "right" not in raw_position: