Interface CGEventTapCallBackI

  • All Superinterfaces:
    CallbackI, CallbackI.P, Pointer
    All Known Implementing Classes:
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    public interface CGEventTapCallBackI
    extends CallbackI.P
    Instances of this interface may be passed to the EventTapCreate method.


     CGEventRef (*) (
         CGEventTapProxy proxy,
         CGEventType type,
         CGEventRef event,
         void *userInfo
    • Method Detail

      • getSignature

        default java.lang.String getSignature()
        Description copied from interface: CallbackI
        Returns the dyncall signature for this callback function. [INTERNAL API]
        Specified by:
        getSignature in interface CallbackI
        the dyncall signature
      • callback

        default long callback​(long args)
        Description copied from interface: CallbackI.P
        Will be called by native code.
        Specified by:
        callback in interface CallbackI.P
        args - pointer to a DCArgs iterator
        the value to store to the result DCValue
      • invoke

        long invoke​(long proxy,
                    int type,
                    long event,
                    long userInfo)
        A client-supplied callback function that’s invoked whenever an associated event tap receives a Quartz event.

        The callback is passed a proxy for the tap, the event type, the incoming event, and the user-defined data specified when the event tap was created. The function should return the (possibly modified) passed-in event, a newly constructed event, or NULL if the event is to be deleted. The event passed to the callback is retained by the calling code, and is released after the callback returns and the data is passed back to the event system. If a different event is returned by the callback function, then that event will be released by the calling code along with the original event, after the event data has been passed back to the event system.