Skip to content

v1.0.0-Beta-2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Jul 15:29
· 138 commits to main since this release

概述

Beta 1 之后的第一个预发布,集中在踏板体验配置同步可靠性激活状态可视化三块。共 34 个提交,其中 4 个为已 revert 的临时测试 tag,实际功能提交 30 个,覆盖 M7~M16 共 10 个里程碑。

✨ 新功能

踏板拓扑与双踏板

  • 踏板拓扑下拉:原"线性踏板"开关升级为下拉,支持 关闭 / 单踏板 / 双踏板 三种模式。
  • 双踏板模式:油门和刹车各占一个独立 overlay,可分别拖动定位;引入刹车优先仲裁——同时按下时屏蔽油门输入,避免油门刹车打架。
  • 刹车踏板方向反转:双踏板模式下新增开关,刹车红色区域可改为从上往下生长(默认从下往上)。
  • 响应曲线温和化:指数曲线 exponent 从 0.42 调到 0.66(30%→45%),手感更线性。

布局编辑

  • 长按重置出厂默认:编辑模式下长按编辑层按钮,把 overlay 位置重置到出厂默认位置(不再重置到"上次保存值")。
  • SINGLE/DUAL 位置隔离:单踏板和双踏板的位置分别持久化到独立 JSON 字段,互不串扰(修复了"DUAL 油门继承 SINGLE 拖动位置"的 bug)。

配置同步

  • 配置即时生效:在模块设置界面改配置后,游戏内 overlay 立即重建应用,无需重启游戏(M11/M12 遗留的"必须 toggle 才生效"已根治)。
  • Remote Preferences 跨进程同步:配置同步迁移到 libxposed API 102 的 getRemotePreferences,经 LSPosed daemon(system uid,可读任意 filesDir)binder,绕开 Android 11+ scoped storage + 包可见性双拦。根治了"首次启动游戏读到旧配置"(M11 广播首次启动滞后的根因)。

概览页

  • 激活卡片 UI 重做:照搬 KernelSU HomeMiuix 的对称强调底色(已激活=绿色调,未激活=红色调),Non-root 确认弹窗改用官方 miuix OverlayDialog
  • LSPosed 真激活检测:激活判定从 System.getProperty(MODULE_LOADED_FLAG)(ConfigActivity 进程不可达,死路)改为 App.xposedService != null(daemon 绑定 = Manager 当前启用)。语义实时跟随 Manager 启用态,不需重启进程。
  • GitHub/QQ 图标:概览页 LinksCard 内嵌 SVG path 图标——GitHub 行用 Octocat,QQ 群行用 QQ 企鹅 logo(均来自 simple-icons,CC0)。

🐛 修复

  • 方向键/摇杆转向失灵(M14 核心 bug):native input_writer_thread 以 ~500Hz 持续写 0.0f 到油门/刹车字段,覆盖了游戏自带的转向辅助输入,导致 ButtonsSteering(屏幕方向键)模式的 steerHelp/LockSteerAtVelocity/TractionFilter 失效,方向键不转向。陀螺仪模式不依赖油门/刹车做转向,故不受影响。修复:writer 在用户未按踏板时早退(不写任何值),活动→非活动切换时主动 clear 一次。
  • CI lint 假绿:M11/M12/M13 的 ContextCompat.registerReceiver 在 else 分支漏传 RECEIVER_EXPORTED flag 触发 UnspecifiedRegisterReceiverFlag,CI lintDebug 失败。统一改用 ContextCompat.registerReceiver(context, receiver, filter, RECEIVER_EXPORTED)(AndroidX 自动按 SDK_INT 分发)。

⚙️ 技术细节

  • raw/mapped 值分离(M11):PedalOverlayView 区分 rawThrottle/rawBrake(手指位移,驱动绘制,视觉跟手)和 mappedThrottle/mappedBrake(曲线变换后送 native,非线性游戏输入)。这使得双踏板仲裁能"视觉同时显示两指、游戏只收一侧输入"。
  • 左下角坐标系(M12):默认位置改为用户直觉的左下角原点百分比(pedal (80,55)(95,5)、brake (5,55)(20,5)),内部存储仍是 Android 原生左上角原点,只改默认值,转换 helper 不变。
  • 废弃 IPC 路径ConfigProvider.kt 在广播方案落地后已废弃,Remote Preferences 方案下更无用,待后续清理。

⚠️ 升级须知

  • 配置文件格式有变更(enable_control_replacement bool → pedal_mode 枚举,pedal_curvethrottle_curve/brake_curve),模块在读取时会自动迁移旧字段,无需手动处理。
  • 单/双踏板位置现已独立存储,从旧版本升级后单踏板位置保持,首次切到双踏板会用默认位置。

完整变更

Beta 1 (v1.0.0-Beta-1) 到 Beta 2 (v1.0.0-Beta-2) 共 30 个功能提交,详见 Beta 1...Beta 2 对比