Ответ 1
Нет публичного API для создания этих событий.
Вы можете найти некоторые работы по синтезу этих событий в этом проекте: calftrail/Touch.
Я работаю над проектом OS X, и я хочу программно генерировать событие жестов Touchpad, такое как NSEventTypeSwipe или NSEventTypeRotate Поэтому я могу повернуть/масштабировать и т.д. В других приложениях.
Я узнал, как генерировать события мыши/клавиатуры, но не сенсорную панель.
Любая идея?
Нет публичного API для создания этих событий.
Вы можете найти некоторые работы по синтезу этих событий в этом проекте: calftrail/Touch.
Ссылка: Cocoa Руководство по обработке событий
В приведенном выше Mac Developer Library в руководстве не указаны какие-либо известные методы программной генерации Жесты сенсорной панели.
До сих пор говорят, что сами жесты тачпада происходят вне ОС:
" аппаратное обеспечение трекпада включает встроенную поддержку для интерпретации общих жестов и для перемещения карт..."
В этом руководстве также явно упоминается, что приложения не должны полагаться на этот единственный механизм ввода, и лучше всего включить поддержку клавиатуры и мыши по этой причине.
Теперь, когда Mac и Windows (т.е. Windows 8) поддерживают сенсорные мониторы на уровне ОС, это вопрос времени, прежде чем программные тачпад и жесты сенсорного экрана могут быть включены в такие сервисы, как ваш проект или управление удаленным рабочим столом, используя соответствующий API когда он станет доступен.
Я думаю, что события сенсорного жеста не могут быть легко сгенерированы, поскольку нет публичного официального API Apple. Этот NSEventTypeMagnify, NSEventTypeRotate, NSEventTypeSwipe, я думаю, только для целей чтения только при обработке системных событий exitsting. Возможно, Apple по какой-то причине не хочет делать из Magic Mouse волшебный тачпад сторонних разработчиков. Этот запрет проекта rob mayoff не работает, поскольку яблоко, вероятно, что-то изменяет в структуре данных событий. Таким образом, ретрансляция при таком взломе не является футуристической. Но если вы думаете немного больше, вы могли бы достичь того, что события касания будут делать другими способами.
Когда я вижу симулятор xcode, я понимаю, что события касания могут быть сгенерированы программно, и что симулятор xcode использует эти подпрограммы и функции для переноса касаний курсора и перевода их на сенсорные события, однако на основании того, что сказал @robMayoff, кажется, что Apple не сделала эту библиотеку открытой для публики. Эмуляция такого же поведения и создание функций с нуля для этого было бы немного сложной задачей.
Это ссылка на класс NSTouch: http://developer.apple.com/library/mac/#documentation/AppKit/Reference/NSTouch_Class/Reference/Reference.html#//apple_ref/occ/cl/NSTouch