OSX глобальное перехват мыши / трекпада
Я не знаком с Apple OSX. Я хочу установить глобальный (общесистемный) хук для прокрутки четырьмя пальцами (мышь и трекпад) и иметь возможность изменять события прокрутки (чтобы сделать его более похожим на iOS), потому что Системные настройки не охватывают это. да, я предполагаю, что таких программ много, но я хочу сделать это самостоятельно (чтобы больше узнать о программировании на OSX).
Мой вопрос: какой шаблон лучше всего сделать в XCode (существует множество шаблонов для начала, и я прочитал о них, но я до сих пор не могу понять, какой из них лучше для него).
Мой вопрос может быть немного глупым, но я надеюсь, что это тема для SO.
Заранее спасибо.:)
1 ответ
Хорошо, шаблон, с которого вы хотите начать, это OS X -> Приложение -> Приложение Какао
Тогда иметь это в своем AppDelegate.m - это хорошее место для начала, если подключиться к глобальным событиям мыши / трекпада:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
CFMachPortRef eventTap = CGEventTapCreate(kCGHIDEventTap, kCGHeadInsertEventTap, kCGEventTapOptionDefault, kCGEventMaskForAllEvents, handleCGEvent, (__bridge void *)(self));
CFRunLoopSourceRef runLoopSource = CFMachPortCreateRunLoopSource(kCFAllocatorDefault, eventTap, 0);
CFRunLoopAddSource(CFRunLoopGetMain(), runLoopSource, kCFRunLoopCommonModes);
CGEventTapEnable(eventTap, true);
}
CGEventRef handleCGEvent(CGEventTapProxy proxy, CGEventType type, CGEventRef eventRef, void *refcon)
{
if (type == kCGEventLeftMouseDown /*|| type == kCGEventMouseMoved || type == kCGEventMouseDragged || ...*/) {
}
return eventRef;
}