OSX назначить левую кнопку мыши на клавиатуре - PullRequest
3 голосов
/ 11 июня 2011

Я хотел бы иметь возможность назначить клавишу на клавиатуре равной нажатию левой кнопки мыши.

В идеале он должен действовать так, чтобы удерживание клавиши также эквивалентно удерживанию левой кнопки мыши.

Я бы хотел, чтобы эта возможность как пользователя, кроме того, было бы неплохо также программное решение (какао / applecript и т. Д.)

Ответы [ 2 ]

2 голосов
/ 19 июня 2011

Это можно сделать, написав некоторый код:

Напишите глобальный обработчик для получения типа события, которое вы хотите посмотреть

[NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask 
                                       handler:^(NSEvent *event){
                                           NSLog(@"%i", [event keyCode]);

                                           //todo invoke mouse clicking code;
                                       }];

Затем напишите код щелчка мыши:

// get current mouse pos
CGEventRef ourEvent = CGEventCreate(NULL);
CGPoint point = CGEventGetLocation(ourEvent);
NSLog(@"Location? x= %f, y = %f", (float)point.x, (float)point.y);

// perform a click
CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
CGEventRef theEvent = CGEventCreateMouseEvent(source, kCGEventLeftMouseDown, point, kCGMouseButtonLeft);
CGEventSetType(theEvent, kCGEventLeftMouseDown);
CGEventPost(kCGHIDEventTap, theEvent);
CFRelease(theEvent);
2 голосов
/ 11 июня 2011

Не совсем то, что вы хотите, но в Системных настройках -> Универсальный доступ вы можете включить клавиши мыши - и с их помощью вы можете перемещать (и щелкать) мышь за клавиатурой.документы здесь:

Или, с помощью "ControllerMate.app"Возможно сделать это, но это коммерческое приложение.

...