1

私のRun Loop Observerは次のように書かれています:

void observerCallback(CFRunLoopObserverRef observer,
    CFRunLoopActivity activity, void* info)
{
    println("%u", activity);
}
//----------------------------- 
void InstallObserver()
{
    CFRunLoopObserverRef myObserver = NULL;
    int myActivities = kCFRunLoopEntry;

    myObserver = CFRunLoopObserverCreate(NULL, myActivities, YES,
        /* repeat */ 0, &observerCallback, NULL);

    if (myObserver)
    {
        CFRunLoopAddObserver(CFRunLoopGetCurrent(), myObserver,
            kCFRunLoopCommonModes);
    }
}

アプリケーションで任意のキーを押すたびに、observerCallbackが 4 回呼び出されます。問題は、 observerCallback内でキー コードを取得するにはどうすればよいかということです。ありがとう。

4

1 に答える 1

0

質問に対するコメントに基づいて、ローカル イベント モニター AKA が必要です。

+[NSEvent addLocalMonitorForEventsMatchingMask:handler:]

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSEvent_Class/Reference/Reference.html#//apple_ref/occ/clm/NSEvent/addLocalMonitorForEventsMatchingMask:handler :

于 2014-01-24T04:17:40.780 に答える