File | Date | Author | Commit |
---|---|---|---|
META-INF | 2022-12-31 |
![]() |
[d604a0] Add manifest for build |
src | 2023-01-02 |
![]() |
[7d44b1] Add break so no infinite loop |
.gitignore | 2022-12-30 |
![]() |
[5ee930] Initial commit |
LICENSE | 2022-12-30 |
![]() |
[5ee930] Initial commit |
README.md | 2023-01-02 |
![]() |
[334f8d] Update README.md |
⚠️ ⚠️ ⚠️ WARNING: This project is no longer maintained; there may be bugs. Feel free to fork this repository, pull requests may be accepted. ⚠️ ⚠️ ⚠️
BadMacro is a macro. Literally. Search what a macro is...
You can clone the repository by doing the following:
git clone https://github.com/itsmarsss/BadMacro.git
You can run it in an IDE or build it into a jar, up to you.
If you're a lazy bum like me, head over to [[releases]](https://github.com/itsmarsss/BadMacro/releases), and download the most recent version.
Download the .exe
if you're running Windows, otherwise download the .jar
. Both versions REQUIRE at least Java 11 installed to function.
The program may create a .dll
file. It is not malicious, at least not to my knowledge. This is created by a library used to register key binds called JNativeHook.
You can find this file in either the running directory or user temp folder.
Unfortunately I have no clue how to resolve this issue in code. But if you make a visit to C:\Users\<user>\AppData\Local\Temp
you should see a bunch of JNativeHook-<string of text>.dll
. Delete all of those and the program should work.
Element | Explanation |
---|---|
Macros List | A list of all macros, the first one ("KILLKEY") cannot be removed, it is used to terminate the running macro |
New | Create a new macro, enter a name for the macro on popup |
Export/Import | Export or Import a macro in the form of a .txt file |
Edit | Edit selected macro |
Delete | Delete selected macro (Cannot be undone) |
Start/Stop Record | Record all mouse and key actions (May need to trim the beginning/ending) |
Run | Run selected macro |
Stop | Terminate running macro |
⚠️ Trying to edit a recorded macro is discouraged, recorded macros are accurate and extremely long. Trimming the beginning and ending should be sufficient for usage. ⚠️
Element | Explanation |
---|---|
Macro name | Change macro name |
Sequence list | Sequence of events for this macro |
Bind | Bind a key to this macro, click field and type something to bind (backspace to remove) |
Insert | Insert sequence, select sequence item in popup and follow instructions |
Remove | Remove selected sequence item (cannot be undone) |
Move Up | Move selected sequence up by one |
Move Down | Move selected sequence down by one |
Edit | Edit selected sequence item |
Duplicate | Duplicate sequence item |
Save | Save all macro edits |
Cancel | Cancel all macro edits |
Run Type | 1. Single - Runs only once 2. Repeat until stopped - Runs until terminated by KILLKEY macro or STOP button3. Repeat - Repeats a certain amount of times (can be edited in the field next to it) |
BadMacro supports simple HTML. To use it, you must surround all HTML elements with <html>text</html>
.
⚠️ Colors are not showing in GitHub ⚠️
Type | Syntax | Display |
---|---|---|
Colored | <html><font color=blue>LOL spam</font><html> |
LOL spam |
Bold | <html><b>Doge</b><html> |
Doge |
Italics | <html><i>AyeAye Captain</i><html> |
AyeAye Captain |
Combination | <html><font color=green><b><i>Wombo Combo</i><b></html> |
Combo Wombo |
Type | Explanation | Syntax | Example |
---|---|---|---|
Bind | Key bind for this macro | Bind: <keycode> |
Bind: 119 |
RunType | How this macro runs | RunType: <type - Single, RepeatUntilStopped, Repeat>,<iteration - default at 0> |
RunType: Repeat,25 |
Delay | A delay | Delay: <duration - milliseconds> |
Delay: 1000 |
KeyUp | Releases key | KeyUp: <keycode> |
KeyUp: 77 |
KeyDown | Presses key | KeyDown: <keycode> |
KeyDown: 77 |
MouseUp | Releases button | MouseUp: <buttoncode> |
KeyUp: 1024 |
MouseDown | Presses button | MouseDown: <buttoncode> |
KeyDown: 1024 |
MouseMove | Moves mouse | MouseMove: <x coordinates>:<y coordinates> |
MouseMove: 500:250 |
MouseScroll | Scrolls | MouseDown: <amount - positive # up and negative # down> |
MouseScroll: -12 |
Code | Button |
---|---|
1024 | Button 1 (Usually Left) |
2048 | Button 2 (Usually Middle) |
4096 | Button 3 (Usually Right) |
Code | Display |
---|---|
3 | Cancel |
8 | Backspace |
9 | Tab |
10 | Enter |
12 | Clear |
16 | Shift |
17 | Ctrl |
18 | Alt |
19 | Pause |
20 | Caps Lock |
21 | Kana |
24 | Final |
25 | Kanji |
27 | Escape |
28 | Convert |
29 | No Convert |
30 | Accept |
31 | Mode Change |
32 | Space |
33 | Page Up |
34 | Page Down |
35 | End |
36 | Home |
37 | Left |
38 | Up |
39 | Right |
40 | Down |
44 | Comma |
45 | Minus |
46 | Period |
47 | Slash |
48 | 0 |
49 | 1 |
50 | 2 |
51 | 3 |
52 | 4 |
53 | 5 |
54 | 6 |
55 | 7 |
56 | 8 |
57 | 9 |
59 | Semicolon |
61 | Equals |
65 | A |
66 | B |
67 | C |
68 | D |
69 | E |
70 | F |
71 | G |
72 | H |
73 | I |
74 | J |
75 | K |
76 | L |
77 | M |
78 | N |
79 | O |
80 | P |
81 | Q |
82 | R |
83 | S |
84 | T |
85 | U |
86 | V |
87 | W |
88 | X |
89 | Y |
90 | Z |
91 | Open Bracket |
92 | Back Slash |
93 | Close Bracket |
96 | NumPad-0 |
97 | NumPad-1 |
98 | NumPad-2 |
99 | NumPad-3 |
100 | NumPad-4 |
101 | NumPad-5 |
102 | NumPad-6 |
103 | NumPad-7 |
104 | NumPad-8 |
105 | NumPad-9 |
106 | NumPad * |
107 | NumPad + |
108 | NumPad , |
109 | NumPad - |
110 | NumPad . |
111 | NumPad / |
112 | F1 |
113 | F2 |
114 | F3 |
115 | F4 |
116 | F5 |
117 | F6 |
118 | F7 |
119 | F8 |
120 | F9 |
121 | F10 |
122 | F11 |
123 | F12 |
127 | Delete |
128 | Dead Grave |
129 | Dead Acute |
130 | Dead Circumflex |
131 | Dead Tilde |
132 | Dead Macron |
133 | Dead Breve |
134 | Dead Above Dot |
135 | Dead Diaeresis |
136 | Dead Above Ring |
137 | Dead Double Acute |
138 | Dead Caron |
139 | Dead Cedilla |
140 | Dead Ogonek |
141 | Dead Iota |
142 | Dead Voiced Sound |
143 | Dead Semivoiced Sound |
144 | Num Lock |
145 | Scroll Lock |
150 | Ampersand |
151 | Asterisk |
152 | Double Quote |
153 | Less |
154 | Print Screen |
155 | Insert |
156 | Help |
157 | Meta |
160 | Greater |
161 | Left Brace |
162 | Right Brace |
192 | Back Quote |
222 | Quote |
224 | Up |
225 | Down |
226 | Left |
227 | Right |
240 | Alphanumeric |
241 | Katakana |
242 | Hiragana |
243 | Full-Width |
244 | Half-Width |
245 | Roman Characters |
256 | All Candidates |
257 | Previous Candidate |
258 | Code Input |
259 | Japanese Katakana |
260 | Japanese Hiragana |
261 | Japanese Roman |
262 | Kana Lock |
263 | Input Method On/Off |
512 | At |
513 | Colon |
514 | Circumflex |
515 | Dollar |
516 | Euro |
517 | Exclamation Mark |
518 | Inverted Exclamation Mark |
519 | Left Parenthesis |
520 | Number Sign |
521 | Plus |
522 | Right Parenthesis |
523 | Underscore |
524 | Windows |
525 | Context Menu |
61440 | F13 |
61441 | F14 |
61442 | F15 |
61443 | F16 |
61444 | F17 |
61445 | F18 |
61446 | F19 |
61447 | F20 |
61448 | F21 |
61449 | F22 |
61450 | F23 |
61451 | F24 |
65312 | Compose |
65368 | Begin |
65406 | Alt Graph |
65480 | Stop |
65481 | Again |
65482 | Props |
65483 | Undo |
65485 | Copy |
65487 | Paste |
65488 | Find |
65489 | Cut |
⚠️ ⚠️ ⚠️ WARNING: This project is no longer maintained; there may be bugs. Feel free to fork this repository, pull requests may be accepted. ⚠️ ⚠️ ⚠️