# Qivomo
**Repository Path**: weiler_qi/qivomo
## Basic Information
- **Project Name**: Qivomo
- **Description**: Qivomo 是一款运行在 Android 上的本地输入映射工具。
它的做法是:经 Shizuku 以 shell 身份部署一个原生守护进程,直接读取物理键鼠 / 手柄的输入设备,再把按键与鼠标位移翻译成屏幕上的触摸事件——于是手机上也能用键盘 WASD 走位、用鼠标转视角。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-11-01
- **Last Updated**: 2026-11-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

# Qivomo
**把键盘鼠标的手感,带回手游里**
安卓端本地输入映射工具 · 不读内存 · 不改游戏文件 · 不联网




| [**⬇️ 下载最新版**](https://gitee.com/weiler_qi/qivomo/releases) | [更新日志](CHANGELOG.md) | [免责声明](DISCLAIMER.md) | [反馈问题](https://gitee.com/weiler_qi/qivomo/issues) |
---
## 📥 下载
| 版本 | 体积 | 系统要求 | 下载 |
| ---------- | ------ | ------------ | -------------------------------------------------------------------------------------------- |
| **v1.4.6** | 1.8 MB | Android 7.0+ | [**点击下载 APK**](https://gitee.com/weiler_qi/qivomo/releases/download/v1.4.6/Qivomo-v1.4.6.apk) |
> 只发布正式签名版。若你拿到的安装包被他人重新打包、重新签名或改动过,它并非来自本项目,请勿安装。
> ⚠️ **从 v1.4.5 升级到 v1.4.6 必须先卸载**:1.4.6 起改用正式签名,与旧版签名不同,系统不允许覆盖安装。升级前请先在旧版「设置 → 通用 → 导出配置」备份,卸载后重装再导入。
> 从 v1.4.6 起所有版本共用同一签名,之后升级可直接覆盖。
> 手机上下载后直接点击安装即可;若提示"来源未知",在浏览器/文件管理里允许安装未知应用。
> 所有历史版本见 [**发行版页面**](https://gitee.com/weiler_qi/qivomo/releases)。
---
## ✨ 这是什么
Qivomo 是一款运行在 Android 上的**本地输入映射工具**。
它的做法是:经 Shizuku 以 shell 身份部署一个原生守护进程,直接读取物理键鼠 / 手柄的输入设备,再把按键与鼠标位移翻译成屏幕上的触摸事件——于是手机上也能用键盘 WASD 走位、用鼠标转视角。
它只是一层"把按键翻译成手指点击"的转换层:
- ❌ 不修改、替换或注入任何游戏文件与进程内存
- ❌ 不读取、篡改游戏与服务器之间的通信
- ❌ 不提供自动瞄准、透视、加速、脚本挂机等任何外挂性质的功能
- ✅ 功能边界等同于系统自带的辅助功能与外接输入设备支持
> **使用场景**:单人游戏、离线游戏、模拟器、无障碍辅助操作、开发调试与教学演示。
> **明确不推荐**用于 PvP / 排位 / 竞技类游戏,详见 [免责声明](DISCLAIMER.md)。
---
## 🎯 功能特性
### 映射引擎
- **原生守护进程接管**:Shizuku 授权后部署 `qivomod`,以 shell 身份直接读取 `/dev/input`,绕过系统对第三方应用的外设限制
- **9 类控件**:按键、组合键、摇杆、视角滑动、连发、宏、多点触控、滚轮、方向移动
- **组合键**:成员键全部按住才触发,例 `Ctrl + Shift + P`,松开任一键立即抬起
- **按应用自动匹配**:场景绑定包名后,切到该应用自动套用对应配置。前台应用由 Shizuku 以 `dumpsys window` 轮询识别,命中即关闭管道,开销极低
- **参考分辨率**:坐标按屏幕比例保存,同一配置可跨分辨率复用;支持自动读取本机分辨率或手动指定
### 悬浮球就地编辑
- 编辑时**不再有铺满屏幕的编辑界面**,游戏画面全程可见
- 屏幕上只保留半透明控件圆圈,拖动即摆位,点空白处按一下键就完成绑定
- 悬浮球旁的编辑面板管理控件列表、类型与保存,头部固定、表单滚动,横屏也不会把按钮挤出屏幕
### 外设与手感
| 分类 | 可调项 |
| ------- | ------------------------------------------------------------------------------------------------------- |
| 🖱️ 鼠标 | 灵敏度(全局 + XY 单轴,0.2x–3.0x)、回报率(自动 / 125–1000Hz / 不限)、平滑滤波(4 档)、加速曲线(关 / 线性 / 非线性) |
| ⌨️ 键盘 | 重复延迟(100–1500ms)、重复频率(5–60 次/秒)、长按判定(150–2000ms) |
| 🎮 手柄 | 品牌识别(Xbox / 任天堂 / Sony / 飞智 / 北通 / 八位堂…)、摇杆死区、外圈灵敏度、响应曲线(线性 / 缓入 / 缓出 / S 型)、扳机阈值 |
| 📡 外设状态 | 自动扫描输入设备,**只列真实外接设备**(指纹、电源键等板载节点按名字黑名单 + `InputDevice.isExternal()` 双重过滤),显示名称、连接方式(有线 / 蓝牙 / 2.4G)与电量 |
所有参数**运行中即时生效**,不需要重启映射。
### 界面与主题
- Material 3 · Compose 实现,圆形揭示转场(扩散 420ms / 收缩 300ms)
- 底部胶囊导航 + 单个滑块过渡,支持跟手拖动
- 主色 / 辅色 / 字体色 / 描边色四项独立,色轮 + 明度条 + HEX + RGB 三向联动
- 悬浮球形状、尺寸、透明度、锁定位置均可调,隐藏后缩成顶部三个点的细条
- **「关于」页**:应用图标 + 版本号 + 一句话定位,附「检查更新」(指向 Gitee / GitHub 仓库)、「关于开发者」、「免责声明」三个入口
### 配置互通
- **JSON 导入导出**:完整保留配置结构与包名绑定
- **分享码**:导出为 `QVM.xxxxx` 一行文本,粘贴即可导入,兼容旧版 `KM1.` 前缀
- 配置全部保存在**本机**,不上传任何服务器
### 首次启动与权限
- 第一次打开先弹**免责声明**(与应用内「关于 → 免责声明」同一份内容),必须滑到底才点亮「同意」,不同意直接退出
- 同意后才询问「显示在其他应用上层」权限;选「否」也能继续,之后在激活页补授权即可,全程只问一次
- **不申请无障碍服务**:注入只保留一条通道。无障碍读不到鼠标相对位移,其手势指针还会和注入通道抢同号触点、打断正在进行的视角拖动
激活页底部按钮**按顺序引导**,文案随第一个未完成项变化:
| 情况 | 按钮 |
| ----------- | ----------- |
| 未安装 Shizuku | 去下载 Shizuku |
| 服务未运行 | 去启动服务 |
| 未授权 Qivomo | 去授权 |
| 无悬浮窗权限 | 去设置 |
| 四项全正常 | 已全部授权(置灰) |
### 调试
- 指针十字准线、按键事件日志、鼠标回报率采样,仅在开启时挂载叠加层
---
## 📸 界面预览
> 截图存放规范:`assets/screenshots/01-home.png`、`02-edit.png`、`03-settings.png`,建议 1080×2400 竖屏、单张控制在 300 KB 内。
---
## 🚀 快速开始
### 1. 安装
下载上方 APK 安装。首次安装需允许"安装未知来源应用"。
> **最低可安装版本:v1.4.5。** 今后如需回退版本,只能回到 v1.4.5,更早的安装包不再提供;回退必须先卸载(Android 不允许安装 versionCode 更低的包),而卸载会清空本机配置与「已同意免责声明」状态,请提前在设置里导出备份。
### 2. 首次启动
1. 先弹**免责声明**——滑到底部才能点亮「同意」,建议真的读一遍
2. 随后询问是否前往授权「显示在其他应用上层」,点「是」直接跳到授权页
3. 跳过或选「否」也能继续,回头在「激活与权限」页补上
### 3. 准备 Shizuku
Qivomo 通过 Shizuku 获取 shell 权限,**不需要 Root**。
1. 安装 [Shizuku](https://shizuku.rikka.app/)(也可在应用商店搜索)
2. 打开 Shizuku,按引导通过**无线调试**或 **ADB** 启动服务
3. 回到 Qivomo →「激活与权限」页,按底部按钮的指引依次完成:去授权 Shizuku → 去设置悬浮窗
### 4. 建一个场景
1. 首页「新建」→ 选择要绑定的应用(或选「通用配置」)
2. 选择参考分辨率(默认「自动(本机)」即可)
3. 点「在悬浮球上编辑映射」→ 点屏幕空白处 → 按一下键盘上的键 → 圆圈出现,拖到目标位置
4. 「完成」保存 → 点「开始映射」→ 切回游戏
> 详细图文步骤可看 [更新日志](CHANGELOG.md) 中各版本的功能说明。
---
## 📋 系统要求
| 项目 | 要求 |
| ---- | ------------------------------------- |
| 系统版本 | Android 7.0(API 24)及以上 |
| 架构 | arm64-v8a / armeabi-v7a |
| 必需权限 | Shizuku 授权、悬浮窗、通知 |
| 注入通道 | 仅 Shizuku 注入(无无障碍降级;注入器起不来会直接报错并保持停用) |
| 网络 | **不需要**,应用不发起任何联网请求 |
| Root | **不需要** |
**已知限制**
- 手柄震动强度目前只保存设置,力反馈尚未实现(不会报错,但无震感)
- 手柄品牌识别影响扳机行程上限(Xbox 1023 / 任天堂、Sony 255),个别第三方手柄轴范围可能有偏差
- 部分深度定制 ROM 会限制悬浮窗层级,可能需要额外开启"后台弹出界面""自启动"权限
---
## ❓ 常见问题
需要 Root 吗?
不需要。Qivomo 走的是 Shizuku 路线——用无线调试或 ADB 激活一个 shell 权限的桥接服务,权限等级足够部署守护进程,但不动系统分区,也不需要解锁 BL。
用了会被封号吗?
请先读 [免责声明](DISCLAIMER.md) 第二节。Qivomo 不修改游戏、不注入进程、不伪造数据,但它确实改变了你的输入方式;在绝大多数 PvP 游戏的用户协议里,键鼠映射被认定为不公平竞争手段。
**账号风险由使用者自行承担,开发者不代为申诉、不提供解封协助,也不提供任何规避检测的手段。** 如果你玩的是竞技类游戏,请优先使用官方支持的外设或官方模拟器。
更新会不会丢配置?
不会覆盖配置。配置保存在应用私有目录,正常升级安装后仍在。但**如果新旧版本签名不同,系统不允许覆盖安装**,必须卸载重装,此时配置会丢失——升级前建议先在设置里导出一份 JSON 或分享码。
另外,**往后版本回退的最低目标版本是 v1.4.5**:更早的安装包不再提供,且 Android 不允许安装 versionCode 更低的包,回退一律需要先卸载、再装 v1.4.5。
支持 iOS / 鸿蒙 / 模拟器吗?
iOS 不支持(没有对应的输入设备权限模型)。Android 上的模拟器本身能直接接键鼠,一般不需要 Qivomo。鸿蒙 NEXT 未测试,不保证可用。
点「开始映射」没反应 / 圆圈不出现?
按顺序检查:① Shizuku 服务是否在运行(应用切后台后可能被系统杀掉);② 悬浮窗权限是否授予;③「激活与权限」页四项是否全绿、底部按钮是否已变成「已全部授权」;④ 有没有另一个映射类应用同时占用了输入设备。若提示"注入器启动失败",通常是 Shizuku 掉线——回 Shizuku 重新启动服务后,回 Qivomo 重新点「开始映射」。
会上传我的数据吗?
不会。应用没有联网权限相关的业务逻辑,场景配置、设置项、日志全部留在本机。分享码是你主动复制出去的一段文本,不经过任何服务器。
---
## 🗓️ 最近更新
**v1.4.6** — 2026-11-03
「关于」页入口重排(关于开发者 → 赞助开发者 → 免责声明 → 检查更新);新增赞助弹窗(B 站充电、支付宝、微信,缺应用会自动改用浏览器);检查更新支持直接前往 Gitee。安装包开启代码压缩与混淆,体积从 7.2 MB 降到 1.8 MB,并改用正式签名。
**v1.4.5** — 2026-11-02
免责声明弹窗底部提示文案调整:未读完显示「请阅读条款」,滑到底显示「同意即视为已阅读并自行承担使用风险」。
**v1.4.4** — 2026-11-02
首次启动顺序改为「免责声明 → 再询问悬浮窗权限」;外设列表按名字黑名单 + `InputDevice.isExternal()` 双重过滤,不再列出指纹、电源键等板载节点。
**v1.4.2** — 2026-11-02
移除无障碍服务(读不到鼠标相对位移,同号触点还会打断正在进行的视角拖动);前台应用识别改用 Shizuku 轮询 `dumpsys window`;注入失败改为直接报错,不再静默降级。
**v1.4.0** — 2026-11-01
设置页新增「关于」(检查更新 / 关于开发者 / 免责声明);首次启动增加免责声明确认,须滑到底才能真正同意。
完整历史见 [**CHANGELOG.md**](CHANGELOG.md)。
---
## 🐛 反馈与建议
提 Issue 前请先搜索是否已有相同问题。为了能定位,请附上:
| 必填 | 说明 |
| --------------- | ---------------------------------- |
| 机型与系统 | 例:小米 14 / HyperOS 2.0 / Android 15 |
| Qivomo 版本 | 设置 →「关于」页可见,例 `v1.4.6` |
| Shizuku 版本与启动方式 | 无线调试 / ADB / Root |
| 复现步骤 | 从哪个页面、点了什么、期望什么、实际什么 |
| 日志 | 设置 → 通用 → 调试 → 显示按键事件日志,截图即可 |
[**→ 提交 Issue**](https://gitee.com/weiler_qi/qivomo/issues/new)
---
## 📄 关于这个仓库
- 本仓库**仅用于分发安装包、维护更新日志与收集反馈**,不包含源代码。
- 应用内「设置 → 关于 → 检查更新」列出本项目的 **Gitee / GitHub** 两个仓库,版本发布与问题反馈都以此为准。
- Qivomo 是**闭源软件**,源代码不公开,不提供二次开发、二次分发或商业授权。
- 仓库内不含任何游戏本体、破解补丁或受版权保护的游戏资源。
- 本项目与任何游戏开发商、发行商、平台方、外设品牌均无关联、无合作、无授权关系。
## ⚖️ 版权与许可
Copyright © 2026 WeilerHHC. All rights reserved.
允许:在自有设备上安装使用;未作任何修改地原样分享[发行版页面](https://gitee.com/weiler_qi/qivomo/releases)链接。
禁止:反编译、反汇编、二次打包、去除签名或标识后再分发、商业使用、出租出售、以本项目名义发布衍生版本。
完整条款见 [LICENSE](LICENSE) 与 [免责声明](DISCLAIMER.md)。
---
**使用即表示你已阅读并同意 [免责声明](DISCLAIMER.md) 的全部内容。**