Определить, нажимает ли пользователь кнопку на планшете Wacom - PullRequest
2 голосов
/ 02 сентября 2010

Мне было интересно, возможно ли в Cocoa / Carbon определить, происходит ли комбинация клавиш (например, Ctrl + Z) от кнопки Wacom или самой клавиатуры.

Спасибо Лучший xonic

Ответы [ 2 ]

1 голос
/ 02 сентября 2010

Я могу только предположить, что драйвер планшета Wacom имитирует события клавиатуры, связанные с определенными кнопками. Если это так, то я не думаю, что вы сможете отличить их как -pointingDeviceID, -tabletID и друзья, действительные только для событий мыши (а это не событие клавиатуры - фальшивое или настоящее). *

0 голосов
/ 27 декабря 2016

Для «Экспресс-ключей» Wacom предоставляет настраиваемые события с версией драйвера 6.1 +

Из документов разработчика Wacom :

WacomTabletDriver версии 6.1.0 предоставляет набор событий Apple, которые позволяют приложениям контролировать элементы управления планшета. Существует три типа элементов управления планшета: ExpressKeys, TouchStrip и TouchRing. Каждый элемент управления имеет одну или несколько функций, связанных с ним. Не делайте предположения о количестве элементов управления конкретной таблетки или о количестве функций, связанных с элементом управления. Всегда используйте API для запроса информации.

Приложению необходимо выполнить следующие действия для переопределения элементов управления планшета:

  1. Создайте контекст для интересующего планшета.
  2. Зарегистрируйтесь в распределенном центре уведомлений, чтобы получать переопределенные данные управления от действий пользователя.
  3. Запрос количества элементов управления по типу элемента управления (ExpressKeys, TouchStrip,> или TouchRing).
  4. Запрос количества функций каждого элемента управления.
  5. Перечислите функции, чтобы узнать, какие из них доступны для переопределения.
  6. Установить флаг отмены для функции управления, которая доступна.
  7. Обработка уведомлений о данных управления для реализации функциональности, которая требуется приложению для функции управления.
  8. Должен уничтожить контекст после завершения приложения или когда приложение завершит работу с ним.

Чтобы создать контекст переопределения для планшета, отправьте в драйвер планшета событие Apple класса / типа {kAECoreSuite, kAECreateElement} с параметром keyAEObjectClass события Apple, заполненным DescType из cContext, keyAEInsertHere Param, заполненный спецификатором объекта индекса планшета (cWTDTablet) и keyASPrepositionFor Param, заполненный DescType pContextTypeBlank.

Чтобы уничтожить контекст, отправьте в драйвер планшета событие Apple класса / типа {kAECore, kAEDelete} с параметром события Apple keyDirect, заполненным спецификатором объекта контекста (cContext) uniqueID (formUniqueID).

Большая часть этого имеет смысл только в контексте страницы документации, где множество структур C и вспомогательных функций определены как для углерода, так и для какао. (Эта конкретная часть в документах довольно далеко внизу.)

...