免责声明:本文图片引用自网络,如有侵权请联系我们予以删除

黑码网发布此文仅为传递信息,不代表黑码网认同其观点。

简介:本文首发于远景论坛,使用「Creative Commons 署名-非商业性使用-相同方式共享 4.0 国际」协议共享: 您需要遵守以下条件:* 署名:您必须给出适当的署名,提供指向 Creative Commons 许可协议的链接...

本文首发于远景论坛,使用「Creative Commons 署名-非商业性使用-相同方式共享 4.0 国际」协议共享:

  1. 您需要遵守以下条件:

  2. * 署名:您必须给出适当的署名,提供指向 Creative Commons 许可协议的链接,同时标明是否(对原始作品)作了修改。您可以用任何合理的方式来署名,但是不得以任何方式暗示许可人为您或您的使用背书。
  3. * 非商业性使用 — 您不得将本作品用于商业目的,包括但不限于任何盈利方式。
  4. * 相同方式共享 — 如果您再修改、转换、二次编辑、基于本作品进行创作,必须使用本许可协议分发您的作品。

  5. 只要您严格遵守以上条件,您就可以自由地:

  6. * 共享 — 在任何媒介以任何形式复制、发行本作品。
  7. * 演绎 — 修改、转换、二次编辑、基于本作品进行创作。

  8. 除非您违反了前述的三个条件、或您在行使这两项权利时侵犯了其他人的合法权利(比如形象权、隐私权或人格权),否则许可人不可以剥夺或收回您的这两项权利。

  9. 协议原文: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en
复制代码


