|
tomosu |
9cb984 |
#include <iostream></iostream>
|
|
tomosu |
9cb984 |
#include "mousedragfilter.h"
|
|
tomosu |
9cb984 |
#import <appkit appkit.h=""></appkit>
|
|
tomosu |
9cb984 |
#import <coregraphics coregraphics.h=""></coregraphics>
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
bool IsLeftMouseDown(void *message){
|
|
tomosu |
9cb984 |
NSEvent * event = (NSEvent*)message;
|
|
tomosu |
9cb984 |
if([event type] == NSLeftMouseDown){
|
|
tomosu |
9cb984 |
return true;
|
|
tomosu |
9cb984 |
}
|
|
tomosu |
9cb984 |
return false;
|
|
tomosu |
9cb984 |
}
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
bool IsLeftMouseUp(void *message){
|
|
tomosu |
9cb984 |
NSEvent * event = (NSEvent*)message;
|
|
tomosu |
9cb984 |
if([event type] == NSLeftMouseUp){
|
|
tomosu |
9cb984 |
return true;
|
|
tomosu |
9cb984 |
}
|
|
tomosu |
9cb984 |
return false;
|
|
tomosu |
9cb984 |
}
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
bool IsLeftMouseDragged(void *message){
|
|
tomosu |
9cb984 |
NSEvent * event = (NSEvent*)message;
|
|
tomosu |
9cb984 |
if([event type] == NSLeftMouseDragged){
|
|
tomosu |
9cb984 |
return true;
|
|
tomosu |
9cb984 |
}
|
|
tomosu |
9cb984 |
return false;
|
|
tomosu |
9cb984 |
}
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
void MonitorNSMouseEvent(void *message){
|
|
tomosu |
9cb984 |
NSEvent * event = (NSEvent*)message;
|
|
tomosu |
9cb984 |
switch ([event type]) {
|
|
tomosu |
9cb984 |
case NSLeftMouseDown:
|
|
tomosu |
9cb984 |
std::cout << "Lv" << std::endl; break;
|
|
tomosu |
9cb984 |
case NSLeftMouseUp:
|
|
tomosu |
9cb984 |
std::cout << "L^" << std::endl; break;
|
|
tomosu |
9cb984 |
case NSRightMouseDown:
|
|
tomosu |
9cb984 |
std::cout << "Rv" << std::endl; break;
|
|
tomosu |
9cb984 |
case NSRightMouseUp:
|
|
tomosu |
9cb984 |
std::cout << "R^" << std::endl; break;
|
|
tomosu |
9cb984 |
case NSOtherMouseDown:
|
|
tomosu |
9cb984 |
std::cout << [event buttonNumber] << "v" << std::endl; break;
|
|
tomosu |
9cb984 |
case NSOtherMouseUp:
|
|
tomosu |
9cb984 |
std::cout << [event buttonNumber] << "^" << std::endl; break;
|
|
tomosu |
9cb984 |
default:
|
|
tomosu |
9cb984 |
break;
|
|
tomosu |
9cb984 |
}
|
|
tomosu |
9cb984 |
}
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
|
|
tomosu |
9cb984 |
void SendLeftMousePressEvent(){
|
|
tomosu |
9cb984 |
CGEventRef event = CGEventCreate(NULL);
|
|
tomosu |
9cb984 |
CGPoint location = CGEventGetLocation(event);
|
|
tomosu |
9cb984 |
CFRelease(event);
|
|
tomosu |
9cb984 |
CGEventRef mouseDown = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, location, kCGMouseButtonLeft);
|
|
tomosu |
9cb984 |
CGEventPost(kCGHIDEventTap, mouseDown);
|
|
tomosu |
9cb984 |
}
|