一加侧键功能

通过 LSPosed 为一加、OPPO 等设备的侧边快捷键配置自定义操作。设置界面简单直观,配置会自动保存。

侧键功能设置界面预览

项目主页:SlimeNull/OppoCustomSideButtonFunctions

安装与启用

  1. 安装模块 APK,在 LSPosed 中启用“侧键功能”。
  2. 将 Android 系统框架(android) 加入作用域。
  3. 重启设备,让系统框架加载模块。只重启 SystemUI 可能无法使侧键功能生效。
  4. 打开“侧键功能”,开启“启用自定义侧键功能”,选择操作模式并配置动作。

使用“小布快捷指令”时,可另外将 com.coloros.shortcuts 加入作用域。打开 ColorOS 快捷指令编辑页面时,模块会尝试复制指令 ID;这不是侧键操作本身的必需作用域。

操作模式

“简单操作”和“摩斯电码操作”可以随时切换,另一种模式的配置会保留。

简单操作

可以分别设置单击、双击和长按的动作。双击未设置动作时,单击会在松开后立即执行;设置了双击动作后,单击会等待第二次按下。默认双击等待时间和长按触发时间均为 300ms,可在 100~800ms 之间调整。

摩斯电码操作

使用 0、1 组成指令序列:0 表示短按,1 表示长按。例如 000 表示连续三次短按,01 表示一次短按后接一次长按。每条序列都可以指定一个动作。

  • 长按阈值默认 300ms,可设置为 100~800ms。
  • 输入结束等待时间默认 300ms,可设置为 100~800ms。
  • 开启“尽可能立即执行操作”后,已经确定不会与更长指令冲突的序列会提前执行。
  • 未匹配的输入会在等待窗口结束后丢弃,避免误操作。

按键提示振动与动作执行后的振动分别设置,均可独立开启或关闭。

可执行的动作

两种模式都支持以下动作:

  • 响铃、振动、静音循环
  • 免打扰
  • 相机、手电筒、截屏
  • 微信和支付宝快捷入口
  • ColorOS 快捷功能
  • 小布快捷指令
  • 自定义 Activity
  • Url Scheme
  • Shell 指令

首页的“振动与提示”可以设置动作触发后的振动和 Toast。摩斯电码还可以单独设置未知序列提示。

“高级设置”可以修改按键码、输入设备路径,以及息屏时是否唤醒设备。默认按键码为 735,输入路径为 /dev/input/event0。

兼容性与权限

  • 模块会优先适配 Oplus 的侧键实现,也会尝试 Android 系统框架和原始输入设备。不同机型、ColorOS 版本或 ROM 可能存在兼容性差异。
  • 免打扰动作需要系统允许本模块修改免打扰状态。
  • 截屏使用系统接口,并在部分设备上尝试其他兼容方式,实际效果取决于 ROM。
  • Shell 指令在系统框架进程中通过 su 执行,设备需要 Root,并允许该进程执行命令。
  • 如果使用原始输入设备读取方式,修改设备路径后可能需要重启设备。

本模块使用 GNU Lesser General Public License v3.0(LGPL-3.0)许可证。

Releases

v1.0.8

Stable

10/11/2026, 8:14:32 PM

  1. 支持 Shizuku, 现在软件会优先尝试使用 Shizuku 执行 Shell 指令. 如果你希望直接原地执行 su, 可在高级选项中勾选 (#26)
  2. 现在音量键移动光标不会在通知栏中生效 (#24)
  3. 现在执行 Shell 指令时不会在应用在后台运行时跳转到应用主界面 (#25)

星星好少, 想要星星😭

Assets

1

v1.0.9

Stable

10/11/2026, 8:54:20 PM

  • 摩斯电码模式中支持添加音量键了
  • 组合键支持振动反馈

星星好少诶, 好想要星星 😭

Assets

1

v1.0.7

Stable

10/7/2026, 6:33:50 AM

终于, 配置问题修好了 🥵

  • 优化了配置存储策略, 现在即便更新软件版本, 或者在某些设备上冷重启应用也不会丢失配置了
  • 在关闭全局的 ‘触发时振动’ 后, 允许为单独的功能启用 ‘触发时振动’

fix #8, impl #22


哎, 更新了 1.0.7 之后, 就没人看我的 1.0.6 抽象更新日志了, 伤心心 😭


我的设备设备上其实并没办法触发 ‘冷重启应用会丢配置’ 的问题, 但还好有朋友进群了, 在他的帮助下, 我更换了存储策略, 最终解决了这个问题 😋, 什么? 你不知道群号? 速来 696327017

Assets

1

v1.0.6

Stable

10/7/2026, 3:24:48 AM

更新了好多内容😋 累死我了🥵 (还有 GPT 也累死了)

  • 支持启动 Activity 时不指定 Activity 名称时打开包的默认 Activity
  • 支持小窗模式启动 Activity
  • 更新 LSPosed 配置 API 到 openRemoteFile, 这会改善配置同步问题, 应用界面更改后会立刻生效. 更新 hook api 到 hook(xxx).intercept
  • 支持操作指令: ‘查看响铃振动静音状态’
  • 支持侧键+音量键或侧键+电源键控制媒体, 包括播放下一首/上一首, 以及播放暂停
  • 现在切换响铃振动静音状态的时候, 会模拟系统原生功能的振动反馈(响铃:振动200ms, 振动: 短振动三次, 振动: 短振动一次)
  • 允许设置操作指令到 ‘无操作’
  • 修正关于页面的版本号显示问题
  • 现在时间调整的滑条右侧允许手动输入时长
  • 现在当操作触发的时候, 允许设置 ‘唤醒屏幕’
  • 现在支持 ‘便笺速记’ 功能, 基于前面的 ‘小窗模式启动 Activity’, 现在你可以直接在选择 ‘自定义 Activity’ 后, 在下面点击 ‘载入预设’, 接着选择 ‘便笺速记’ 即可自动填充包名以及 activity 名称.

如果你遇到了问题, 并且无法上 GitHub 发 issue, 或者想和我更快取得联系, 可以考虑加 QQ 群: 696327017

--

排查这个弔配置同步问题的时候, 瞅了半天代码愣是没瞅到, 这个弔 GPT 还臆想出来个 OnSharedPreferenceChangeListener 忽悠我, 查了半天资料, 发现它用的 API 是 openRemoteReference 而不是 openRemoteFile, 换成后者之后就能实时同步配置了!

再者就是有用户提到的配置丢失问题, 好奇怪耶, 我这里用 adb install 重装软件然后重启手机就会丢, 不晓得 LSPosed/Vector 把 openRemoteFile 存哪了... 暂且咕咕, 实测只要不重装软件就不会丢.

Assets

1

v1.0.5

Stable

10/1/2026, 8:59:57 PM

支持录音功能
添加流体云支持, 其中包括: 闪光灯切换, 铃声振动静音切换, 勿扰模式切换, 录音

Assets

1

v1.0.4

Stable

10/1/2026, 7:11:15 PM

修复 shell 指令无法执行的问题
修复小布一键闪记无法使用的问题
升级 xposed api 版本, 更换到新的存储 api

Assets

1

v1.0.3

Stable

9/22/2026, 6:18:44 PM

添加音量键控制光标移动的功能


感觉要变成大杂烩了

Assets

1