¿Cómo se usa CGEventTapCreate en Swift?

¿Alguien ha logrado que esta función funcione en Swift?

Aquí hay una publicación SO de referencia del año pasado:Uso de CGEventTapCreate Trouble con parámetros en Swift

Doc de Apple:https://developer.apple.com/library/prerelease/mac/documentation/Carbon/Reference/QuartzEventServicesRef/index.html#//apple_ref/c/func/CGEventTapCreate

Así es como se define CGEventTapCallBack:

typealias CGEventTapCallBack = CFunctionPointer<((CGEventTapProxy, CGEventType, CGEvent!, UnsafeMutablePointer<Void>) -> Unmanaged<CGEvent>!)>

Así es como he escrito el bloque:

let eventTapCallBackBlock : @objc_block
(CGEventTapProxy, CGEventType, CGEventRef, UnsafeMutablePointer<Void>) -> CGEventRef =
{ (eventTapProxy: CGEventTapProxy, eventType: CGEventType, event: CGEventRef, refcon: UnsafeMutablePointer<Void>) in
  return event
}

Luego llamé a CGEventTapCreate con el parámetro de devolución de llamada comounsafeBitCast(eventTapCallBackBlock, CGEventTapCallBack.self)

Obtengo un validoCFMachPortRef atrás, pero en tiempo de ejecución obtengo una excepción de infracción de acceso en el primer evento. "Parece" que estoy cerca de una solución rápida en su estado de lanzamiento actual.

Usando Xcode versión 6.4

Respuestas a la pregunta(1)

Su respuesta a la pregunta