Skip to content

Commit 186c1d2

Browse files
committed
first commit
0 parents  commit 186c1d2

File tree

13 files changed

+632
-0
lines changed

13 files changed

+632
-0
lines changed

README.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Shrink Trackpad - Mac App
2+
Solve the Apple Macbook "oversized" trackpad problem.
3+
4+
[![Donate Bitcoin](https://img.shields.io/badge/donate-bitcoin-orange.svg)](donatebtc.txt)
5+
[![paypal](https://img.shields.io/badge/Donate-PayPal-039ce0.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=EQDXSYW8Z23UY)
6+
7+
Is this a joke XD ?
8+
<img src="joke.jpg" height=150/>
9+
10+
# How to use
11+
1. Download app from release
12+
13+
2. Move App to Application folder
14+
15+
3. Disable SIP
16+
In order to be functional, I have to load code into kernel, and that require a valid distribute code signature which need purchase from Apple, since I don't have that, disable SIP for loading code to kernel is necessary.
17+
If someone willing to sign for me, appreciate!
18+
19+
4. Run app with root
20+
It's for safety, app has to run with root.
21+
22+
Open Terminal and type
23+
```
24+
sudo /Applications/Shrink Trackpad.app/Contents/MacOS/app_shrinkTrackpad
25+
```
26+
Enter your login password in the terminal.
27+
28+
5. You should able to see the UI right now, follow the instruction from app window, only two steps
29+
30+
31+
32+
Tested on High Sierra, 15inch Macbook pro 2018.
33+
It should compatible with all macbooks (include old macbook equipped with perfect size trackpad) and macOS version include and above 10.12. (Also should be working on 10.10/10.11 If compile by a older version Xcode)
34+
35+
The **reset** button in first page is for clear the saved config, eg. If you've already setted ignore area, and you want change that after you closed app, click **reset** for clear all setted ignore config, enable full trackpad!
36+
37+
It should automatically run everytime after you login!
38+
Everything is open source, be rest assured!
39+
40+
I'll fix typo later.
41+
42+
Donation is welcome!
43+
If you have problem, open a issue.
44+
45+
![demo1](demo1.png)
46+
![demo1](demo2.png)
47+
![demo1](demo3.png)

demo1.png

103 KB
Loading

demo2.png

108 KB
Loading

demo3.png

82 KB
Loading

donatebtc.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
My BTC Address: 14z7WT9RLEptNju7tisGXLMMNtjfvoMCpu
2+
Appreciate !!

joke.jpg

52.1 KB
Loading
Lines changed: 302 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,302 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 50;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
0033D992216C50DE00666D9A /* kext_shrink_trackpad.c in Sources */ = {isa = PBXBuildFile; fileRef = 0033D991216C50DE00666D9A /* kext_shrink_trackpad.c */; };
11+
/* End PBXBuildFile section */
12+
13+
/* Begin PBXFileReference section */
14+
0033D98E216C50DE00666D9A /* kext_shrink_trackpad.kext */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kext_shrink_trackpad.kext; sourceTree = BUILT_PRODUCTS_DIR; };
15+
0033D991216C50DE00666D9A /* kext_shrink_trackpad.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = kext_shrink_trackpad.c; sourceTree = "<group>"; };
16+
0033D993216C50DE00666D9A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
17+
/* End PBXFileReference section */
18+
19+
/* Begin PBXFrameworksBuildPhase section */
20+
0033D98A216C50DE00666D9A /* Frameworks */ = {
21+
isa = PBXFrameworksBuildPhase;
22+
buildActionMask = 2147483647;
23+
files = (
24+
);
25+
runOnlyForDeploymentPostprocessing = 0;
26+
};
27+
/* End PBXFrameworksBuildPhase section */
28+
29+
/* Begin PBXGroup section */
30+
0033D984216C50DD00666D9A = {
31+
isa = PBXGroup;
32+
children = (
33+
0033D990216C50DE00666D9A /* kext_shrink_trackpad */,
34+
0033D98F216C50DE00666D9A /* Products */,
35+
);
36+
sourceTree = "<group>";
37+
};
38+
0033D98F216C50DE00666D9A /* Products */ = {
39+
isa = PBXGroup;
40+
children = (
41+
0033D98E216C50DE00666D9A /* kext_shrink_trackpad.kext */,
42+
);
43+
name = Products;
44+
sourceTree = "<group>";
45+
};
46+
0033D990216C50DE00666D9A /* kext_shrink_trackpad */ = {
47+
isa = PBXGroup;
48+
children = (
49+
0033D991216C50DE00666D9A /* kext_shrink_trackpad.c */,
50+
0033D993216C50DE00666D9A /* Info.plist */,
51+
);
52+
path = kext_shrink_trackpad;
53+
sourceTree = "<group>";
54+
};
55+
/* End PBXGroup section */
56+
57+
/* Begin PBXHeadersBuildPhase section */
58+
0033D98B216C50DE00666D9A /* Headers */ = {
59+
isa = PBXHeadersBuildPhase;
60+
buildActionMask = 2147483647;
61+
files = (
62+
);
63+
runOnlyForDeploymentPostprocessing = 0;
64+
};
65+
/* End PBXHeadersBuildPhase section */
66+
67+
/* Begin PBXNativeTarget section */
68+
0033D98D216C50DE00666D9A /* kext_shrink_trackpad */ = {
69+
isa = PBXNativeTarget;
70+
buildConfigurationList = 0033D996216C50DE00666D9A /* Build configuration list for PBXNativeTarget "kext_shrink_trackpad" */;
71+
buildPhases = (
72+
0033D989216C50DE00666D9A /* Sources */,
73+
0033D98A216C50DE00666D9A /* Frameworks */,
74+
0033D98B216C50DE00666D9A /* Headers */,
75+
0033D98C216C50DE00666D9A /* Resources */,
76+
);
77+
buildRules = (
78+
);
79+
dependencies = (
80+
);
81+
name = kext_shrink_trackpad;
82+
productName = kext_shrink_trackpad;
83+
productReference = 0033D98E216C50DE00666D9A /* kext_shrink_trackpad.kext */;
84+
productType = "com.apple.product-type.kernel-extension";
85+
};
86+
/* End PBXNativeTarget section */
87+
88+
/* Begin PBXProject section */
89+
0033D985216C50DD00666D9A /* Project object */ = {
90+
isa = PBXProject;
91+
attributes = {
92+
LastUpgradeCheck = 0940;
93+
ORGANIZATIONNAME = aa;
94+
TargetAttributes = {
95+
0033D98D216C50DE00666D9A = {
96+
CreatedOnToolsVersion = 9.4.1;
97+
};
98+
};
99+
};
100+
buildConfigurationList = 0033D988216C50DD00666D9A /* Build configuration list for PBXProject "kext_shrink_trackpad" */;
101+
compatibilityVersion = "Xcode 9.3";
102+
developmentRegion = en;
103+
hasScannedForEncodings = 0;
104+
knownRegions = (
105+
en,
106+
);
107+
mainGroup = 0033D984216C50DD00666D9A;
108+
productRefGroup = 0033D98F216C50DE00666D9A /* Products */;
109+
projectDirPath = "";
110+
projectRoot = "";
111+
targets = (
112+
0033D98D216C50DE00666D9A /* kext_shrink_trackpad */,
113+
);
114+
};
115+
/* End PBXProject section */
116+
117+
/* Begin PBXResourcesBuildPhase section */
118+
0033D98C216C50DE00666D9A /* Resources */ = {
119+
isa = PBXResourcesBuildPhase;
120+
buildActionMask = 2147483647;
121+
files = (
122+
);
123+
runOnlyForDeploymentPostprocessing = 0;
124+
};
125+
/* End PBXResourcesBuildPhase section */
126+
127+
/* Begin PBXSourcesBuildPhase section */
128+
0033D989216C50DE00666D9A /* Sources */ = {
129+
isa = PBXSourcesBuildPhase;
130+
buildActionMask = 2147483647;
131+
files = (
132+
0033D992216C50DE00666D9A /* kext_shrink_trackpad.c in Sources */,
133+
);
134+
runOnlyForDeploymentPostprocessing = 0;
135+
};
136+
/* End PBXSourcesBuildPhase section */
137+
138+
/* Begin XCBuildConfiguration section */
139+
0033D994216C50DE00666D9A /* Debug */ = {
140+
isa = XCBuildConfiguration;
141+
buildSettings = {
142+
ALWAYS_SEARCH_USER_PATHS = NO;
143+
CLANG_ANALYZER_NONNULL = YES;
144+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
145+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
146+
CLANG_CXX_LIBRARY = "libc++";
147+
CLANG_ENABLE_MODULES = YES;
148+
CLANG_ENABLE_OBJC_ARC = YES;
149+
CLANG_ENABLE_OBJC_WEAK = YES;
150+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
151+
CLANG_WARN_BOOL_CONVERSION = YES;
152+
CLANG_WARN_COMMA = YES;
153+
CLANG_WARN_CONSTANT_CONVERSION = YES;
154+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
155+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
156+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
157+
CLANG_WARN_EMPTY_BODY = YES;
158+
CLANG_WARN_ENUM_CONVERSION = YES;
159+
CLANG_WARN_INFINITE_RECURSION = YES;
160+
CLANG_WARN_INT_CONVERSION = YES;
161+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
162+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
163+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
164+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
165+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
166+
CLANG_WARN_STRICT_PROTOTYPES = YES;
167+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
168+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
169+
CLANG_WARN_UNREACHABLE_CODE = YES;
170+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
171+
CODE_SIGN_IDENTITY = "-";
172+
COPY_PHASE_STRIP = NO;
173+
DEBUG_INFORMATION_FORMAT = dwarf;
174+
ENABLE_STRICT_OBJC_MSGSEND = YES;
175+
ENABLE_TESTABILITY = YES;
176+
GCC_C_LANGUAGE_STANDARD = gnu11;
177+
GCC_DYNAMIC_NO_PIC = NO;
178+
GCC_NO_COMMON_BLOCKS = YES;
179+
GCC_OPTIMIZATION_LEVEL = 0;
180+
GCC_PREPROCESSOR_DEFINITIONS = (
181+
"DEBUG=1",
182+
"$(inherited)",
183+
);
184+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
185+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
186+
GCC_WARN_UNDECLARED_SELECTOR = YES;
187+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
188+
GCC_WARN_UNUSED_FUNCTION = YES;
189+
GCC_WARN_UNUSED_VARIABLE = YES;
190+
MACOSX_DEPLOYMENT_TARGET = 10.13;
191+
MTL_ENABLE_DEBUG_INFO = YES;
192+
ONLY_ACTIVE_ARCH = YES;
193+
SDKROOT = macosx;
194+
};
195+
name = Debug;
196+
};
197+
0033D995216C50DE00666D9A /* Release */ = {
198+
isa = XCBuildConfiguration;
199+
buildSettings = {
200+
ALWAYS_SEARCH_USER_PATHS = NO;
201+
CLANG_ANALYZER_NONNULL = YES;
202+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
203+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
204+
CLANG_CXX_LIBRARY = "libc++";
205+
CLANG_ENABLE_MODULES = YES;
206+
CLANG_ENABLE_OBJC_ARC = YES;
207+
CLANG_ENABLE_OBJC_WEAK = YES;
208+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
209+
CLANG_WARN_BOOL_CONVERSION = YES;
210+
CLANG_WARN_COMMA = YES;
211+
CLANG_WARN_CONSTANT_CONVERSION = YES;
212+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
213+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
214+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
215+
CLANG_WARN_EMPTY_BODY = YES;
216+
CLANG_WARN_ENUM_CONVERSION = YES;
217+
CLANG_WARN_INFINITE_RECURSION = YES;
218+
CLANG_WARN_INT_CONVERSION = YES;
219+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
220+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
221+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
222+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
223+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
224+
CLANG_WARN_STRICT_PROTOTYPES = YES;
225+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
226+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
227+
CLANG_WARN_UNREACHABLE_CODE = YES;
228+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
229+
CODE_SIGN_IDENTITY = "-";
230+
COPY_PHASE_STRIP = NO;
231+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
232+
ENABLE_NS_ASSERTIONS = NO;
233+
ENABLE_STRICT_OBJC_MSGSEND = YES;
234+
GCC_C_LANGUAGE_STANDARD = gnu11;
235+
GCC_NO_COMMON_BLOCKS = YES;
236+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
237+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
238+
GCC_WARN_UNDECLARED_SELECTOR = YES;
239+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
240+
GCC_WARN_UNUSED_FUNCTION = YES;
241+
GCC_WARN_UNUSED_VARIABLE = YES;
242+
MACOSX_DEPLOYMENT_TARGET = 10.13;
243+
MTL_ENABLE_DEBUG_INFO = NO;
244+
SDKROOT = macosx;
245+
};
246+
name = Release;
247+
};
248+
0033D997216C50DE00666D9A /* Debug */ = {
249+
isa = XCBuildConfiguration;
250+
buildSettings = {
251+
CODE_SIGN_STYLE = Automatic;
252+
INFOPLIST_FILE = kext_shrink_trackpad/Info.plist;
253+
MODULE_NAME = com.aa.kext_shrink_trackpad;
254+
MODULE_START = kext_shrink_trackpad_start;
255+
MODULE_STOP = kext_shrink_trackpad_stop;
256+
MODULE_VERSION = 1.0.0d1;
257+
PRODUCT_BUNDLE_IDENTIFIER = "com.cocoahuke.kext-shrink-trackpad";
258+
PRODUCT_NAME = "$(TARGET_NAME)";
259+
WRAPPER_EXTENSION = kext;
260+
};
261+
name = Debug;
262+
};
263+
0033D998216C50DE00666D9A /* Release */ = {
264+
isa = XCBuildConfiguration;
265+
buildSettings = {
266+
CODE_SIGN_STYLE = Automatic;
267+
INFOPLIST_FILE = kext_shrink_trackpad/Info.plist;
268+
MODULE_NAME = com.aa.kext_shrink_trackpad;
269+
MODULE_START = kext_shrink_trackpad_start;
270+
MODULE_STOP = kext_shrink_trackpad_stop;
271+
MODULE_VERSION = 1.0.0d1;
272+
PRODUCT_BUNDLE_IDENTIFIER = "com.cocoahuke.kext-shrink-trackpad";
273+
PRODUCT_NAME = "$(TARGET_NAME)";
274+
WRAPPER_EXTENSION = kext;
275+
};
276+
name = Release;
277+
};
278+
/* End XCBuildConfiguration section */
279+
280+
/* Begin XCConfigurationList section */
281+
0033D988216C50DD00666D9A /* Build configuration list for PBXProject "kext_shrink_trackpad" */ = {
282+
isa = XCConfigurationList;
283+
buildConfigurations = (
284+
0033D994216C50DE00666D9A /* Debug */,
285+
0033D995216C50DE00666D9A /* Release */,
286+
);
287+
defaultConfigurationIsVisible = 0;
288+
defaultConfigurationName = Release;
289+
};
290+
0033D996216C50DE00666D9A /* Build configuration list for PBXNativeTarget "kext_shrink_trackpad" */ = {
291+
isa = XCConfigurationList;
292+
buildConfigurations = (
293+
0033D997216C50DE00666D9A /* Debug */,
294+
0033D998216C50DE00666D9A /* Release */,
295+
);
296+
defaultConfigurationIsVisible = 0;
297+
defaultConfigurationName = Release;
298+
};
299+
/* End XCConfigurationList section */
300+
};
301+
rootObject = 0033D985216C50DD00666D9A /* Project object */;
302+
}

kext_shrink_trackpad/kext_shrink_trackpad.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)