개발개발/Mac, iOS
GSEvent.h (for hid-support)
iolate
2012. 12. 23. 20:16
으하하하!! 드디어 찾았다!!!!!!!!!!!!
hid-support(MouseSupport) 에 쓰인 GSEvent.h !!!!!!!!!!
계속 찾아다니다가, 얼마전엔 mringwal 한테 좀 달라고 트윗까지 보냈었는데 운좋게 찾았다아!!!!!! ㅠㅠㅠㅠㅠㅠㅠ
위치는
여기!
사우릭 꺼인건 알고 있었는데 저렇게 숨겨져 있을 줄이야 ㅠㅠㅠㅠㅠㅠㅠ
검색에 나타나게 하기 위해 여기 그대로 복사해서 써놓을 거임.
/* iPhone Open SDK - Free Open Source Anti-Apple SDK * Copyright (C) 2008 Jay Freeman (saurik) */ /* * Redistribution and use in source and binary * forms, with or without modification, are permitted * provided that the following conditions are met: * * 1. Redistributions of source code must retain the * above copyright notice, this list of conditions * and the following disclaimer. * 2. Redistributions in binary form must reproduce the * above copyright notice, this list of conditions * and the following disclaimer in the documentation * and/or other materials provided with the * distribution. * 3. The name of the author may not be used to endorse * or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef GRAPHICSSERVICES_GSEVENT_H_ #define GRAPHICSSERVICES_GSEVENT_H_ #include <mach/port.h> #import <CoreFoundation/CoreFoundation.h> #include <CoreGraphics/CGGeometry.h> #include <GraphicsServices/GSFont.h> #include <GraphicsServices/GSWindow.h> #ifdef __cplusplus extern "C" { #endif struct GSPathInfo { /*0x00:13c*/ uint8_t x00; // key /*0x01:13d*/ uint8_t x01; /*0x02:13e*/ uint8_t x02; // 2=no /*0x03:13f*/ uint8_t x03; /*0x04:140*/ uint32_t x04; /*0x08:144*/ uint32_t x08; /*0x0c:148*/ CGPoint position; /*0x14:14c*/ uint32_t x14; }; struct GSEventRecord { /*0x00:08*/ uint32_t type; /*0x04:0c*/ uint32_t subType; /*0x08:10*/ CGPoint locationOnScreen; /*0x10:18*/ CGPoint locationInWindow; /*0x18:20*/ uint64_t timestamp; //(GSCurrentEventTimestamp) /*0x20:28*/ uint32_t zero; /*0x24:2c*/ uint32_t modifierFlags; /*0x28:30*/ uint16_t eventNumber; /*0x2a:32*/ uint16_t x2a; /*0x2c:34*/ uint32_t size; }; struct GSEventKeyInfo { /*0x30:38*/ uint32_t type; /*0x34:3c*/ uint16_t character; /*0x38:3e*/ uint16_t characterSet; /*0x3a:40*/ uint8_t keyRepeating; }; struct GSEventHandInfo { /*0x30:38:00:5c*/ uint32_t type; /*0x34:3c:04:60*/ uint16_t x34; /*0x38:3e:06:64*/ uint16_t x38; /*0x3a:40:08:68*/ CGPoint x3a; /*0x40:48:10:70*/ uint32_t x40; //handInfoScale scales }; struct GSEventApplicationInfo { /*0x30:00*/ uint32_t pid; /*0x34:04*/ uint32_t x34; /*0x38:08*/ char name[]; }; struct GSEventRecordInfo { /*0x30:38:00:5c*/ struct GSEventHandInfo handInfo; /*0x44:4c:14:74*/ uint32_t x44; /*0x48:50:18:78*/ uint32_t x48; //handInfoScale scales /*0x4c:54:1c:7c*/ uint32_t x4c; /*0x50:58:20*/ uint8_t x50; /*0x51:59:21*/ uint8_t pathPositions; /*0x52:5a:22*/ uint16_t x52; /*0x54:5c:24*/ struct GSPathInfo pathInfo[]; }; /*struct __GSEvent { struct CFRuntimeBase base_; struct GSEventRecord record_; };*/ typedef struct __GSEvent *GSEventRef; #define GSEventTypeKeyDown 0x000d #define GSEventTypeAccelerometer 0x0017 #define GSEventTypeProximityStateChanged 0x0018 #define GSEventTypeDeviceOrientationChanged 0x0032 // 0x03c:loc_0018ac preferences #define GSEventTypeMenuButtonDown 0x03e8 #define GSEventTypeMenuButtonUp 0x03e9 #define GSEventTypeRingerChanged0 0x03f4 #define GSEventTypeRingerChanged1 0x03f5 #define GSEventTypeLockDevice 0x03f6 #define GSEventTypeStatusBarMouseDown 0x03f7 #define GSEventTypeStatusBarMouseDragged 0x03f8 #define GSEventTypeStatusBarMouseUp 0x03f9 #define GSEventTypeLockButtonDown 0x03f2 #define GSEventTypeLockButtonUp 0x03f3 #define GSEventTypeHeadsetButtonDown 0x03fa #define GSEventTypeHeadsetButtonUp 0x03fb #define GSEventTypeVibrateForDuration 0x044c #define GSEventTypeSetBacklightFactor 0x044e #define GSEventTypeSetBacklightLevel 0x044f #define GSEventTypeApplicationStarted 0x07d0 #define GSEventTypeAnotherApplicationFinishedLauncing 0x07d2 #define GSEventTypeApplicationTerminateWithStatus 0x07d3 #define GSEventTypeApplicationSuspended 0x07d4 // 0x07d5:loc_000550 internal url // 0x07d6:loc_000a20 external url #define GSEventTypeApplicationExited 0x07d7 #define GSEventTypeApplicationShowHideSettings 0x07d8 #define GSEventTypeQuitTopApplication 0x07d9 #define GSEventTypeOtherApplicationWillSuspend 0x07da #define GSEventTypeApplicationSuspendedSettingsUpdated 0x07db #define GSEventTypeResetIdleTimer 0x0898 #define GSEventTypeResetIdleDuration 0x0899 #define GSEventTypeDumpUIHierarchy 0x09c4 #define GSEventTypeDumpScreenContents 0x09c5 #define GSEventTypeProcessScriptEvent 0x0a8c #define GSEventTypeMouse 0x0bb9 #define GSEventTypeAccessoryAvailabilityChanged 0x0fa0 #define GSEventTypeAccessoryKeyStateChanged 0x0fa1 #define GSEventTypeAccessory 0x0fa2 #define GSEventTypeOutOfLineDataRequest 0x1388 #define GSEventTypeUrgentMemoryWarning 0x1770 #define GSEventTypeOutOfLineDataResponse 0x10001 #define GSMouseEventTypeDown 0x1 #define GSMouseEventTypeDragged 0x2 #define GSMouseEventTypeUp 0x6 #define GSMouseEventTypeCancel 0x8 #define _PurpleSystemEventPortName "PurpleSystemEventPort" float GSDefaultStatusBarHeight(void); //GSColorRef GSColorForSystemColor(unsigned color); mach_port_name_t GSCopyPurpleSystemEventPort(void); uint64_t GSCurrentEventTimestamp(void); struct GSEventHandInfo GSEventGetHandInfo(GSEventRef event); struct CGRect GSEventGetLocationInWindow(GSEventRef event); struct GSPathInfo GSEventGetPathInfoAtIndex(GSEventRef event, unsigned index); mach_port_name_t GSGetPurpleNamedPort(CFStringRef name); void GSSendEvent(struct GSEventRecord *record, mach_port_name_t port); void GSSendSystemEvent(struct GSEventRecord *record); struct GSEventRecord *_GSEventGetGSEventRecord(GSEventRef event); CFArrayRef GSSystemGetCapability(CFStringRef type); extern CFStringRef const kGSDisplayIdentifiersCapability; #ifdef __cplusplus } #endif
#endif//GRAPHICSSERVICES_GSEVENT_H_