Есть ли способ инициировать события жестов в Mac OS X?

Я хочу запускать события мультитач-жестов в Mac OS X. Есть ли способ сделать это? События мыши или клавиатуры можно активировать с помощью CGEventCreateMouseEvent и CGEventCreateKeyboardEvent. Есть ли аналогичная низкоуровневая функция для мультитач-событий?

Рок


Ваше предложение не работает. Я пробовал этот код:

- (void)rotateWithEvent:(NSEvent *)event {
    NSLog(@"ROTATE");
}
-(IBAction)button:(id)sender {
    CGEventSourceRef eventSource = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
    CGEventRef event = CGEventCreate(eventSource);
    CGEventSetType(event, NSEventTypeRotate);
    CGEventPost(kCGHIDEventTap, event);
    NSLog(@"POST EVENT");
}

Но функция rotateWithEvent никогда не вызывается. Я делаю что-то неправильно?


person Rok    schedule 21.03.2010    source источник
comment
Кто-нибудь нашел решение для этого??? Уже пару дней бьюсь с похожей проблемой, но ничего не получается :(   -  person Nostradamus    schedule 16.10.2012
comment
Вы нашли файл, который необходимо установить?   -  person Michał Ziobro    schedule 26.08.2016


Ответы (2)


Вероятно, вы могли бы использовать CGEventCreate для создания события жеста. Типы событий, «официально» определенные для CGEventCreate, не включают типы событий жестов, но вы можете передать значения, определенные в NSEvent.h:

NSEventTypeGesture
NSEventTypeMagnify
NSEventTypeSwipe
NSEventTypeRotate
NSEventTypeBeginGesture
NSEventTypeEndGesture

Значения для типов, не связанных с жестами, похоже, напрямую сопоставляются со значениями kCGEvent<TYPE> в CGEventTypes.h, поэтому разумно ожидать, что типы событий жестов будут работать:

CGEventSourceRef eventSource = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
CGEventRef event = CGEventCreate(eventSource);
CGEventSetType(event, NSEventTypeMagnify);
//continue to set up the event
person Rob Keniger    schedule 22.03.2010
comment
Не могли бы вы дать более подробную информацию о том, какие данные для настройки? - person Alexey F; 08.11.2012
comment
как настроить это событие - person Michał Ziobro; 26.08.2016

Интересно, попытаетесь ли вы опубликовать NSEventTypeBeginGesture перед публикацией события поворота?

person wheels53    schedule 25.02.2012