2010-12-14 1 views
0

スペース変更を引き起こすためにキーボードイベントをポストしようとしています。ポストキーボードイベント

デフォルトでは、あなたがここで私が使用しているが、動作していないコードですが、コントロールキー+あなたが変更したいスペースの番号キーとスペースを変更することができます。

int spaceToChangeTo = 3; 
int keyCodeForSpace = space + 17; // keycode 18 = number 1 on the keyboard, and onwards. 

CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState); 

CGEventRef spaceDownEvent = CGEventCreateKeyboardEvent(source, (CGKeyCode)keyCodeForSpace, YES); 
CGEventSetFlags(spaceDownEvent, kCGEventFlagMaskControl); 

CGEventRef spaceUpEvent = CGEventCreateKeyboardEvent(source, (CGKeyCode)keyCodeForSpace, NO); 

CGEventPost(kCGAnnotatedSessionEventTap, spaceDownEvent); 
CGEventPost(kCGAnnotatedSessionEventTap, spaceUpEvent); 

CFRelease(spaceDownEvent); 
CFRelease(spaceUpEvent); 
CFRelease(source); 

答えて

2

OKで、見つかりました解決策、正しいコードを投稿すると、正しいコードは:

CGEventPost(kCGHIDEventTap, spaceDownEvent);