此问题与此问题的代码有关:检测OS X中的耳机按钮按下
他们的回答是正确的,但我无法让他们的代码工作(这可能是因为我缺乏对Objective-c的了解).我按照他们的指示,修改了三个文件.这是我尝试过的(我也查看了Apple的IOKit文档,找不到任何耳机硬件按钮文档):
AwesomeClass.h
#import <Cocoa/Cocoa.h>
#include "KeyboardPaneController.h"
@interface AwesomeClass : KeyboardPaneController
+ (NSArray *) allKeyboards;
- (void) initKeyboardElements: (NSArray *) elements;
- (void) ddhidQueueHasEvents: (DDHidQueue *) hidQueue;
@end
Run Code Online (Sandbox Code Playgroud)
AwesomeClass.m
#import "AwesomeClass.h"
#import "DDHidLib.h"
@implementation AwesomeClass
+ (NSArray *) allKeyboards;
{
NSArray *array = [DDHidDevice allDevicesMatchingUsagePage: kHIDPage_Consumer
usageId: kHIDUsage_GD_Pointer
withClass: self
skipZeroLocations: NO];
//Only return "Apple Mikey HID Driver", if not found, return nil.
for (DDHidDevice *device in array) {
if ([[device productName] isEqualToString:@"Apple Mikey HID Driver"]) {
return …Run Code Online (Sandbox Code Playgroud)