之前我写过一篇文章「ThinkPad 黑苹果触控板和小红点驱动方式 ( http://bbs.pcbeta.com/viewthread-1856154-1-1.html/ ) 」介绍了如何用 VoodooPS2 和 VoodooSMBus 驱动 ThinkPad 的指针输入设备,这一次再提一提这个话题,介绍一个 ThinkPad 触控板的新驱动,以及其它一些知识。

如果你没有看过「ThinkPad 黑苹果触控板和小红点驱动方式 ( https://blog.skk.moe/post/thinkpad-hackintosh-touchpad/ ) 」或者忘了那篇文章的主要内容也没有关系。简单来说,绝大部分现代的 ThinkPad 的触控板都是 Synaptics(新思)的,使用 ELAN 协议,通过 SMBus 总线(而不是 I2C 总线)与主板连接,因此除了 Yoga 系列以外的 ThinkPad 都不能用 VoodooI2C 驱动。加之 VoodooI2C 没有针对 ThinkPad 的小红点和 ThinkNav 按键提供优化,因此即使成功驱动,使用体验也不完美。

SMBus 和 I2C 总线在设计上只有细微的差别、工作原理相当接近,比较值得注意的区别是 I2C 总线中从设备不能向主设备发送事件,而 SMBus 的协议中由于存在 Alert Signal,因此主设备可以更快的响应从设备。除此以外,SMBus 和 I2C 在时序设计、超时保持(I2C 无保持、SMBus 有 35ms 超时保持)、时钟频率(I2C 支持多模频率扩展,最高兼容频率是 SMBus 的 30 倍)上也有一些区别。

当然对于广大黑苹果玩家来说,这些知识既过于高深、而且也没有了解的必要。我们只需要知道这些就够了:

  • 使用 VoodooPS2 驱动 ThinkPad 触控板和小红点实属无奈之举,纯粹是 macOS 下没有稳定可靠的 SMBus 驱动,不得不屈就于 PS2。
  • 由于 PS2 的局限性(如有限的带宽),使用 VoodooPS2 驱动后使用体验不仅不流畅、多指手势的识别和响应也不尽如意。
  • 使用 VoodooI2C 驱动相对复杂,除了要修改原始 ACPI 中关于 I2C 的定义,为了使用 GPIO 中断模式有时还需要计算 GPIO Pin。
  • 相比 I2C 驱动,使用 SMBus 总线通讯的一大好处是驱动时不需要算 Pin、无需修改 ACPI。

接下来就要提到本文的主角 VoodooRMI 了。VoodooRMI 是一个 Synaptics 的 RMI4 驱动,可以用于驱动触控屏、触控板、小红点(指点杆)等设备。目前 VoodooRMI 仅支持通过 SMBus 总线通讯(因为驱动开发者在用 ThinkPad X1 Extreme),未来将会支持通过 I2C 总线通讯。



首先,在安装 VoodooRMI 之前,需要确认一下你的设备是否支持用 VoodooRMI 驱动:

  • 触控板设备品牌是 Synaptics(新思)
  • 触控板通过 SMBus 总线与主板连接:
    • Windows 可通过设备管理器中是否存在名为「Synaptics SMBus device」的设备
    • 在 Linux 下通过 dmesg | grep -E 'psmouse|i801' 查看

VoodooRMI 的安装方法很简单:

  • 如果你之前使用的是 VoodooPS2,那么禁用 VoodooPS2Mouse 和 VoodooPS2TrackPad(如果你使用的是 OpenCore,直接在 config.plist 中取消勾选即可。如果你使用的是 Clover,需要 菜单「显示包内容」、并删除 Contents/Plugins 目录下的 VoodooPS2Mouse 和 VoodooPS2TrackPad)。
  • SSDT 中 KBD/PS2K 设备下的 RMCF 变量无需删除(反正 VoodooRMI 也读不到,VoodooRMI 不会 attach 在 PS2 设备上)。
  • 如果你使用的是 VoodooSMBus,那么不仅要移除 VoodooSMBus,还需要删除所有和 VoodooSMBus 相关的 Kext Patch。
  • 如果你使用的是 VoodooI2C,那么还原 VoodooI2C 引入的 ACPI 修改,并移除 VoodooI2C 及其 Satellite 驱动。
  • 然后前往 VoodooRMI 的 GitHub Release ( https://github.com/VoodooSMBus/VoodooRMI/releases/ ) (截至本文写就,VoodooRMI 的最新版是 0.0.4 Pre Release)。解压后将会得到 VoodooRMI 和 VoodooSMBus 两个驱动,直接添加到 EFI 即可。VoodooRMI 不支持 L/E 和 S/L/E 安装。
  • 如果你使用的 VoodooPS2 中已经内置了 VoodooInput,直接启用即可,否则还需要 额外下载 VoodooInput ( https://github.com/acidanthera/VoodooInput ) 。

目前 VoodooRMI 只支持在 Info.plist 中调节小红点的速度,如果需要修改,在 VoodooRMI 上「显示包内容」,修改 Contents/Info.plist 中 IOKitPersonalities - RMIDevice - Configuration 的值即可。

3
故事 试用期 舞弊 波长 雇用 县级以上 聪明人 乌拉特中旗 零件 梅园 发动 油田 写手 热点 游资 播放列表 纵火 狼王 利斯 新用户 配线架 法拉 游戏卡 补码 鼠标垫 燃煤 捶打 谁在 修正了 发展 导出 高低温 利率 耐磨性 运气 社会 太低 迪斯 涨价 反应釜 质子 英特 服务项目 气象站 加减 联宝 设为 义勇 矿物 查看器 伯恩 柚子 还说 壁垒 突显 忙了 自办 各类 内壁 天大 开窗 南通市 数学公式 成行 提价 不确定 磐安 埃塞俄比亚 贴上 南昌 规模以上 平湖市 琴师 你将 前卫 巨龙 纳雍县 赢得 双子座 基团 水球 幅度 我要 岁末 代工厂 爱仕达 陶器 油气 五菱 卡西 本季 过时 电晕 冷冻 猫眼 出镜 素质 出线 管理平台 能到
资源来源网络,若未解决请查看原文

本文地址:https://www.heimacode.com/article/60950.html