< prev index next >
src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m
Print this page
*** 264,285 ****
* no idea how to solve them without inserting delays between simulated
* events. So, I've ended up disabling it and opted for another approach
* that uses Accessibility API instead.
*/
CGKeyCode keyCode = GetCGKeyCode(javaKeyCode);
! AXUIElementRef elem = AXUIElementCreateSystemWide();
! AXUIElementPostKeyboardEvent(elem, (CGCharCode)0, keyCode, keyPressed);
! CFRelease(elem);
!
! #if 0
! CGEventRef event = CGEventCreateKeyboardEvent(NULL, keyCode, keyPressed);
if (event != NULL) {
CGEventPost(kCGSessionEventTap, event);
CFRelease(event);
}
- #endif
}
/*
* Class: sun_lwawt_macosx_CRobot
* Method: nativeGetScreenPixels
--- 264,294 ----
* no idea how to solve them without inserting delays between simulated
* events. So, I've ended up disabling it and opted for another approach
* that uses Accessibility API instead.
*/
CGKeyCode keyCode = GetCGKeyCode(javaKeyCode);
! // AXUIElementRef elem = AXUIElementCreateSystemWide();
! // AXUIElementPostKeyboardEvent(elem, (CGCharCode)0, keyCode, keyPressed);
! // CFRelease(elem);
!
! /*
! * JDK-8155740: AXUIElementPostKeyboardEvent posts 0 key code for all
! * the modifier keys with key codes (16, 17,18, 20, 157) and also for
! * newly added modifier key VK_ALT_GRAPH. But it posts correct key code
! * for all the other keys. On the other hand CGEventCreateKeyboardEvent
! * posts correct key code for all the keys and hence it is used to post
! * all the key events instead of AXUIElementPostKeyboardEvent.
! * Key code for modifier key is required to distinguish between ALT and
! * ALT-GR key for fixing issue 8155740.
! */
! CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateHIDSystemState);
! CGEventRef event = CGEventCreateKeyboardEvent(source, keyCode, keyPressed);
if (event != NULL) {
CGEventPost(kCGSessionEventTap, event);
CFRelease(event);
}
}
/*
* Class: sun_lwawt_macosx_CRobot
* Method: nativeGetScreenPixels
< prev index next >