Class CoreGraphics
- java.lang.Object
-
- org.lwjgl.system.macosx.CoreGraphics
-
public class CoreGraphics extends java.lang.ObjectNative bindings to <CoreGraphics.h>.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCoreGraphics.FunctionsContains the function pointers loaded from the CoreGraphicsSharedLibrary.
-
Field Summary
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static longCGEventCreate(long source)Returns a new event using the event sourcesource.static longCGEventCreateCopy(long event)Return a copy ofevent.static longCGEventCreateData(long allocator, long event)Return a "flattened" data representation of an event.static longCGEventCreateFromData(long allocator, long data)Returns an event created from a "flattened" data representation of the event.static longCGEventCreateKeyboardEvent(long source, short virtualKey, boolean keyDown)Returns a new keyboard event.static longCGEventCreateMouseEvent(long source, int mouseType, CGPoint mouseCursorPosition, int mouseButton)Returns a new mouse event.static longCGEventCreateScrollWheelEvent(long source, int units, int wheel1)Returns a new scrollwheel event.static longCGEventCreateScrollWheelEvent(long source, int units, int wheelCount, int wheel1)Returns a new scrollwheel event.static longCGEventCreateScrollWheelEvent2(long source, int units, int wheelCount, int wheel1, int wheel2, int wheel3)A non-variadic variant version ofEventCreateScrollWheelEvent.static longCGEventCreateSourceFromEvent(long event)Returns an event source created from an existing event.static doubleCGEventGetDoubleValueField(long event, int field)Returns the floating-point value of a field in an event.static longCGEventGetFlags(long event)Returns the event flags of an event.static longCGEventGetIntegerValueField(long event, int field)Returns the integer value of a field in an event.static CGPointCGEventGetLocation(long event, CGPoint __result)Returns the location of an event in global display coordinates.static longCGEventGetTimestamp(long event)Returns the timestamp of an event.static intCGEventGetType(long event)Returns the event type of an event (left mouse down, for example).static longCGEventGetTypeID()Returns the type identifier for the opaque typeCGEventRef.static CGPointCGEventGetUnflippedLocation(long event, CGPoint __result)Return the location of an event relative to the lower-left corner of the main display.static voidCGEventKeyboardGetUnicodeString(long event, CLongBuffer actualStringLength, short[] unicodeString)Array version of:EventKeyboardGetUnicodeStringstatic voidCGEventKeyboardGetUnicodeString(long event, CLongBuffer actualStringLength, java.nio.ShortBuffer unicodeString)Returns the Unicode string associated with a keyboard event.static voidCGEventKeyboardSetUnicodeString(long event, short[] unicodeString)Array version of:EventKeyboardSetUnicodeStringstatic voidCGEventKeyboardSetUnicodeString(long event, java.nio.ShortBuffer unicodeString)Sets the Unicode string associated with a keyboard event.static voidCGEventPost(int tap, long event)Posts an event into the event stream at a specified location.static voidCGEventPostToPid(long pid, long event)Post an event into the event stream for a specific application.static voidCGEventSetDoubleValueField(long event, int field, double value)Sets the floating-point value of a field in an event.static voidCGEventSetFlags(long event, long flags)Sets the event flags of an event.static voidCGEventSetIntegerValueField(long event, int field, long value)Sets the integer value of a field in an event.static voidCGEventSetLocation(long event, CGPoint location)Sets the location of an event in global display coordinates.static voidCGEventSetSource(long event, long source)Set the event source of an event.static voidCGEventSetTimestamp(long event, long timestamp)Sets the timestamp of an event.static voidCGEventSetType(long event, int type)Sets the event type of an event.static longCGEventTapCreate(int tap, int place, int options, long eventsOfInterest, CGEventTapCallBackI callback, long userInfo)Creates an event tap.static longCGEventTapCreateForPid(long pid, int place, int options, long eventsOfInterest, CGEventTapCallBackI callback, long userInfo)Create an event tap for a specified process.static voidCGEventTapEnable(long tap, boolean enable)Enables or disables an event tap.static booleanCGEventTapIsEnabled(long tap)Return true iftapis enabled; false otherwise.static voidCGEventTapPostEvent(long proxy, long event)Post an event from an event tap into the event stream.static intCGGetEventTapList(CGEventTapInformation.Buffer tapList, int[] eventTapCount)Array version of:GetEventTapListstatic intCGGetEventTapList(CGEventTapInformation.Buffer tapList, java.nio.IntBuffer eventTapCount)Gets a list of currently installed event taps.static SharedLibrarygetLibrary()Returns the CoreGraphicsSharedLibrary.static longnCGEventCreateMouseEvent(long source, int mouseType, long mouseCursorPosition, int mouseButton)Unsafe version of:EventCreateMouseEventstatic longnCGEventCreateMouseEvent(long source, int mouseType, long mouseCursorPosition, int mouseButton, long __functionAddress)Unsafe version of:EventCreateMouseEventstatic voidnCGEventGetLocation(long event, long __result)Unsafe version of:EventGetLocationstatic voidnCGEventGetLocation(long event, long __functionAddress, long __result)Unsafe version of:EventGetLocationstatic voidnCGEventGetUnflippedLocation(long event, long __result)Unsafe version of:EventGetUnflippedLocationstatic voidnCGEventGetUnflippedLocation(long event, long __functionAddress, long __result)Unsafe version of:EventGetUnflippedLocationstatic voidnCGEventKeyboardGetUnicodeString(long event, long maxStringLength, long actualStringLength, long unicodeString)Unsafe version of:EventKeyboardGetUnicodeStringstatic voidnCGEventKeyboardSetUnicodeString(long event, long stringLength, long unicodeString)Unsafe version of:EventKeyboardSetUnicodeStringstatic voidnCGEventSetLocation(long event, long location)Unsafe version of:EventSetLocationstatic voidnCGEventSetLocation(long event, long location, long __functionAddress)Unsafe version of:EventSetLocationstatic longnCGEventTapCreate(int tap, int place, int options, long eventsOfInterest, long callback, long userInfo)Unsafe version of:EventTapCreatestatic longnCGEventTapCreateForPid(long pid, int place, int options, long eventsOfInterest, long callback, long userInfo)Unsafe version of:EventTapCreateForPidstatic intnCGGetEventTapList(int maxNumberOfTaps, long tapList, long eventTapCount)Unsafe version of:GetEventTapList
-
-
-
Field Detail
-
kCGErrorSuccess, kCGErrorFailure, kCGErrorIllegalArgument, kCGErrorInvalidConnection, kCGErrorInvalidContext, kCGErrorCannotComplete, kCGErrorNotImplemented, kCGErrorRangeCheck, kCGErrorTypeCheck, kCGErrorInvalidOperation, kCGErrorNoneAvailable
Types used for errors and error handlers. (CGError)Enum values:
-
kCGEventNull, kCGEventLeftMouseDown, kCGEventLeftMouseUp, kCGEventRightMouseDown, kCGEventRightMouseUp, kCGEventMouseMoved, kCGEventLeftMouseDragged, kCGEventRightMouseDragged, kCGEventKeyDown, kCGEventKeyUp, kCGEventFlagsChanged, kCGEventScrollWheel, kCGEventTabletPointer, kCGEventTabletProximity, kCGEventOtherMouseDown, kCGEventOtherMouseUp, kCGEventOtherMouseDragged, kCGEventTapDisabledByTimeout, kCGEventTapDisabledByUserInput
Event types. (CGEventType)Enum values:
EventNullEventLeftMouseDownEventLeftMouseUpEventRightMouseDownEventRightMouseUpEventMouseMovedEventLeftMouseDraggedEventRightMouseDraggedEventKeyDownEventKeyUpEventFlagsChangedEventScrollWheelEventTabletPointerEventTabletProximityEventOtherMouseDownEventOtherMouseUpEventOtherMouseDraggedEventTapDisabledByTimeoutEventTapDisabledByUserInput
-
kCGMouseButtonLeft, kCGMouseButtonRight, kCGMouseButtonCenter
Constants that specify buttons on a one, two, or three-button mouse. (CGMouseButton)Enum values:
-
kCGHIDEventTap, kCGSessionEventTap, kCGAnnotatedSessionEventTap
CGEventTapLocationEnum values:
HIDEventTap- Specifies that an event tap is placed at the point where HID system events enter the window server.SessionEventTap- Specifies that an event tap is placed at the point where HID system and remote control events enter a login session.AnnotatedSessionEventTap- Specifies that an event tap is placed at the point where session events have been annotated to flow to an application.
-
kCGScrollEventUnitPixel, kCGScrollEventUnitLine
Constants that specify the unit of measurement for a scrolling event. (CGScrollEventUnit)Enum values:
ScrollEventUnitPixel- Specifies that the unit of measurement is pixels.ScrollEventUnitLine- Specifies that the unit of measurement is lines.
-
kCGMouseEventNumber, kCGMouseEventClickState, kCGMouseEventPressure, kCGMouseEventButtonNumber, kCGMouseEventDeltaX, kCGMouseEventDeltaY, kCGMouseEventInstantMouser, kCGMouseEventSubtype, kCGKeyboardEventAutorepeat, kCGKeyboardEventKeycode, kCGKeyboardEventKeyboardType, kCGScrollWheelEventDeltaAxis1, kCGScrollWheelEventDeltaAxis2, kCGScrollWheelEventDeltaAxis3, kCGScrollWheelEventFixedPtDeltaAxis1, kCGScrollWheelEventFixedPtDeltaAxis2, kCGScrollWheelEventFixedPtDeltaAxis3, kCGScrollWheelEventPointDeltaAxis1, kCGScrollWheelEventPointDeltaAxis2, kCGScrollWheelEventPointDeltaAxis3, kCGScrollWheelEventScrollPhase, kCGScrollWheelEventScrollCount, kCGScrollWheelEventMomentumPhase, kCGScrollWheelEventInstantMouser, kCGTabletEventPointX, kCGTabletEventPointY, kCGTabletEventPointZ, kCGTabletEventPointButtons, kCGTabletEventPointPressure, kCGTabletEventTiltX, kCGTabletEventTiltY, kCGTabletEventRotation, kCGTabletEventTangentialPressure, kCGTabletEventDeviceID, kCGTabletEventVendor1, kCGTabletEventVendor2, kCGTabletEventVendor3, kCGTabletProximityEventVendorID, kCGTabletProximityEventTabletID, kCGTabletProximityEventPointerID, kCGTabletProximityEventDeviceID, kCGTabletProximityEventSystemTabletID, kCGTabletProximityEventVendorPointerType, kCGTabletProximityEventVendorPointerSerialNumber, kCGTabletProximityEventVendorUniqueID, kCGTabletProximityEventCapabilityMask, kCGTabletProximityEventPointerType, kCGTabletProximityEventEnterProximity, kCGEventTargetProcessSerialNumber, kCGEventTargetUnixProcessID, kCGEventSourceUnixProcessID, kCGEventSourceUserData, kCGEventSourceUserID, kCGEventSourceGroupID, kCGEventSourceStateID, kCGScrollWheelEventIsContinuous, kCGMouseEventWindowUnderMousePointer, kCGMouseEventWindowUnderMousePointerThatCanHandleThisEvent
Constants used as keys to access specialized fields in low-level events. (CGEventField)Enum values:
MouseEventNumber- Key to access an integer field that contains the mouse button event number.Matching mouse-down and mouse-up events will have the same event number.
MouseEventClickState- Key to access an integer field that contains the mouse button click state.A click state of 1 represents a single click. A click state of 2 represents a double-click. A click state of 3 represents a triple-click.
MouseEventPressure- Key to access a double field that contains the mouse button pressure.The pressure value may range from 0 to 1, with 0 representing the mouse being up. This value is commonly set by tablet pens mimicking a mouse.
MouseEventButtonNumber- Key to access an integer field that contains the mouse button number.MouseEventDeltaX- Key to access an integer field that contains the horizontal mouse delta since the last mouse movement event.MouseEventDeltaY- Key to access an integer field that contains the vertical mouse delta since the last mouse movement event.MouseEventInstantMouser- Key to access an integer field. The value is non-zero if the event should be ignored by the Inkwell subsystem.MouseEventSubtype- Key to access an integer field that encodes the mouse event subtype as akCFNumberIntType.KeyboardEventAutorepeat- Key to access an integer field, non-zero when this is an autorepeat of a key-down, and zero otherwise.KeyboardEventKeycode- Key to access an integer field that contains the virtual keycode of the key-down or key-up event.KeyboardEventKeyboardType- Key to access an integer field that contains the keyboard type identifier.ScrollWheelEventDeltaAxis1- Key to access an integer field that contains scrolling data.This field typically contains the change in vertical position since the last scrolling event from a Mighty Mouse scroller or a single-wheel mouse scroller.
ScrollWheelEventDeltaAxis2- Key to access an integer field that contains scrolling data.This field typically contains the change in horizontal position since the last scrolling event from a Mighty Mouse scroller.
ScrollWheelEventDeltaAxis3- This field is not used.ScrollWheelEventFixedPtDeltaAxis1- Key to access a field that contains scrolling data.The scrolling data represents a line-based or pixel-based change in vertical position since the last scrolling event from a Mighty Mouse scroller or a single-wheel mouse scroller. The scrolling data uses a fixed-point 16.16 signed integer format. If this key is passed to
EventGetDoubleValueField, the fixed-point value is converted to a double value.ScrollWheelEventFixedPtDeltaAxis2- Key to access a field that contains scrolling data.The scrolling data represents a line-based or pixel-based change in horizontal position since the last scrolling event from a Mighty Mouse scroller. The scrolling data uses a fixed-point 16.16 signed integer format. If this key is passed to
EventGetDoubleValueField, the fixed-point value is converted to a double value.ScrollWheelEventFixedPtDeltaAxis3- This field is not used.ScrollWheelEventPointDeltaAxis1- Key to access an integer field that contains pixel-based scrolling data.The scrolling data represents the change in vertical position since the last scrolling event from a Mighty Mouse scroller or a single-wheel mouse scroller.
ScrollWheelEventPointDeltaAxis2- Key to access an integer field that contains pixel-based scrolling data.The scrolling data represents the change in horizontal position since the last scrolling event from a Mighty Mouse scroller.
ScrollWheelEventPointDeltaAxis3- This field is not used.ScrollWheelEventScrollPhaseScrollWheelEventScrollCount- rdar://11259169ScrollWheelEventMomentumPhaseScrollWheelEventInstantMouser- Key to access an integer field that indicates whether the event should be ignored by the Inkwell subsystem.If the value is non-zero, the event should be ignored.
TabletEventPointX- Key to access an integer field that contains the absolute X coordinate in tablet space at full tablet resolution.TabletEventPointY- Key to access an integer field that contains the absolute Y coordinate in tablet space at full tablet resolution.TabletEventPointZ- Key to access an integer field that contains the absolute Z coordinate in tablet space at full tablet resolution.TabletEventPointButtons- Key to access an integer field that contains the tablet button state.Bit 0 is the first button, and a set bit represents a closed or pressed button. Up to 16 buttons are supported.
TabletEventPointPressure- Key to access a double field that contains the tablet pen pressure.A value of 0.0 represents no pressure, and 1.0 represents maximum pressure.
TabletEventTiltX- Key to access a double field that contains the horizontal tablet pen tilt.A value of 0 represents no tilt, and 1 represents maximum tilt.
TabletEventTiltY- Key to access a double field that contains the vertical tablet pen tilt.A value of 0 represents no tilt, and 1 represents maximum tilt.
TabletEventRotation- Key to access a double field that contains the tablet pen rotation.TabletEventTangentialPressure- Key to access a double field that contains the tangential pressure on the device.A value of 0.0 represents no pressure, and 1.0 represents maximum pressure.
TabletEventDeviceID- Key to access an integer field that contains the system-assigned unique device ID.TabletEventVendor1- Key to access an integer field that contains a vendor-specified value.TabletEventVendor2- Key to access an integer field that contains a vendor-specified value.TabletEventVendor3- Key to access an integer field that contains a vendor-specified value.TabletProximityEventVendorID- Key to access an integer field that contains the vendor-defined ID, typically the USB vendor ID.TabletProximityEventTabletID- Key to access an integer field that contains the vendor-defined tablet ID, typically the USB product ID.TabletProximityEventPointerID- Key to access an integer field that contains the vendor-defined ID of the pointing device.TabletProximityEventDeviceID- Key to access an integer field that contains the system-assigned device ID.TabletProximityEventSystemTabletID- Key to access an integer field that contains the system-assigned unique tablet ID.TabletProximityEventVendorPointerType- Key to access an integer field that contains the vendor-assigned pointer type.TabletProximityEventVendorPointerSerialNumber- Key to access an integer field that contains the vendor-defined pointer serial number.TabletProximityEventVendorUniqueID- Key to access an integer field that contains the vendor-defined unique ID.TabletProximityEventCapabilityMask- Key to access an integer field that contains the device capabilities mask.TabletProximityEventPointerType- Key to access an integer field that contains the pointer type.TabletProximityEventEnterProximity- Key to access an integer field that indicates whether the pen is in proximity to the tablet.The value is non-zero if the pen is in proximity to the tablet and zero when leaving the tablet.
EventTargetProcessSerialNumber- Key to access a field that contains the event target process serial number. The value is a 64-bit value.EventTargetUnixProcessID- Key to access a field that contains the event target Unix process ID.EventSourceUnixProcessID- Key to access a field that contains the event source Unix process ID.EventSourceUserData- Key to access a field that contains the event source user-supplied data, up to 64 bits.EventSourceUserID- Key to access a field that contains the event source Unix effective UID.EventSourceGroupID- Key to access a field that contains the event source Unix effective GID.EventSourceStateID- Key to access a field that contains the event source state ID used to create this event.ScrollWheelEventIsContinuous- Key to access an integer field that indicates whether a scrolling event contains continuous, pixel-based scrolling data.The value is non-zero when the scrolling data is pixel-based and zero when the scrolling data is line-based.
MouseEventWindowUnderMousePointerMouseEventWindowUnderMousePointerThatCanHandleThisEvent
-
-
Method Detail
-
getLibrary
public static SharedLibrary getLibrary()
Returns the CoreGraphicsSharedLibrary.
-
CGEventGetTypeID
public static long CGEventGetTypeID()
Returns the type identifier for the opaque typeCGEventRef.
-
CGEventCreate
public static long CGEventCreate(long source)
Returns a new event using the event sourcesource. IfsourceisNULL, the default source is used.
-
CGEventCreateData
public static long CGEventCreateData(long allocator, long event)Return a "flattened" data representation of an event.
-
CGEventCreateFromData
public static long CGEventCreateFromData(long allocator, long data)Returns an event created from a "flattened" data representation of the event.
-
nCGEventCreateMouseEvent
public static long nCGEventCreateMouseEvent(long source, int mouseType, long mouseCursorPosition, int mouseButton, long __functionAddress) public static long nCGEventCreateMouseEvent(long source, int mouseType, long mouseCursorPosition, int mouseButton)Unsafe version of:EventCreateMouseEvent
-
CGEventCreateMouseEvent
public static long CGEventCreateMouseEvent(long source, int mouseType, CGPoint mouseCursorPosition, int mouseButton)Returns a new mouse event.The event source may be taken from another event, or may be
NULL.mouseTypeshould be one of the mouse event types.mouseCursorPositionshould be the position of the mouse cursor in global coordinates.mouseButtonshould be the button that's changing state;mouseButtonis ignored unlessmouseTypeis one ofEventOtherMouseDown,EventOtherMouseDragged, orEventOtherMouseUp.The current implemementation of the event system supports a maximum of thirty-two buttons. Mouse button 0 is the primary button on the mouse. Mouse button 1 is the secondary mouse button (right). Mouse button 2 is the center button, and the remaining buttons are in USB device order.
-
CGEventCreateKeyboardEvent
public static long CGEventCreateKeyboardEvent(long source, short virtualKey, boolean keyDown)Returns a new keyboard event.The event source may be taken from another event, or may be
NULL. Based on the virtual key code values entered, the appropriate key down, key up, or flags changed events are generated.All keystrokes needed to generate a character must be entered, including SHIFT, CONTROL, OPTION, and COMMAND keys. For example, to produce a 'Z', the SHIFT key must be down, the 'z' key must go down, and then the SHIFT and 'z' key must be released:
CGEventCreateKeyboardEvent(source, (CGKeyCode)56, true); // shift down CGEventCreateKeyboardEvent(source, (CGKeyCode) 6, true); // 'z' down CGEventCreateKeyboardEvent(source, (CGKeyCode) 6, false); // 'z' up CGEventCreateKeyboardEvent(source, (CGKeyCode)56, false); // 'shift up
-
CGEventCreateScrollWheelEvent
public static long CGEventCreateScrollWheelEvent(long source, int units, int wheelCount, int wheel1) public static long CGEventCreateScrollWheelEvent(long source, int units, int wheel1)Returns a new scrollwheel event.The event source may be taken from another event, or may be
NULL. The scrolling units may be specified in lines usingScrollEventUnitLineor in pixels usingScrollEventUnitPixel.ScrollEventUnitPixelwill produce an event that most applications interpret as a smooth scrolling event.One or more wheels must be specified. The current implementation supports up to three wheels.
Every scrollwheel event can be interpreted to be scrolling by pixel or by line. The scale between the two is about 10 pixels per line by default. The scale can be altered by setting a custom value for the event source, using
CGEventSourceSetPixelsPerLine.
-
CGEventCreateScrollWheelEvent2
public static long CGEventCreateScrollWheelEvent2(long source, int units, int wheelCount, int wheel1, int wheel2, int wheel3)A non-variadic variant version ofEventCreateScrollWheelEvent.- Since:
- macOS 10.13
-
CGEventCreateCopy
public static long CGEventCreateCopy(long event)
Return a copy ofevent.
-
CGEventCreateSourceFromEvent
public static long CGEventCreateSourceFromEvent(long event)
Returns an event source created from an existing event.Event filters may use the event source to generate events that are compatible with an event being filtered.
Note that
CGEventCreateSourceFromEventmay returnNULLif the event was generated with a privateCGEventSourceStateIDowned by another process. Such events should be filtered based on the public state.
-
CGEventSetSource
public static void CGEventSetSource(long event, long source)Set the event source of an event.
-
CGEventGetType
public static int CGEventGetType(long event)
Returns the event type of an event (left mouse down, for example).
-
CGEventSetType
public static void CGEventSetType(long event, int type)Sets the event type of an event.
-
CGEventGetTimestamp
public static long CGEventGetTimestamp(long event)
Returns the timestamp of an event.
-
CGEventSetTimestamp
public static void CGEventSetTimestamp(long event, long timestamp)Sets the timestamp of an event.
-
nCGEventGetLocation
public static void nCGEventGetLocation(long event, long __functionAddress, long __result) public static void nCGEventGetLocation(long event, long __result)Unsafe version of:EventGetLocation
-
CGEventGetLocation
public static CGPoint CGEventGetLocation(long event, CGPoint __result)
Returns the location of an event in global display coordinates.CGPointZerois returned ifeventis not a validCGEventRef.
-
nCGEventGetUnflippedLocation
public static void nCGEventGetUnflippedLocation(long event, long __functionAddress, long __result) public static void nCGEventGetUnflippedLocation(long event, long __result)Unsafe version of:EventGetUnflippedLocation
-
CGEventGetUnflippedLocation
public static CGPoint CGEventGetUnflippedLocation(long event, CGPoint __result)
Return the location of an event relative to the lower-left corner of the main display.CGPointZerois returned ifeventis not a validCGEventRef.
-
nCGEventSetLocation
public static void nCGEventSetLocation(long event, long location, long __functionAddress) public static void nCGEventSetLocation(long event, long location)Unsafe version of:EventSetLocation
-
CGEventSetLocation
public static void CGEventSetLocation(long event, CGPoint location)Sets the location of an event in global display coordinates.
-
CGEventGetFlags
public static long CGEventGetFlags(long event)
Returns the event flags of an event.(CGEventFlags)0ifeventis not a validCGEventRef.
-
CGEventSetFlags
public static void CGEventSetFlags(long event, long flags)Sets the event flags of an event.
-
nCGEventKeyboardGetUnicodeString
public static void nCGEventKeyboardGetUnicodeString(long event, long maxStringLength, long actualStringLength, long unicodeString)Unsafe version of:EventKeyboardGetUnicodeString
-
CGEventKeyboardGetUnicodeString
public static void CGEventKeyboardGetUnicodeString(long event, @Nullable CLongBuffer actualStringLength, @Nullable java.nio.ShortBuffer unicodeString)Returns the Unicode string associated with a keyboard event.When you call this function with a
NULLstring or a maximum string length of 0, the function still returns the actual count of Unicode characters in the event.
-
nCGEventKeyboardSetUnicodeString
public static void nCGEventKeyboardSetUnicodeString(long event, long stringLength, long unicodeString)Unsafe version of:EventKeyboardSetUnicodeString
-
CGEventKeyboardSetUnicodeString
public static void CGEventKeyboardSetUnicodeString(long event, java.nio.ShortBuffer unicodeString)Sets the Unicode string associated with a keyboard event.By default, the system translates the virtual key code in a keyboard event into a Unicode string based on the keyboard ID in the event source. This function allows you to manually override this string. Note that application frameworks may ignore the Unicode string in a keyboard event and do their own translation based on the virtual keycode and perceived event state.
-
CGEventGetIntegerValueField
public static long CGEventGetIntegerValueField(long event, int field)Returns the integer value of a field in an event.
-
CGEventSetIntegerValueField
public static void CGEventSetIntegerValueField(long event, int field, long value)Sets the integer value of a field in an event.Before calling this function, the event type must be set using a typed event creation function such as
EventCreateMouseEvent, or by callingEventSetType.If you are creating a mouse event generated by a tablet, call this function and specify the field
MouseEventSubtypewith a value ofEventMouseSubtypeTabletPointorEventMouseSubtypeTabletProximitybefore setting other parameters.
-
CGEventGetDoubleValueField
public static double CGEventGetDoubleValueField(long event, int field)Returns the floating-point value of a field in an event.In cases where the field value is represented within the event by a fixed point number or an integer, the result is scaled to the appropriate range as part of creating the floating-point representation.
-
CGEventSetDoubleValueField
public static void CGEventSetDoubleValueField(long event, int field, double value)Sets the floating-point value of a field in an event.Before calling this function, the event type must be set using a typed event creation function such as
EventCreateMouseEvent, or by callingEventSetType.In cases where the field’s value is represented within the event by a fixed point number or integer, the value parameter is scaled as needed and converted to the appropriate type.
-
nCGEventTapCreate
public static long nCGEventTapCreate(int tap, int place, int options, long eventsOfInterest, long callback, long userInfo)Unsafe version of:EventTapCreate
-
CGEventTapCreate
public static long CGEventTapCreate(int tap, int place, int options, long eventsOfInterest, CGEventTapCallBackI callback, long userInfo)Creates an event tap.Taps may be placed at the point where
HIDSystemevents enter the server, at the point whereHIDSystemand remote control events enter a session, at the point where events have been annotated to flow to a specific application, or at the point where events are delivered to the application. Taps may be inserted at a specified point at the head of pre-existing filters, or appended after any pre-existing filters.Taps may be passive event listeners, or active filters. An active filter may pass an event through unmodified, modify an event, or discard an event. When a tap is registered, it identifies the set of events to be observed with a mask, and indicates if it is a passive or active event filter. Multiple event type bitmasks may be ORed together.
Taps may only be placed at
HIDEventTapby a process running as the root user.NULLis returned for other users.Taps placed at
HIDEventTap,SessionEventTap,AnnotatedSessionEventTap, or on a specific process may only receive key up and down events if access for assistive devices is enabled (Preferences Accessibility panel, Keyboard view) or the caller is enabled for assistive device access, as byAXMakeProcessTrusted. If the tap is not permitted to monitor these events when the tap is created, then the appropriate bits in the mask are cleared. If that results in an empty mask, thenNULLis returned.An event tap is represented as a
CFMachPortRef. The event tap may be added to an appropriate run loop by callingCFRunLoopAddSource.Releasing the
CFMachPortRefwill release the tap.A
CGEventTapProxyis an opaque reference to state within the client application associated with the tap. The tap function may pass this reference to other functions, such as the event-posting routines.The event tap callback runs from the
CFRunLoopto which the tapCFMachPortis added as a source. Thread safety is defined by theCFRunLoopand its environment.
-
nCGEventTapCreateForPid
public static long nCGEventTapCreateForPid(long pid, int place, int options, long eventsOfInterest, long callback, long userInfo)Unsafe version of:EventTapCreateForPid
-
CGEventTapCreateForPid
public static long CGEventTapCreateForPid(long pid, int place, int options, long eventsOfInterest, CGEventTapCallBackI callback, long userInfo)Create an event tap for a specified process.Events routed to individual applications may be tapped using another function.
CGEventTapCreateForPSNwill report all events routed to the specified application.- Since:
- macOS 10.11
-
CGEventTapEnable
public static void CGEventTapEnable(long tap, boolean enable)Enables or disables an event tap.Taps are normally enabled when created. If a tap becomes unresponsive or a user requests taps be disabled, an appropriate
kCGEventTapDisabled...event is passed to the registeredCGEventTapCallBackfunction. An event tap may be re-enabled by calling this function.
-
CGEventTapIsEnabled
public static boolean CGEventTapIsEnabled(long tap)
Return true iftapis enabled; false otherwise.
-
CGEventTapPostEvent
public static void CGEventTapPostEvent(long proxy, long event)Post an event from an event tap into the event stream.You can use this function to post a new event at the same point to which an event returned from an event tap callback function would be posted. The new event enters the system before the event returned by the callback enters the system. Events posted into the system will be seen by all taps placed after the tap posting the event.
-
CGEventPost
public static void CGEventPost(int tap, long event)Posts an event into the event stream at a specified location.This function posts the specified event immediately before any event taps instantiated for that location, and the event passes through any such taps.
- Parameters:
tap- the location at which to post the eventevent- the event to post
-
CGEventPostToPid
public static void CGEventPostToPid(long pid, long event)Post an event into the event stream for a specific application.This function makes it possible for an application to establish an event routing policy, for example, by tapping events at the
AnnotatedSessionEventTaplocation and then posting the events to another desired process.This function posts the specified event immediately before any event taps instantiated for the specified process, and the event passes through any such taps.
- Since:
- macOS 10.11
-
nCGGetEventTapList
public static int nCGGetEventTapList(int maxNumberOfTaps, long tapList, long eventTapCount)Unsafe version of:GetEventTapList
-
CGGetEventTapList
public static int CGGetEventTapList(@Nullable CGEventTapInformation.Buffer tapList, @Nullable java.nio.IntBuffer eventTapCount)Gets a list of currently installed event taps.tapListis an array of event tap information structures of lengthmaxNumberOfTaps. You are responsible for allocating storage for this array. On return, your array contains a list of currently installed event taps. On return, the number of event taps that are currently installed is stored ineventTapCount. If you passNULLin this parameter, themaxNumberOfTapsparameter is ignored, and the number of event taps that are currently installed is stored ineventTapCount.Each call to this function has the side effect of resetting the minimum and maximum latencies in the
tapListparameter to the corresponding average values. Values reported in these fields reflect the minimum and maximum values seen since the preceding call, or the instantiation of the tap. This allows a monitoring tool to evaluate the best and worst case latency over time and under various operating conditions.
-
CGEventKeyboardGetUnicodeString
public static void CGEventKeyboardGetUnicodeString(long event, @Nullable CLongBuffer actualStringLength, @Nullable short[] unicodeString)Array version of:EventKeyboardGetUnicodeString
-
CGEventKeyboardSetUnicodeString
public static void CGEventKeyboardSetUnicodeString(long event, short[] unicodeString)Array version of:EventKeyboardSetUnicodeString
-
CGGetEventTapList
public static int CGGetEventTapList(@Nullable CGEventTapInformation.Buffer tapList, @Nullable int[] eventTapCount)Array version of:GetEventTapList
-
-