1 2from PyObjCTools.TestSupport import * 3from Quartz.CoreGraphics import * 4 5class TestCGEventTypes (TestCase): 6 def testTypes(self): 7 self.assertIsCFType(CGEventRef) 8 self.assertIsCFType(CGEventSourceRef) 9 10 def testConstants(self): 11 self.assertEqual(kCGMouseButtonLeft, 0) 12 self.assertEqual(kCGMouseButtonRight, 1) 13 self.assertEqual(kCGMouseButtonCenter, 2) 14 self.assertEqual(kCGScrollEventUnitPixel, 0) 15 self.assertEqual(kCGScrollEventUnitLine, 1) 16 self.assertEqual(kCGEventFlagMaskAlphaShift, 0x00010000) 17 self.assertEqual(kCGEventFlagMaskShift, 0x00020000) 18 self.assertEqual(kCGEventFlagMaskControl, 0x00040000) 19 self.assertEqual(kCGEventFlagMaskAlternate, 0x00080000) 20 self.assertEqual(kCGEventFlagMaskCommand, 0x00100000) 21 self.assertEqual(kCGEventFlagMaskHelp, 0x00400000) 22 self.assertEqual(kCGEventFlagMaskSecondaryFn, 0x00800000) 23 self.assertEqual(kCGEventFlagMaskNumericPad, 0x00200000) 24 self.assertEqual(kCGEventFlagMaskNonCoalesced, 0x00000100) 25 self.assertEqual(kCGEventNull, 0) 26 self.assertEqual(kCGEventLeftMouseDown, 1) 27 self.assertEqual(kCGEventLeftMouseUp, 2) 28 self.assertEqual(kCGEventRightMouseDown, 3) 29 self.assertEqual(kCGEventRightMouseUp, 4) 30 self.assertEqual(kCGEventMouseMoved, 5) 31 self.assertEqual(kCGEventLeftMouseDragged, 6) 32 self.assertEqual(kCGEventRightMouseDragged, 7) 33 self.assertEqual(kCGEventKeyDown, 10) 34 self.assertEqual(kCGEventKeyUp, 11) 35 self.assertEqual(kCGEventFlagsChanged, 12) 36 self.assertEqual(kCGEventScrollWheel, 22) 37 self.assertEqual(kCGEventTabletPointer, 23) 38 self.assertEqual(kCGEventTabletProximity, 24) 39 self.assertEqual(kCGEventOtherMouseDown, 25) 40 self.assertEqual(kCGEventOtherMouseUp, 26) 41 self.assertEqual(kCGEventOtherMouseDragged, 27) 42 self.assertEqual(kCGEventTapDisabledByTimeout, cast_int(0xFFFFFFFE)) 43 self.assertEqual(kCGEventTapDisabledByUserInput, cast_int(0xFFFFFFFF)) 44 self.assertEqual(kCGMouseEventNumber, 0) 45 self.assertEqual(kCGMouseEventClickState, 1) 46 self.assertEqual(kCGMouseEventPressure, 2) 47 self.assertEqual(kCGMouseEventButtonNumber, 3) 48 self.assertEqual(kCGMouseEventDeltaX, 4) 49 self.assertEqual(kCGMouseEventDeltaY, 5) 50 self.assertEqual(kCGMouseEventInstantMouser, 6) 51 self.assertEqual(kCGMouseEventSubtype, 7) 52 self.assertEqual(kCGKeyboardEventKeycode, 9) 53 self.assertEqual(kCGKeyboardEventKeyboardType, 10) 54 self.assertEqual(kCGScrollWheelEventDeltaAxis1, 11) 55 self.assertEqual(kCGScrollWheelEventDeltaAxis2, 12) 56 self.assertEqual(kCGScrollWheelEventDeltaAxis3, 13) 57 self.assertEqual(kCGScrollWheelEventFixedPtDeltaAxis1, 93) 58 self.assertEqual(kCGScrollWheelEventFixedPtDeltaAxis2, 94) 59 self.assertEqual(kCGScrollWheelEventFixedPtDeltaAxis3, 95) 60 self.assertEqual(kCGScrollWheelEventPointDeltaAxis1, 96) 61 self.assertEqual(kCGScrollWheelEventPointDeltaAxis2, 97) 62 self.assertEqual(kCGScrollWheelEventPointDeltaAxis3, 98) 63 self.assertEqual(kCGScrollWheelEventInstantMouser, 14) 64 self.assertEqual(kCGTabletEventPointX, 15) 65 self.assertEqual(kCGTabletEventPointY, 16) 66 self.assertEqual(kCGTabletEventPointZ, 17) 67 self.assertEqual(kCGTabletEventPointButtons, 18) 68 self.assertEqual(kCGTabletEventPointPressure, 19) 69 self.assertEqual(kCGTabletEventTiltX, 20) 70 self.assertEqual(kCGTabletEventTiltY, 21) 71 self.assertEqual(kCGTabletEventRotation, 22) 72 self.assertEqual(kCGTabletEventTangentialPressure, 23) 73 self.assertEqual(kCGTabletEventDeviceID, 24) 74 self.assertEqual(kCGTabletEventVendor1, 25) 75 self.assertEqual(kCGTabletEventVendor2, 26) 76 self.assertEqual(kCGTabletEventVendor3, 27) 77 self.assertEqual(kCGTabletProximityEventVendorID, 28) 78 self.assertEqual(kCGTabletProximityEventTabletID, 29) 79 self.assertEqual(kCGTabletProximityEventPointerID, 30) 80 self.assertEqual(kCGTabletProximityEventDeviceID, 31) 81 self.assertEqual(kCGTabletProximityEventSystemTabletID, 32) 82 self.assertEqual(kCGTabletProximityEventVendorPointerType, 33) 83 self.assertEqual(kCGTabletProximityEventVendorPointerSerialNumber, 34) 84 self.assertEqual(kCGTabletProximityEventVendorUniqueID, 35) 85 self.assertEqual(kCGTabletProximityEventCapabilityMask, 36) 86 self.assertEqual(kCGTabletProximityEventPointerType, 37) 87 self.assertEqual(kCGTabletProximityEventEnterProximity, 38) 88 self.assertEqual(kCGEventTargetProcessSerialNumber, 39) 89 self.assertEqual(kCGEventTargetUnixProcessID, 40) 90 self.assertEqual(kCGEventSourceUnixProcessID, 41) 91 self.assertEqual(kCGEventSourceUserData, 42) 92 self.assertEqual(kCGEventSourceUserID, 43) 93 self.assertEqual(kCGEventSourceGroupID, 44) 94 self.assertEqual(kCGEventSourceStateID, 45) 95 self.assertEqual(kCGScrollWheelEventIsContinuous, 88) 96 self.assertEqual(kCGEventMouseSubtypeDefault, 0) 97 self.assertEqual(kCGEventMouseSubtypeTabletPoint, 1) 98 self.assertEqual(kCGEventMouseSubtypeTabletProximity, 2) 99 self.assertEqual(kCGHIDEventTap, 0) 100 self.assertEqual(kCGSessionEventTap, 1) 101 self.assertEqual(kCGAnnotatedSessionEventTap, 2) 102 self.assertEqual(kCGHeadInsertEventTap, 0) 103 self.assertEqual(kCGTailAppendEventTap, 1) 104 self.assertEqual(kCGEventTapOptionDefault, 0x00000000) 105 self.assertEqual(kCGEventTapOptionListenOnly, 0x00000001) 106 107 self.assertEqual(kCGNotifyEventTapAdded, b"com.apple.coregraphics.eventTapAdded") 108 self.assertEqual(kCGNotifyEventTapRemoved, b"com.apple.coregraphics.eventTapRemoved") 109 110 self.assertEqual(kCGEventSourceStatePrivate, -1) 111 self.assertEqual(kCGEventSourceStateCombinedSessionState, 0) 112 self.assertEqual(kCGEventSourceStateHIDSystemState, 1) 113 self.assertEqual(kCGAnyInputEventType, 0xffffffff) 114 115 def testStructs(self): 116 v = CGEventTapInformation() 117 self.assertTrue(hasattr(v, 'eventTapID')) 118 self.assertTrue(hasattr(v, 'tapPoint')) 119 self.assertTrue(hasattr(v, 'options')) 120 self.assertTrue(hasattr(v, 'eventsOfInterest')) 121 self.assertTrue(hasattr(v, 'tappingProcess')) 122 self.assertTrue(hasattr(v, 'processBeingTapped')) 123 self.assertTrue(hasattr(v, 'enabled')) 124 self.assertTrue(hasattr(v, 'minUsecLatency')) 125 self.assertTrue(hasattr(v, 'avgUsecLatency')) 126 self.assertTrue(hasattr(v, 'maxUsecLatency')) 127 128 def testInline(self): 129 self.assertEqual(CGEventMaskBit(10), 1<<10) 130 131 132if __name__ == "__main__": 133 main() 134