Какао: Среднее событие щелчка мыши (глобальное) + API жестов?
Есть ли какие-либо ресурсы, которые могут помочь мне в том, как заставить мое приложение реагировать на любой тип щелчка мышью, который не является левой / правой кнопкой? Глобально, даже когда мое приложение не активно.
И для волшебной мыши / трекпада, есть ли какие-либо рамки или ресурсы, доступные, чтобы легко прикрепить мой код к определенному жесту?
2 ответа
Вы можете найти все, что связано с событиями мыши: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/HandlingMouseEvents/HandlingMouseEvents.html.
и события трекпада: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/HandlingTouchEvents/HandlingTouchEvents.html#//apple_ref/doc/uid/10000060i-CH13-SW10
Вот ссылка переполнения стека, которая имеет объяснение для обработки глобальных событий.
Вот пример кода, основанный на (очень полезном) ответе Шашанка.
NSEventMask eventMask = NSOtherMouseDownMask|NSOtherMouseUpMask;
[NSEvent addGlobalMonitorForEventsMatchingMask:eventMask
handler:^(NSEvent *event) {
if (event.type == NSOtherMouseDown) {
NSLog(@"middle click down");
} else if (event.type == NSOtherMouseUp) {
NSLog(@"middle click up");
}
}];