rum 0.0.1-x86-mswin32-60
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +3 -0
- data/README +30 -0
- data/Rakefile +134 -0
- data/bin/rum-client +124 -0
- data/doc/basic.rb +10 -0
- data/doc/doc.html +602 -0
- data/doc/example.rb +59 -0
- data/doc/reference.rb +415 -0
- data/doc/resources/bg.png +0 -0
- data/doc/resources/bottom.png +0 -0
- data/doc/resources/build.rb +235 -0
- data/doc/resources/doc.haml +167 -0
- data/doc/resources/emacs-auto-completion.png +0 -0
- data/doc/resources/flash.png +0 -0
- data/doc/resources/highlight.css +94 -0
- data/doc/resources/intro.rb +17 -0
- data/doc/resources/left.png +0 -0
- data/doc/resources/logo.png +0 -0
- data/doc/resources/screen.css +420 -0
- data/doc/resources/screenshot.png +0 -0
- data/doc/resources/top.png +0 -0
- data/ext/mac/keyboard_hook/English.lproj/InfoPlist.strings +0 -0
- data/ext/mac/keyboard_hook/Event.h +17 -0
- data/ext/mac/keyboard_hook/Event.m +18 -0
- data/ext/mac/keyboard_hook/EventTap.h +11 -0
- data/ext/mac/keyboard_hook/EventTap.m +77 -0
- data/ext/mac/keyboard_hook/Info.plist +26 -0
- data/ext/mac/keyboard_hook/KeyboardHook.xcodeproj/TemplateIcon.icns +0 -0
- data/ext/mac/keyboard_hook/KeyboardHook.xcodeproj/project.pbxproj +323 -0
- data/ext/mac/keyboard_hook/KeyboardHook_Prefix.pch +7 -0
- data/ext/mac/keyboard_hook/version.plist +16 -0
- data/ext/windows/keyboard_hook/extconf.rb +2 -0
- data/ext/windows/keyboard_hook/keyboard_hook.c +126 -0
- data/ext/windows/system/autohotkey_stuff.c +255 -0
- data/ext/windows/system/autohotkey_stuff.h +2 -0
- data/ext/windows/system/clipboard_watcher.c +58 -0
- data/ext/windows/system/clipboard_watcher.h +2 -0
- data/ext/windows/system/extconf.rb +3 -0
- data/ext/windows/system/input_box.c +239 -0
- data/ext/windows/system/input_box.h +4 -0
- data/ext/windows/system/system.c +273 -0
- data/lib/rum.rb +4 -0
- data/lib/rum/apps.rb +4 -0
- data/lib/rum/barrel.rb +157 -0
- data/lib/rum/barrel/emacs.rb +44 -0
- data/lib/rum/barrel/emacs_client.rb +74 -0
- data/lib/rum/core.rb +125 -0
- data/lib/rum/dsl.rb +109 -0
- data/lib/rum/gui.rb +93 -0
- data/lib/rum/help.rb +128 -0
- data/lib/rum/hotkey_core.rb +479 -0
- data/lib/rum/mac.rb +18 -0
- data/lib/rum/mac/app.rb +4 -0
- data/lib/rum/mac/apps.rb +19 -0
- data/lib/rum/mac/gui.rb +26 -0
- data/lib/rum/mac/gui/growl.rb +54 -0
- data/lib/rum/mac/irb/completion.rb +207 -0
- data/lib/rum/mac/keyboard_hook.rb +73 -0
- data/lib/rum/mac/layouts.rb +146 -0
- data/lib/rum/mac/system.rb +45 -0
- data/lib/rum/remote.rb +48 -0
- data/lib/rum/server.rb +92 -0
- data/lib/rum/windows.rb +23 -0
- data/lib/rum/windows/app.rb +72 -0
- data/lib/rum/windows/apps.rb +25 -0
- data/lib/rum/windows/gui.rb +116 -0
- data/lib/rum/windows/keyboard.rb +80 -0
- data/lib/rum/windows/keyboard_hook.rb +20 -0
- data/lib/rum/windows/keyboard_hook.so +0 -0
- data/lib/rum/windows/layouts.rb +232 -0
- data/lib/rum/windows/system.rb +310 -0
- data/lib/rum/windows/system.so +0 -0
- data/lib/rum/windows/system_foreign_functions.rb +129 -0
- data/rum.gemspec +14 -0
- metadata +156 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
#import "Event.h"
|
2
|
+
|
3
|
+
@implementation Event
|
4
|
+
|
5
|
+
-(id)initWithEventRef:(CGEventRef)anEventRef tapProxy:(CGEventTapProxy)aTapProxy type:(CGEventType)aType down:(BOOL)isDown {
|
6
|
+
eventRef = anEventRef;
|
7
|
+
tapProxy = aTapProxy;
|
8
|
+
type = aType;
|
9
|
+
down = isDown;
|
10
|
+
return self;
|
11
|
+
}
|
12
|
+
|
13
|
+
@synthesize eventRef;
|
14
|
+
@synthesize tapProxy;
|
15
|
+
@synthesize type;
|
16
|
+
@synthesize down;
|
17
|
+
|
18
|
+
@end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
#import <Cocoa/Cocoa.h>
|
2
|
+
@class Event;
|
3
|
+
|
4
|
+
@interface EventTap : NSObject {
|
5
|
+
id delegate;
|
6
|
+
}
|
7
|
+
-(id)init;
|
8
|
+
-(Event*)handleEvent:(Event*)event;
|
9
|
+
@end
|
10
|
+
|
11
|
+
CGEventRef eventCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *eventTapObject);
|
@@ -0,0 +1,77 @@
|
|
1
|
+
// Based on Nathan Sobo's ControlFreak
|
2
|
+
// http://github.com/nathansobo/control_freak
|
3
|
+
//
|
4
|
+
// This project is a temporary provision.
|
5
|
+
// A future MacRuby release will allow KeyboardHook.framework
|
6
|
+
// to be implemented in pure Ruby.
|
7
|
+
|
8
|
+
|
9
|
+
#import <Carbon/Carbon.h> // for keycode aliases
|
10
|
+
#import <ApplicationServices/ApplicationServices.h>
|
11
|
+
#import "EventTap.h"
|
12
|
+
#import "Event.h"
|
13
|
+
#import <MacRuby/MacRuby.h>
|
14
|
+
|
15
|
+
CFMachPortRef keyboard_event_tap;
|
16
|
+
|
17
|
+
@interface NSObject (RubyMethods)
|
18
|
+
-(Event*)onEvent:(Event*)event;
|
19
|
+
@end
|
20
|
+
|
21
|
+
@implementation EventTap
|
22
|
+
-(id)init {
|
23
|
+
[super init];
|
24
|
+
keyboard_event_tap = CGEventTapCreate(kCGHIDEventTap,
|
25
|
+
kCGHeadInsertEventTap,
|
26
|
+
kCGEventTapOptionDefault,
|
27
|
+
CGEventMaskBit(kCGEventKeyDown) | CGEventMaskBit(kCGEventKeyUp) | CGEventMaskBit(kCGEventFlagsChanged),
|
28
|
+
&eventCallback,
|
29
|
+
self);
|
30
|
+
CFRunLoopSourceRef tapSource = CFMachPortCreateRunLoopSource(NULL, keyboard_event_tap, 0);
|
31
|
+
CFRunLoopAddSource((CFRunLoopRef) [[NSRunLoop currentRunLoop] getCFRunLoop], tapSource, kCFRunLoopCommonModes);
|
32
|
+
|
33
|
+
return self;
|
34
|
+
}
|
35
|
+
|
36
|
+
-(Event*)handleEvent:(Event*)event {
|
37
|
+
// to be overridden by ruby code
|
38
|
+
return event;
|
39
|
+
}
|
40
|
+
|
41
|
+
@end
|
42
|
+
|
43
|
+
int modifier_flags[] = { kCGEventFlagMaskCommand, // command
|
44
|
+
kCGEventFlagMaskShift, // shift
|
45
|
+
kCGEventFlagMaskAlphaShift, // capslock
|
46
|
+
kCGEventFlagMaskAlternate, // option
|
47
|
+
kCGEventFlagMaskControl, // control
|
48
|
+
kCGEventFlagMaskShift, // rightshift
|
49
|
+
kCGEventFlagMaskAlternate, // rightoption
|
50
|
+
kCGEventFlagMaskControl, // rightcontrol
|
51
|
+
kCGEventFlagMaskSecondaryFn // function
|
52
|
+
};
|
53
|
+
|
54
|
+
CGEventRef eventCallback(CGEventTapProxy proxy, CGEventType type,
|
55
|
+
CGEventRef event, void *eventTapObject) {
|
56
|
+
BOOL is_down;
|
57
|
+
int keycode;
|
58
|
+
|
59
|
+
switch (type) {
|
60
|
+
case kCGEventKeyDown:
|
61
|
+
is_down = true;
|
62
|
+
break;
|
63
|
+
case kCGEventKeyUp:
|
64
|
+
is_down = false;
|
65
|
+
break;
|
66
|
+
case kCGEventFlagsChanged:
|
67
|
+
keycode = CGEventGetIntegerValueField(event, kCGKeyboardEventKeycode);
|
68
|
+
is_down = ((CGEventGetFlags(event) & modifier_flags[keycode - kVK_Command]) != 0);
|
69
|
+
break;
|
70
|
+
case kCGEventTapDisabledByTimeout:
|
71
|
+
CGEventTapEnable(keyboard_event_tap, true);
|
72
|
+
default:
|
73
|
+
return event;
|
74
|
+
}
|
75
|
+
|
76
|
+
return [((id) eventTapObject) handleEvent:[[Event alloc] initWithEventRef:event tapProxy:proxy type:type down:is_down]].eventRef;
|
77
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>CFBundleDevelopmentRegion</key>
|
6
|
+
<string>English</string>
|
7
|
+
<key>CFBundleExecutable</key>
|
8
|
+
<string>${EXECUTABLE_NAME}</string>
|
9
|
+
<key>CFBundleName</key>
|
10
|
+
<string>${PRODUCT_NAME}</string>
|
11
|
+
<key>CFBundleIconFile</key>
|
12
|
+
<string></string>
|
13
|
+
<key>CFBundleIdentifier</key>
|
14
|
+
<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
|
15
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
16
|
+
<string>6.0</string>
|
17
|
+
<key>CFBundlePackageType</key>
|
18
|
+
<string>FMWK</string>
|
19
|
+
<key>CFBundleSignature</key>
|
20
|
+
<string>????</string>
|
21
|
+
<key>CFBundleVersion</key>
|
22
|
+
<string>1.0</string>
|
23
|
+
<key>NSPrincipalClass</key>
|
24
|
+
<string></string>
|
25
|
+
</dict>
|
26
|
+
</plist>
|
Binary file
|
@@ -0,0 +1,323 @@
|
|
1
|
+
// !$*UTF8*$!
|
2
|
+
{
|
3
|
+
archiveVersion = 1;
|
4
|
+
classes = {
|
5
|
+
};
|
6
|
+
objectVersion = 45;
|
7
|
+
objects = {
|
8
|
+
|
9
|
+
/* Begin PBXBuildFile section */
|
10
|
+
01862CDA11D3C37700B5A73E /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01862CD911D3C37700B5A73E /* Carbon.framework */; };
|
11
|
+
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
12
|
+
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
|
13
|
+
EC6FF350104E2FE3000167A6 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC6FF34F104E2FE3000167A6 /* ApplicationServices.framework */; };
|
14
|
+
EC6FF356104E301F000167A6 /* EventTap.h in Headers */ = {isa = PBXBuildFile; fileRef = EC6FF354104E301F000167A6 /* EventTap.h */; };
|
15
|
+
EC6FF357104E301F000167A6 /* EventTap.m in Sources */ = {isa = PBXBuildFile; fileRef = EC6FF355104E301F000167A6 /* EventTap.m */; };
|
16
|
+
ECC36BE9104E4B8A00846ACB /* MacRuby.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ECC36BE8104E4B8A00846ACB /* MacRuby.framework */; };
|
17
|
+
ECC36C00104E54D500846ACB /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = ECC36BFE104E54D500846ACB /* Event.h */; };
|
18
|
+
ECC36C01104E54D500846ACB /* Event.m in Sources */ = {isa = PBXBuildFile; fileRef = ECC36BFF104E54D500846ACB /* Event.m */; };
|
19
|
+
/* End PBXBuildFile section */
|
20
|
+
|
21
|
+
/* Begin PBXFileReference section */
|
22
|
+
01862CD911D3C37700B5A73E /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
|
23
|
+
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
24
|
+
0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
25
|
+
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
26
|
+
1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
27
|
+
32DBCF5E0370ADEE00C91783 /* KeyboardHook_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyboardHook_Prefix.pch; sourceTree = "<group>"; };
|
28
|
+
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
29
|
+
8DC2EF5B0486A6940098B216 /* KeyboardHook.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = KeyboardHook.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
30
|
+
D2F7E79907B2D74100F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
|
31
|
+
EC6FF34F104E2FE3000167A6 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
|
32
|
+
EC6FF354104E301F000167A6 /* EventTap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventTap.h; sourceTree = "<group>"; };
|
33
|
+
EC6FF355104E301F000167A6 /* EventTap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EventTap.m; sourceTree = "<group>"; };
|
34
|
+
ECC36BE8104E4B8A00846ACB /* MacRuby.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MacRuby.framework; path = /Library/Frameworks/MacRuby.framework; sourceTree = "<absolute>"; };
|
35
|
+
ECC36BFE104E54D500846ACB /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = "<group>"; };
|
36
|
+
ECC36BFF104E54D500846ACB /* Event.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Event.m; sourceTree = "<group>"; };
|
37
|
+
/* End PBXFileReference section */
|
38
|
+
|
39
|
+
/* Begin PBXFrameworksBuildPhase section */
|
40
|
+
8DC2EF560486A6940098B216 /* Frameworks */ = {
|
41
|
+
isa = PBXFrameworksBuildPhase;
|
42
|
+
buildActionMask = 2147483647;
|
43
|
+
files = (
|
44
|
+
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */,
|
45
|
+
EC6FF350104E2FE3000167A6 /* ApplicationServices.framework in Frameworks */,
|
46
|
+
ECC36BE9104E4B8A00846ACB /* MacRuby.framework in Frameworks */,
|
47
|
+
01862CDA11D3C37700B5A73E /* Carbon.framework in Frameworks */,
|
48
|
+
);
|
49
|
+
runOnlyForDeploymentPostprocessing = 0;
|
50
|
+
};
|
51
|
+
/* End PBXFrameworksBuildPhase section */
|
52
|
+
|
53
|
+
/* Begin PBXGroup section */
|
54
|
+
034768DFFF38A50411DB9C8B /* Products */ = {
|
55
|
+
isa = PBXGroup;
|
56
|
+
children = (
|
57
|
+
8DC2EF5B0486A6940098B216 /* KeyboardHook.framework */,
|
58
|
+
);
|
59
|
+
name = Products;
|
60
|
+
sourceTree = "<group>";
|
61
|
+
};
|
62
|
+
0867D691FE84028FC02AAC07 /* KeyboardHook */ = {
|
63
|
+
isa = PBXGroup;
|
64
|
+
children = (
|
65
|
+
08FB77AEFE84172EC02AAC07 /* Classes */,
|
66
|
+
32C88DFF0371C24200C91783 /* Other Sources */,
|
67
|
+
089C1665FE841158C02AAC07 /* Resources */,
|
68
|
+
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
69
|
+
034768DFFF38A50411DB9C8B /* Products */,
|
70
|
+
);
|
71
|
+
name = KeyboardHook;
|
72
|
+
sourceTree = "<group>";
|
73
|
+
};
|
74
|
+
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
75
|
+
isa = PBXGroup;
|
76
|
+
children = (
|
77
|
+
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
78
|
+
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
79
|
+
);
|
80
|
+
name = "External Frameworks and Libraries";
|
81
|
+
sourceTree = "<group>";
|
82
|
+
};
|
83
|
+
089C1665FE841158C02AAC07 /* Resources */ = {
|
84
|
+
isa = PBXGroup;
|
85
|
+
children = (
|
86
|
+
8DC2EF5A0486A6940098B216 /* Info.plist */,
|
87
|
+
089C1666FE841158C02AAC07 /* InfoPlist.strings */,
|
88
|
+
);
|
89
|
+
name = Resources;
|
90
|
+
sourceTree = "<group>";
|
91
|
+
};
|
92
|
+
08FB77AEFE84172EC02AAC07 /* Classes */ = {
|
93
|
+
isa = PBXGroup;
|
94
|
+
children = (
|
95
|
+
EC6FF354104E301F000167A6 /* EventTap.h */,
|
96
|
+
EC6FF355104E301F000167A6 /* EventTap.m */,
|
97
|
+
ECC36BFE104E54D500846ACB /* Event.h */,
|
98
|
+
ECC36BFF104E54D500846ACB /* Event.m */,
|
99
|
+
);
|
100
|
+
name = Classes;
|
101
|
+
sourceTree = "<group>";
|
102
|
+
};
|
103
|
+
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
104
|
+
isa = PBXGroup;
|
105
|
+
children = (
|
106
|
+
ECC36BE8104E4B8A00846ACB /* MacRuby.framework */,
|
107
|
+
EC6FF34F104E2FE3000167A6 /* ApplicationServices.framework */,
|
108
|
+
1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */,
|
109
|
+
01862CD911D3C37700B5A73E /* Carbon.framework */,
|
110
|
+
);
|
111
|
+
name = "Linked Frameworks";
|
112
|
+
sourceTree = "<group>";
|
113
|
+
};
|
114
|
+
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
115
|
+
isa = PBXGroup;
|
116
|
+
children = (
|
117
|
+
0867D6A5FE840307C02AAC07 /* AppKit.framework */,
|
118
|
+
D2F7E79907B2D74100F64583 /* CoreData.framework */,
|
119
|
+
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
120
|
+
);
|
121
|
+
name = "Other Frameworks";
|
122
|
+
sourceTree = "<group>";
|
123
|
+
};
|
124
|
+
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
125
|
+
isa = PBXGroup;
|
126
|
+
children = (
|
127
|
+
32DBCF5E0370ADEE00C91783 /* KeyboardHook_Prefix.pch */,
|
128
|
+
);
|
129
|
+
name = "Other Sources";
|
130
|
+
sourceTree = "<group>";
|
131
|
+
};
|
132
|
+
/* End PBXGroup section */
|
133
|
+
|
134
|
+
/* Begin PBXHeadersBuildPhase section */
|
135
|
+
8DC2EF500486A6940098B216 /* Headers */ = {
|
136
|
+
isa = PBXHeadersBuildPhase;
|
137
|
+
buildActionMask = 2147483647;
|
138
|
+
files = (
|
139
|
+
EC6FF356104E301F000167A6 /* EventTap.h in Headers */,
|
140
|
+
ECC36C00104E54D500846ACB /* Event.h in Headers */,
|
141
|
+
);
|
142
|
+
runOnlyForDeploymentPostprocessing = 0;
|
143
|
+
};
|
144
|
+
/* End PBXHeadersBuildPhase section */
|
145
|
+
|
146
|
+
/* Begin PBXNativeTarget section */
|
147
|
+
8DC2EF4F0486A6940098B216 /* KeyboardHook */ = {
|
148
|
+
isa = PBXNativeTarget;
|
149
|
+
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "KeyboardHook" */;
|
150
|
+
buildPhases = (
|
151
|
+
8DC2EF500486A6940098B216 /* Headers */,
|
152
|
+
8DC2EF520486A6940098B216 /* Resources */,
|
153
|
+
8DC2EF540486A6940098B216 /* Sources */,
|
154
|
+
8DC2EF560486A6940098B216 /* Frameworks */,
|
155
|
+
);
|
156
|
+
buildRules = (
|
157
|
+
);
|
158
|
+
dependencies = (
|
159
|
+
);
|
160
|
+
name = KeyboardHook;
|
161
|
+
productInstallPath = "$(HOME)/Library/Frameworks";
|
162
|
+
productName = KeyboardHook;
|
163
|
+
productReference = 8DC2EF5B0486A6940098B216 /* KeyboardHook.framework */;
|
164
|
+
productType = "com.apple.product-type.framework";
|
165
|
+
};
|
166
|
+
/* End PBXNativeTarget section */
|
167
|
+
|
168
|
+
/* Begin PBXProject section */
|
169
|
+
0867D690FE84028FC02AAC07 /* Project object */ = {
|
170
|
+
isa = PBXProject;
|
171
|
+
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "KeyboardHook" */;
|
172
|
+
compatibilityVersion = "Xcode 3.1";
|
173
|
+
hasScannedForEncodings = 1;
|
174
|
+
mainGroup = 0867D691FE84028FC02AAC07 /* KeyboardHook */;
|
175
|
+
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
176
|
+
projectDirPath = "";
|
177
|
+
projectRoot = "";
|
178
|
+
targets = (
|
179
|
+
8DC2EF4F0486A6940098B216 /* KeyboardHook */,
|
180
|
+
);
|
181
|
+
};
|
182
|
+
/* End PBXProject section */
|
183
|
+
|
184
|
+
/* Begin PBXResourcesBuildPhase section */
|
185
|
+
8DC2EF520486A6940098B216 /* Resources */ = {
|
186
|
+
isa = PBXResourcesBuildPhase;
|
187
|
+
buildActionMask = 2147483647;
|
188
|
+
files = (
|
189
|
+
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */,
|
190
|
+
);
|
191
|
+
runOnlyForDeploymentPostprocessing = 0;
|
192
|
+
};
|
193
|
+
/* End PBXResourcesBuildPhase section */
|
194
|
+
|
195
|
+
/* Begin PBXSourcesBuildPhase section */
|
196
|
+
8DC2EF540486A6940098B216 /* Sources */ = {
|
197
|
+
isa = PBXSourcesBuildPhase;
|
198
|
+
buildActionMask = 2147483647;
|
199
|
+
files = (
|
200
|
+
EC6FF357104E301F000167A6 /* EventTap.m in Sources */,
|
201
|
+
ECC36C01104E54D500846ACB /* Event.m in Sources */,
|
202
|
+
);
|
203
|
+
runOnlyForDeploymentPostprocessing = 0;
|
204
|
+
};
|
205
|
+
/* End PBXSourcesBuildPhase section */
|
206
|
+
|
207
|
+
/* Begin PBXVariantGroup section */
|
208
|
+
089C1666FE841158C02AAC07 /* InfoPlist.strings */ = {
|
209
|
+
isa = PBXVariantGroup;
|
210
|
+
children = (
|
211
|
+
089C1667FE841158C02AAC07 /* English */,
|
212
|
+
);
|
213
|
+
name = InfoPlist.strings;
|
214
|
+
sourceTree = "<group>";
|
215
|
+
};
|
216
|
+
/* End PBXVariantGroup section */
|
217
|
+
|
218
|
+
/* Begin XCBuildConfiguration section */
|
219
|
+
1DEB91AE08733DA50010E9CD /* Debug */ = {
|
220
|
+
isa = XCBuildConfiguration;
|
221
|
+
buildSettings = {
|
222
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
223
|
+
COPY_PHASE_STRIP = NO;
|
224
|
+
DYLIB_COMPATIBILITY_VERSION = 1;
|
225
|
+
DYLIB_CURRENT_VERSION = 1;
|
226
|
+
FRAMEWORK_SEARCH_PATHS = (
|
227
|
+
"$(inherited)",
|
228
|
+
"\"$(SRCROOT)/../../DDHidLib-1.1/build/Release\"",
|
229
|
+
"\"$(SRCROOT)/..\"",
|
230
|
+
);
|
231
|
+
FRAMEWORK_VERSION = A;
|
232
|
+
GCC_DYNAMIC_NO_PIC = NO;
|
233
|
+
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
234
|
+
GCC_MODEL_TUNING = G5;
|
235
|
+
GCC_OPTIMIZATION_LEVEL = 0;
|
236
|
+
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
237
|
+
GCC_PREFIX_HEADER = KeyboardHook_Prefix.pch;
|
238
|
+
INFOPLIST_FILE = Info.plist;
|
239
|
+
INSTALL_PATH = "$(HOME)/Library/Frameworks";
|
240
|
+
PRODUCT_NAME = KeyboardHook;
|
241
|
+
WRAPPER_EXTENSION = framework;
|
242
|
+
};
|
243
|
+
name = Debug;
|
244
|
+
};
|
245
|
+
1DEB91AF08733DA50010E9CD /* Release */ = {
|
246
|
+
isa = XCBuildConfiguration;
|
247
|
+
buildSettings = {
|
248
|
+
ALWAYS_SEARCH_USER_PATHS = NO;
|
249
|
+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
250
|
+
DYLIB_COMPATIBILITY_VERSION = 1;
|
251
|
+
DYLIB_CURRENT_VERSION = 1;
|
252
|
+
EXECUTABLE_EXTENSION = bundle;
|
253
|
+
FRAMEWORK_SEARCH_PATHS = (
|
254
|
+
"$(inherited)",
|
255
|
+
"\"$(SRCROOT)/../../DDHidLib-1.1/build/Release\"",
|
256
|
+
"\"$(SRCROOT)/..\"",
|
257
|
+
);
|
258
|
+
FRAMEWORK_VERSION = A;
|
259
|
+
GCC_ENABLE_OBJC_GC = supported;
|
260
|
+
GCC_MODEL_TUNING = G5;
|
261
|
+
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
262
|
+
GCC_PREFIX_HEADER = KeyboardHook_Prefix.pch;
|
263
|
+
INFOPLIST_FILE = Info.plist;
|
264
|
+
INSTALL_PATH = "$(HOME)/Library/Frameworks";
|
265
|
+
PRODUCT_NAME = KeyboardHook;
|
266
|
+
WRAPPER_EXTENSION = framework;
|
267
|
+
};
|
268
|
+
name = Release;
|
269
|
+
};
|
270
|
+
1DEB91B208733DA50010E9CD /* Debug */ = {
|
271
|
+
isa = XCBuildConfiguration;
|
272
|
+
buildSettings = {
|
273
|
+
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
274
|
+
GCC_C_LANGUAGE_STANDARD = c99;
|
275
|
+
GCC_ENABLE_OBJC_GC = supported;
|
276
|
+
GCC_OPTIMIZATION_LEVEL = 0;
|
277
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
278
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
279
|
+
ONLY_ACTIVE_ARCH = YES;
|
280
|
+
PREBINDING = NO;
|
281
|
+
SDKROOT = macosx10.5;
|
282
|
+
};
|
283
|
+
name = Debug;
|
284
|
+
};
|
285
|
+
1DEB91B308733DA50010E9CD /* Release */ = {
|
286
|
+
isa = XCBuildConfiguration;
|
287
|
+
buildSettings = {
|
288
|
+
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
|
289
|
+
GCC_C_LANGUAGE_STANDARD = c99;
|
290
|
+
GCC_ENABLE_OBJC_GC = supported;
|
291
|
+
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
292
|
+
GCC_WARN_UNUSED_VARIABLE = YES;
|
293
|
+
ONLY_ACTIVE_ARCH = YES;
|
294
|
+
PREBINDING = NO;
|
295
|
+
SDKROOT = macosx10.5;
|
296
|
+
};
|
297
|
+
name = Release;
|
298
|
+
};
|
299
|
+
/* End XCBuildConfiguration section */
|
300
|
+
|
301
|
+
/* Begin XCConfigurationList section */
|
302
|
+
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "KeyboardHook" */ = {
|
303
|
+
isa = XCConfigurationList;
|
304
|
+
buildConfigurations = (
|
305
|
+
1DEB91AE08733DA50010E9CD /* Debug */,
|
306
|
+
1DEB91AF08733DA50010E9CD /* Release */,
|
307
|
+
);
|
308
|
+
defaultConfigurationIsVisible = 0;
|
309
|
+
defaultConfigurationName = Release;
|
310
|
+
};
|
311
|
+
1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "KeyboardHook" */ = {
|
312
|
+
isa = XCConfigurationList;
|
313
|
+
buildConfigurations = (
|
314
|
+
1DEB91B208733DA50010E9CD /* Debug */,
|
315
|
+
1DEB91B308733DA50010E9CD /* Release */,
|
316
|
+
);
|
317
|
+
defaultConfigurationIsVisible = 0;
|
318
|
+
defaultConfigurationName = Release;
|
319
|
+
};
|
320
|
+
/* End XCConfigurationList section */
|
321
|
+
};
|
322
|
+
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
323
|
+
}
|