GoForum › 🌐 V2EX

紅米舊機器手把沒震動,核心沒開支援,核心源碼又不全, 乾脆自己 magisk module 補上了

JerryHo · 2026-09-16 07:13 · 0 次点赞 · 1 条回复

我用紅米 Note 12 Pro 5G 接 GameSir G8+,手把能連上,但就是不會震動。後來和 AI 一起查,才發現手機原廠核心沒有開啟 Sony 手把的震動支援,而 G8+ 當時用的是 DS4 藍牙模式。 一開始以為得重編整個核心,偏偏小米公開的原始碼又和手機上的版本對不上。最後走通的方式,是另外編一個有震動功能的驅動,讓這支手把改用它,再包成 Magisk 模組,處理開機載入和斷線重連。 現在兩邊馬達都能震動了。我把程式、安裝包和整個排查過程放上 GitHub ,也寫了中英文的技術文章,包含中間走過的彎路。如果你也遇到「手把明明有震動,接到手機卻沒反應」,希望這份紀錄能幫上一點忙。

還沒適配 DS4 以外的手把, 但我認為這套做法應該能套用到不少內核開源做一半的老小米機子, 請各位先進多指點.

專案: https://github.com/29988122/xiaomi-controller-rumble 下載: https://github.com/29988122/xiaomi-controller-rumble/releases/tag/v0.2.0 繁體中文說明: https://github.com/29988122/xiaomi-controller-rumble/blob/main/README.zh-TW.md 技術文章: https://github.com/29988122/xiaomi-controller-rumble/blob/main/docs/writeup.zh-TW.md

先講清楚適用範圍:目前只有我這套組合驗證過。

  • Redmi Note 12 Pro 5G ( ruby )
  • HyperOS OS2.0.8.0.UMOTWXM
  • 核心 4.19.191-gdecc267868f3
  • GameSir G8+,DS4 藍牙模式 其他手機或韌體可以參考做法,但不能直接拿這個驅動來用。Nintendo 、Xbox 、Steam Controller 的其他連線協定也不支援(手邊沒有)。 目前確認過左右馬達、藍牙重連、螢幕休眠後喚醒,以及重開機自動載入等。停用模組後,也能回到原廠驅動。

想試的人請先看 README 。安裝時只連一支符合條件的手把,模組裝好後會先保持停用,確認復原方式再啟用。 有興趣研究或移植到其他手機,歡迎到 GitHub 開 PR 交流。

(Astra 暴力的試著還原 ABI 的方式還挺嚇人的..)

1 条回复
woodfizky · 2026-09-16 09:03
#1

手机连手柄。。还真是小众的需求啊。。好奇,不觉得屏幕小吗?是玩什么游戏?

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: JerryHo
发布: 2026-09-16
点赞: 0
回复: 0