2

我想知道是否可以在 Cocoa/Carbon 中检测组合键(例如Ctrl + Z)是否来自 Wacom 按钮或键盘本身。

谢谢最好的xonic

4

2 回答 2

1

我只能假设 Wacom 数位板的驱动程序正在伪造绑定到特定按钮的键盘事件。如果是这种情况,我认为您无法将它们区分为 -pointingDeviceID、-tabletID 和朋友仅对鼠标事件有效(键盘事件 - 伪造的或真实的 - 不是)。

于 2010-09-01T21:50:28.020 回答
0

对于“Express Keys”,Wacom 使用驱动程序版本 6.1+ 提供自定义事件

来自Wacom 开发者文档

WacomTabletDriver 6.1.0 版提供了一组 Apple 事件,使应用程序能够控制数位板控件。平板电脑控件共有三种类型:ExpressKeysTouchStripTouchRing。每个控件都有一个或多个与之关联的功能。不要假设特定平板电脑的控件数量或与控件相关的功能数量。始终使用 API 来查询信息。

应用程序需要执行以下操作来覆盖平板电脑控件:

  1. 为感兴趣的平板电脑创建上下文。
  2. 向分布式通知中心注册以接收来自用户操作的覆盖控件的数据。
  3. 按控件类型(ExpressKeys、TouchStrip、> 或 TouchRing)查询控件的数量。
  4. 查询每个控件的功能数量。
  5. 枚举函数以找出可用于覆盖的函数。
  6. 为可用的控制功能设置覆盖标志。
  7. 处理控制数据通知以实现应用程序所需的控制功能。
  8. 必须在应用程序终止或应用程序完成时销毁上下文。

要为平板电脑创建覆盖上下文,请向平板电脑驱动程序发送一个类/类型{kAECoreSuite, kAECreateElement}keyAEObjectClassApple 事件,其中 Apple 事件的参数填充为DescTypeof cContextkeyAEInsertHere参数填充为平板电脑索引的对象说明符 ( cWTDTablet) 和keyASPrepositionFor用 DescType 填充的参数pContextTypeBlank

要销毁上下文,请向平板电脑驱动程序发送类/类型 { kAECore, kAEDelete} 的keyDirectApple 事件,其中 Apple 事件参数填充上下文 ( cContext) 唯一 ID ( formUniqueID) 的对象说明符。

其中大部分仅在文档页面的上下文中才有意义,其中为 Carbon 和 Cocoa 定义了许多 C 结构和辅助函数。(文档中的这个特定部分非常落后。)

于 2016-12-27T09:05:57.603 回答