问候!
我目前正在尝试扩展 Magic Mouse 的功能。为此,我希望编写一个 kext 来拦截来自多点触控驱动程序 AppleMultitouchDriver.kext 的事件,解释它们,然后调度新事件或转发实际事件。这种方法类似于DoubleCommand使用的方法。
我已经创建了一个小的测试 kext 来拦截鼠标事件(点击、动作等),因为这也是需要的。
我现在遇到的问题是我无法拦截来自 AppleMultitouchDevice 和/或 AppleMultitouchHIDEventDriver 对象的事件,因为它们没有类定义。我需要能够将指针重新分配给回调函数,就像我在鼠标拦截器中所做的那样,就像在 DoubleCommand 中所做的那样。据我所知,这意味着我需要重构 AppleMultitouchDevice 类。我已经能够获得对 AppleMultitouchDevice 对象实例的引用,所以我只需要能够转换它并使用它。
既然你有了背景,下面是我的直接问题:
- 我需要使用哪些方法来对 kext 进行逆向工程或重建有问题的类?
- 有哪些程序可以帮助我完成这项工作?
- 是否有任何您知道的专注于这个特定主题的教程或电子书?
- 我是否可以在不实际重建整个类的情况下重新分配回调指针?
- 我可能错过的任何其他内容,因为我对此非常陌生。
提前感谢您的任何建议或帮助!!