滚动反转器
反转 macOS 上的滚动方向,可独立设置触控板和鼠标的滚动方向。
下载
访问 滚动反转器主页 获取下载链接和更多信息。
也可以在 GitHub 发布页面下载。
注意事项
构建
克隆此仓库后,您需要执行 git submodule update --init
来检出 BuildScripts 子模块。
如果您尝试直接构建,会因为没有我的代码签名证书而出现构建错误。为获得最佳效果,请在 Xcode 中的滚动反转器目标设置的"签名与功能"标签中,用您自己的开发者 ID 证书替换我的证书。
调试构建会生成一个没有应用图标、名为"Scroll Reverser (Dev)"且版本号为"99999"的应用程序。这是预期行为,构建在其他方面完全可用。
工作原理
代码核心在 MouseTap.m 文件中。其他部分只是用户界面的配置。
滚动反转器安装了一个事件捕获器,使其能够访问事件流,包括滚动事件和手势事件。关于事件捕获器的主要文档是 Quartz 事件服务参考。
为区分触控板和鼠标,滚动反转器会检查手势事件,以确定触控板上是否有两个或更多手指。如果是,则假定滚动来自触控板。否则,就是鼠标。(实际情况比这稍微复杂一些,但大体思路就是这样。)
运行时调试日志
滚动反转器的主要事件捕获器不使用 NSLog 输出调试信息,因为这会大大降低事件处理速度。相反,它使用了一些自定义的调试代码,这些代码在写入时更高效。
要显示调试窗口,请按住 Option(⌥) 键单击滚动反转器的菜单栏图标。