feat: set right-B point gesture hold to one second
This commit is contained in:
@@ -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 原始开合量,才恢复双侧合并;无法确认时持续使用原始
|
||||
右手值,防止释放沿后的锁存/延迟目标漏入。
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user