我正在从事OS X项目,我想编程生成触摸板手势事件,例如NseventTypeswipe或nseventtypherotate因此我可以在其他应用程序上旋转/缩放等。
我发现了如何生成鼠标/键盘事件而不是触摸板。
有什么想法?
没有公共API生成这些事件。
您可以找到有关该项目中这些事件的合成的一些工作:calftrail/touch。
参考: 可可活动事件处理指南
上面的Mac开发人员库指南未陈述任何已知的方法来编程生成触摸PAD手势。
甚至说触摸板手势本身出现在操作系统之外:
" 触控板硬件包括内置支持用于解释常见手势和映射运动..."
该指南还明确提到应用程序不应依靠该唯一的输入机制,因此最好以此为由包括对键盘和鼠标的支持。
现在,Mac和Windows(即Windows 8)支持OS级别的触摸屏显示器,这是通过编程触摸板的时间问题。触摸屏手势可以在可用时使用适当的API纳入您的项目或远程桌面控件。
我认为,由于没有公共,Apple Appi API,触摸事件无法轻易产生。我认为,这种nseventtypemagnify,nseventtyperotate,nseventtypeswipe仅在处理出口系统事件时仅出于阅读目的。也许由于某种原因,苹果不想从魔术老鼠制作第三方开发人员的魔法触摸板。Rob Mayoff提到的这个项目不起作用,因为Apple可能会在事件数据的结构中改变某些内容。因此,这种黑客接力并不是未来派的。但是,如果您认为更多,您可以通过其他方式实现触摸事件的实现。
- 放大倍率(捏手势) ->它只是放大,缩放 ->大多数程序都使用此快捷方式,例如CMD和 ,CMD和 - 。
- 旋转它可与照片一起使用,并且在Preview应用中有诸如CMD和L,CMD和R之类的快捷方式。
- 滑动 - 更改空间(桌面) ->使用Ctrl和Arrows< - 或 ->
当我看到Xcode模拟器时,我知道可以通过编程方式生成触摸事件,并且Xcode Simulator正在使用这些例程和函数来传输光标触摸并将其转换为触摸事件,将其转换为触摸事件,但是,根据@RobMayoff所说的话,苹果似乎并没有使该图书馆公开开放。效仿相同的行为并从头开始创建功能,这将有点挑战。
这是NSTouch类参考:http://developer.apple.com/library/mac/#documentation/appkit/reference/nstouch_class/reference/reference/reference.html#/apple_ref/apple_ref/occ/cl/cl/nstouch