2010-02-18 2 views
0

수정 된 키 입력 (예 : 대문자 "A")을 프로그래밍 방식으로 보내려고합니다. 문제는 시프트 수정자가 아무런 영향을 미치지 않는 것입니다.Carbon - OS X - CGEventPost를 사용하여 수정 된 키 이벤트 보내기

내 코드에는 두 개의 이벤트가 있습니다. 하나는 shift 키, 다른 하나는 'm'키입니다.

CGEventRef mDown = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)46, true); 

CGEventRef shiftDown = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)56, true); 

    CGEventPost(kCGAnnotatedSessionEventTap, shiftDown); 
    CGEventPost(kCGAnnotatedSessionEventTap, mDown);} 
    CFRelease(shiftDown); 
    CFRelease(mDown); 

결과가 불행히도 항상 작은 경우 'm'입니다.

도움을 주시면 감사하겠습니다.

답변

2

대신 CGEventKeyboardSetUnicodeString을 사용해야합니다. 몇 가지 샘플 코드는 here을 참조하십시오.

관련 문제