@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,825 @@
|
|
|
1
|
+
# Installing Keyboard Maestro
|
|
2
|
+
|
|
3
|
+
## Dependencies
|
|
4
|
+
|
|
5
|
+
### macOS (Homebrew)
|
|
6
|
+
- **Required:**
|
|
7
|
+
- `Homebrew` - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or run `dev install homebrew`
|
|
8
|
+
- **Optional:** None
|
|
9
|
+
- **Auto-installed:** None
|
|
10
|
+
|
|
11
|
+
### Ubuntu (APT/Snap)
|
|
12
|
+
- **Required:**
|
|
13
|
+
- `apt-get` - Pre-installed on Ubuntu/Debian systems
|
|
14
|
+
- Desktop environment (GNOME, KDE, XFCE, etc.) - Required for AutoKey GUI functionality
|
|
15
|
+
- **Optional:**
|
|
16
|
+
- X11 display server - AutoKey does not work with Wayland; use `sudo apt install xorg` if needed
|
|
17
|
+
- **Auto-installed:**
|
|
18
|
+
- Python 3 and dependencies - Automatically installed by `sudo apt install autokey-gtk`
|
|
19
|
+
- GTK libraries - Automatically installed by `sudo apt install autokey-gtk`
|
|
20
|
+
|
|
21
|
+
### Raspberry Pi OS (APT/Snap)
|
|
22
|
+
- **Required:**
|
|
23
|
+
- `apt-get` - Pre-installed on Raspberry Pi OS
|
|
24
|
+
- Desktop environment - Required for AutoKey GUI functionality (use Raspberry Pi OS with desktop, not Lite)
|
|
25
|
+
- **Optional:**
|
|
26
|
+
- X11 display server - Default on Raspberry Pi OS, no additional installation needed
|
|
27
|
+
- **Auto-installed:**
|
|
28
|
+
- Python 3 and dependencies - Automatically installed by `sudo apt install autokey-gtk`
|
|
29
|
+
- GTK libraries - Automatically installed by `sudo apt install autokey-gtk`
|
|
30
|
+
|
|
31
|
+
### Amazon Linux (DNF/YUM)
|
|
32
|
+
- **Required:** None (installation not supported)
|
|
33
|
+
- **Optional:** None
|
|
34
|
+
- **Auto-installed:** None
|
|
35
|
+
|
|
36
|
+
**Note:** Amazon Linux and RHEL are server operating systems without desktop environments. Desktop automation tools are not applicable. Use shell scripts, cron jobs, or systemd timers for server automation instead.
|
|
37
|
+
|
|
38
|
+
### Windows (Chocolatey/winget)
|
|
39
|
+
- **Required:**
|
|
40
|
+
- `Chocolatey` - Install via PowerShell (Admin): `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))` or run `dev install chocolatey`
|
|
41
|
+
- OR `winget` - Pre-installed on Windows 10/11 (build 17763 or later)
|
|
42
|
+
- Administrator privileges - Required to install system-wide packages
|
|
43
|
+
- **Optional:** None
|
|
44
|
+
- **Auto-installed:** None
|
|
45
|
+
|
|
46
|
+
### Git Bash (Manual/Portable)
|
|
47
|
+
- **Required:**
|
|
48
|
+
- `PowerShell` - Pre-installed on all modern Windows versions
|
|
49
|
+
- `Chocolatey` or `winget` on Windows host - Install Chocolatey via PowerShell (Admin) as shown above, or use pre-installed winget
|
|
50
|
+
- **Optional:**
|
|
51
|
+
- `curl` or `wget` - For portable installation method; install via `pacman -S curl` in Git Bash if not available
|
|
52
|
+
- `unzip` - For portable installation method; install via `pacman -S unzip` in Git Bash if not available
|
|
53
|
+
- **Auto-installed:** None
|
|
54
|
+
|
|
55
|
+
## Overview
|
|
56
|
+
|
|
57
|
+
Keyboard Maestro is a powerful macro and automation application for macOS developed by Stairways Software. It enables users to automate virtually any task on their Mac by creating macros that can be triggered by hotkeys, typed strings, application launches, time schedules, and many other triggers. With hundreds of built-in actions including flow control, conditions, looping, and the ability to execute AppleScript, JavaScript for Automation (JXA), and shell scripts, Keyboard Maestro is considered one of the most comprehensive automation tools available for macOS.
|
|
58
|
+
|
|
59
|
+
Key capabilities include:
|
|
60
|
+
|
|
61
|
+
- **Visual Macro Editor**: Create complex automations without coding using a drag-and-drop interface
|
|
62
|
+
- **Trigger Flexibility**: Launch macros via hotkeys, typed text, application events, time schedules, USB device connections, and more
|
|
63
|
+
- **Text Expansion**: Create snippets and templates that expand when triggered
|
|
64
|
+
- **Clipboard Management**: Multiple named clipboards and clipboard history
|
|
65
|
+
- **Window Management**: Control window positions, sizes, and arrangements
|
|
66
|
+
- **Application Control**: Automate menu selections, button clicks, and UI interactions
|
|
67
|
+
- **Web Automation**: Fill forms, click buttons, and extract data from web pages
|
|
68
|
+
|
|
69
|
+
**Important Platform Limitation:** Keyboard Maestro is a **macOS-only** application. There is no official version for Windows, Linux, or any other operating system. Stairways Software has no plans to create versions for other platforms. For other platforms, this documentation covers equivalent automation tools that provide similar functionality.
|
|
70
|
+
|
|
71
|
+
| Platform | Tool | Description |
|
|
72
|
+
|----------|------|-------------|
|
|
73
|
+
| macOS | Keyboard Maestro | Stairways Software's comprehensive macro/automation utility |
|
|
74
|
+
| Windows | AutoHotkey | Open-source scripting language for Windows automation |
|
|
75
|
+
| Linux | AutoKey | Desktop automation utility for Linux and X11 |
|
|
76
|
+
|
|
77
|
+
## Prerequisites
|
|
78
|
+
|
|
79
|
+
Before installing automation tools on any platform, ensure:
|
|
80
|
+
|
|
81
|
+
1. **Internet connectivity** - Required to download packages
|
|
82
|
+
2. **Administrative privileges** - Required for system-wide installation
|
|
83
|
+
3. **Sufficient disk space** - At least 100 MB for installation
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Platform-Specific Installation
|
|
88
|
+
|
|
89
|
+
### macOS (Homebrew)
|
|
90
|
+
|
|
91
|
+
Keyboard Maestro is the native macOS automation solution and is available as a Homebrew cask.
|
|
92
|
+
|
|
93
|
+
#### Prerequisites
|
|
94
|
+
|
|
95
|
+
- macOS 10.13 (High Sierra) or later (macOS 10.15 Catalina or later recommended)
|
|
96
|
+
- Homebrew package manager installed
|
|
97
|
+
- 64-bit processor (Intel or Apple Silicon natively supported)
|
|
98
|
+
- Valid license for full functionality (trial available)
|
|
99
|
+
|
|
100
|
+
Verify Homebrew is installed:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
brew --version
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
If Homebrew is not installed, install it first using `dev install homebrew` or run:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
#### Installation Steps
|
|
113
|
+
|
|
114
|
+
Run the following command to install Keyboard Maestro:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
brew install --cask --quiet keyboard-maestro
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Explanation of flags:**
|
|
121
|
+
- `--cask`: Indicates this is a macOS application (not a CLI formula)
|
|
122
|
+
- `--quiet`: Suppresses non-essential output for non-interactive installation
|
|
123
|
+
|
|
124
|
+
The installation downloads Keyboard Maestro and installs it to `/Applications/Keyboard Maestro.app`.
|
|
125
|
+
|
|
126
|
+
#### Verification
|
|
127
|
+
|
|
128
|
+
Confirm the installation succeeded:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
ls -la "/Applications/Keyboard Maestro.app" && echo "Keyboard Maestro is installed"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
You can also verify by checking the Homebrew list:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
brew list --cask | grep keyboard-maestro
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
#### Troubleshooting
|
|
141
|
+
|
|
142
|
+
**Installation fails with permission errors:**
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Reset Homebrew cask cache and retry
|
|
146
|
+
brew cleanup
|
|
147
|
+
brew install --cask --quiet keyboard-maestro
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**Keyboard Maestro fails to open with "cannot be opened" error:**
|
|
151
|
+
|
|
152
|
+
This occurs when macOS Gatekeeper blocks the application:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
xattr -cr "/Applications/Keyboard Maestro.app"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Keyboard Maestro requires Accessibility permissions:**
|
|
159
|
+
|
|
160
|
+
On first launch, Keyboard Maestro will request Accessibility permissions. This is required for the application to control other applications and respond to global hotkeys. Grant access via:
|
|
161
|
+
|
|
162
|
+
1. Open System Settings (or System Preferences on older macOS)
|
|
163
|
+
2. Navigate to Privacy & Security > Accessibility
|
|
164
|
+
3. Enable the toggle for Keyboard Maestro
|
|
165
|
+
|
|
166
|
+
To automate granting Accessibility permissions (requires admin privileges and disabling SIP, not recommended for most users):
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# View current Accessibility database (informational only)
|
|
170
|
+
sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" "SELECT * FROM access WHERE service='kTCCServiceAccessibility';"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Upgrading from a previous version:**
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
brew upgrade --cask keyboard-maestro
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### Ubuntu/Debian (APT)
|
|
182
|
+
|
|
183
|
+
**Keyboard Maestro is NOT available on Ubuntu or Debian.** It is a macOS-only application.
|
|
184
|
+
|
|
185
|
+
Use **AutoKey** as the equivalent automation tool for Linux. AutoKey is a desktop automation utility for Linux and X11 that provides text expansion and scripting capabilities similar to Keyboard Maestro.
|
|
186
|
+
|
|
187
|
+
#### Prerequisites
|
|
188
|
+
|
|
189
|
+
- Ubuntu 20.04 LTS or later, or Debian 11 (Bullseye) or later
|
|
190
|
+
- X11 display server (AutoKey does not work with Wayland)
|
|
191
|
+
- sudo privileges
|
|
192
|
+
- Desktop environment (GNOME, KDE, XFCE, etc.)
|
|
193
|
+
|
|
194
|
+
**Important**: AutoKey requires X11 and will not function correctly when Wayland is in use. To check your display server:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
echo $XDG_SESSION_TYPE
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
If it returns "wayland", you need to switch to X11 or use an alternative tool.
|
|
201
|
+
|
|
202
|
+
#### Installation Steps
|
|
203
|
+
|
|
204
|
+
Run the following commands to install AutoKey with the GTK interface (recommended for GNOME, MATE, Unity, Cinnamon):
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
208
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y autokey-gtk
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**For KDE Plasma, LXQt, or other Qt-based desktop environments**, install the Qt version instead:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
215
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y autokey-qt
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
The `DEBIAN_FRONTEND=noninteractive` environment variable and `-y` flag ensure fully unattended installation without prompts.
|
|
219
|
+
|
|
220
|
+
#### Verification
|
|
221
|
+
|
|
222
|
+
Confirm AutoKey installed successfully:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
autokey-gtk --version 2>/dev/null || autokey-qt --version 2>/dev/null
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Expected output (version numbers may vary):
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
autokey 0.95.10
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Verify the application is available:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
which autokey-gtk || which autokey-qt
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
#### Troubleshooting
|
|
241
|
+
|
|
242
|
+
**Problem**: `E: Unable to locate package autokey-gtk`
|
|
243
|
+
|
|
244
|
+
**Solution**: Update the package index and ensure universe repository is enabled:
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
sudo add-apt-repository universe -y
|
|
248
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
249
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y autokey-gtk
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Problem**: AutoKey crashes or fails to detect keypresses
|
|
253
|
+
|
|
254
|
+
**Solution**: AutoKey requires X11. If you are using Wayland, log out and select "Ubuntu on Xorg" (or similar X11 session) from the login screen.
|
|
255
|
+
|
|
256
|
+
**Problem**: AutoKey does not start automatically at login
|
|
257
|
+
|
|
258
|
+
**Solution**: Add AutoKey to startup applications:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
mkdir -p ~/.config/autostart
|
|
262
|
+
cat > ~/.config/autostart/autokey-gtk.desktop << 'EOF'
|
|
263
|
+
[Desktop Entry]
|
|
264
|
+
Type=Application
|
|
265
|
+
Name=AutoKey
|
|
266
|
+
Exec=autokey-gtk
|
|
267
|
+
Hidden=false
|
|
268
|
+
NoDisplay=false
|
|
269
|
+
X-GNOME-Autostart-enabled=true
|
|
270
|
+
EOF
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
### Raspberry Pi OS (APT)
|
|
276
|
+
|
|
277
|
+
**Keyboard Maestro is NOT available on Raspberry Pi OS.** It is a macOS-only application.
|
|
278
|
+
|
|
279
|
+
Use **AutoKey** as the equivalent automation tool. The installation process is identical to Ubuntu/Debian since Raspberry Pi OS is Debian-based.
|
|
280
|
+
|
|
281
|
+
#### Prerequisites
|
|
282
|
+
|
|
283
|
+
- Raspberry Pi OS (Bookworm or Bullseye) with desktop environment
|
|
284
|
+
- Raspberry Pi 3 or later (earlier models have limited performance)
|
|
285
|
+
- X11 display server (default on Raspberry Pi OS)
|
|
286
|
+
- sudo privileges
|
|
287
|
+
|
|
288
|
+
**Note on ARM Architecture**: AutoKey is available pre-compiled for ARM architecture in the Raspberry Pi OS repositories. No special configuration is required.
|
|
289
|
+
|
|
290
|
+
#### Installation Steps
|
|
291
|
+
|
|
292
|
+
Run the following commands to install AutoKey:
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
296
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y autokey-gtk
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**Note**: The GTK version is recommended for Raspberry Pi OS as it uses the LXDE/LXQt desktop environment by default.
|
|
300
|
+
|
|
301
|
+
#### Verification
|
|
302
|
+
|
|
303
|
+
Confirm the installation succeeded:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
autokey-gtk --version
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Expected output (version numbers may vary):
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
autokey 0.95.10
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Launch AutoKey to verify it works:
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
autokey-gtk &
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
#### Troubleshooting
|
|
322
|
+
|
|
323
|
+
**Problem**: AutoKey is slow or unresponsive on Raspberry Pi
|
|
324
|
+
|
|
325
|
+
**Solution**: AutoKey can be resource-intensive. On Raspberry Pi 3, close other applications when using AutoKey. Raspberry Pi 4 or 5 is recommended for better performance.
|
|
326
|
+
|
|
327
|
+
**Problem**: AutoKey does not detect keyboard input
|
|
328
|
+
|
|
329
|
+
**Solution**: Ensure you are running a full desktop session (not SSH or headless). AutoKey requires direct access to the X11 display:
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
# Verify X11 is running
|
|
333
|
+
echo $DISPLAY
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
If empty, you are not in a graphical session.
|
|
337
|
+
|
|
338
|
+
**Problem**: Package not found in Raspberry Pi OS Lite
|
|
339
|
+
|
|
340
|
+
**Solution**: Raspberry Pi OS Lite does not include a desktop environment. Install the full desktop first or use Raspberry Pi OS with desktop.
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
### Amazon Linux/RHEL (YUM/DNF)
|
|
345
|
+
|
|
346
|
+
**Keyboard Maestro is NOT available on Amazon Linux or RHEL.** It is a macOS-only application.
|
|
347
|
+
|
|
348
|
+
Amazon Linux and RHEL are primarily server operating systems without desktop environments by default. Desktop automation tools like Keyboard Maestro or AutoKey are not applicable to these platforms in typical use cases.
|
|
349
|
+
|
|
350
|
+
#### Prerequisites
|
|
351
|
+
|
|
352
|
+
- Amazon Linux 2, Amazon Linux 2023, RHEL 7/8/9, or compatible
|
|
353
|
+
- Desktop environment installed (optional, for GUI-based automation)
|
|
354
|
+
- sudo privileges
|
|
355
|
+
|
|
356
|
+
#### Installation Steps
|
|
357
|
+
|
|
358
|
+
**For headless/server automation**, use shell scripting, cron jobs, or systemd timers instead of GUI-based automation tools:
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
# Example: Create a simple automation script
|
|
362
|
+
cat > ~/automation-script.sh << 'EOF'
|
|
363
|
+
#!/bin/bash
|
|
364
|
+
# Your automation commands here
|
|
365
|
+
echo "Automated task executed at $(date)"
|
|
366
|
+
EOF
|
|
367
|
+
chmod +x ~/automation-script.sh
|
|
368
|
+
|
|
369
|
+
# Schedule with cron (runs every hour)
|
|
370
|
+
(crontab -l 2>/dev/null; echo "0 * * * * ~/automation-script.sh") | crontab -
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
**For desktop automation** (if a desktop environment is installed), AutoKey can be compiled from source:
|
|
374
|
+
|
|
375
|
+
**Step 1: Install dependencies (Amazon Linux 2023 / RHEL 8+)**
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
sudo dnf install -y python3 python3-pip python3-dbus python3-gobject gtk3 wmctrl
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
**Step 2: Install AutoKey via pip**
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
pip3 install --user autokey
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
**Note**: This method is not recommended for production servers. Amazon Linux is designed for server workloads, not desktop automation.
|
|
388
|
+
|
|
389
|
+
#### Verification
|
|
390
|
+
|
|
391
|
+
For shell-based automation:
|
|
392
|
+
|
|
393
|
+
```bash
|
|
394
|
+
crontab -l | grep automation-script && echo "Automation script scheduled"
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
#### Troubleshooting
|
|
398
|
+
|
|
399
|
+
**Problem**: No desktop environment available
|
|
400
|
+
|
|
401
|
+
**Solution**: Amazon Linux is a server OS. If you need GUI automation, consider using a different distribution with desktop support, or use headless automation techniques (shell scripts, APIs, etc.).
|
|
402
|
+
|
|
403
|
+
**Problem**: pip3 install fails with permission errors
|
|
404
|
+
|
|
405
|
+
**Solution**: Use the `--user` flag to install to your home directory:
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
pip3 install --user autokey
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
### Windows (Chocolatey/winget)
|
|
414
|
+
|
|
415
|
+
**Keyboard Maestro is NOT available on Windows.** It is a macOS-only application.
|
|
416
|
+
|
|
417
|
+
Use **AutoHotkey** as the equivalent automation tool for Windows. AutoHotkey is an open-source scripting language that allows automation of the Windows GUI and general scripting. It is the most popular Keyboard Maestro alternative for Windows users.
|
|
418
|
+
|
|
419
|
+
#### Prerequisites
|
|
420
|
+
|
|
421
|
+
- Windows 10 or later (64-bit recommended)
|
|
422
|
+
- Administrator PowerShell or Command Prompt
|
|
423
|
+
- Chocolatey or winget package manager installed
|
|
424
|
+
|
|
425
|
+
Verify Chocolatey is installed:
|
|
426
|
+
|
|
427
|
+
```powershell
|
|
428
|
+
choco --version
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
Or verify winget:
|
|
432
|
+
|
|
433
|
+
```powershell
|
|
434
|
+
winget --version
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
#### Installation Steps
|
|
438
|
+
|
|
439
|
+
**Install using Chocolatey (Recommended):**
|
|
440
|
+
|
|
441
|
+
Open PowerShell or Command Prompt as Administrator and run:
|
|
442
|
+
|
|
443
|
+
```powershell
|
|
444
|
+
choco install autohotkey -y
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
**Explanation of flags:**
|
|
448
|
+
- `-y`: Automatically confirms all prompts for non-interactive installation
|
|
449
|
+
|
|
450
|
+
**Install using winget:**
|
|
451
|
+
|
|
452
|
+
```powershell
|
|
453
|
+
winget install --id AutoHotkey.AutoHotkey --silent --accept-package-agreements --accept-source-agreements
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
**Explanation of flags:**
|
|
457
|
+
- `--id AutoHotkey.AutoHotkey`: Specifies the exact package identifier
|
|
458
|
+
- `--silent`: Suppresses the installer UI completely
|
|
459
|
+
- `--accept-package-agreements`: Automatically accepts the package license
|
|
460
|
+
- `--accept-source-agreements`: Automatically accepts the source terms
|
|
461
|
+
|
|
462
|
+
#### Verification
|
|
463
|
+
|
|
464
|
+
Open a new PowerShell or Command Prompt window (to refresh PATH), then verify:
|
|
465
|
+
|
|
466
|
+
```powershell
|
|
467
|
+
where AutoHotkey64.exe
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
Expected output:
|
|
471
|
+
|
|
472
|
+
```
|
|
473
|
+
C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
Or verify via Chocolatey:
|
|
477
|
+
|
|
478
|
+
```powershell
|
|
479
|
+
choco list autohotkey
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
#### Troubleshooting
|
|
483
|
+
|
|
484
|
+
**Problem**: `AutoHotkey64.exe` not found after installation
|
|
485
|
+
|
|
486
|
+
**Solution**: Open a new terminal window to refresh the PATH. If the issue persists, verify installation:
|
|
487
|
+
|
|
488
|
+
```powershell
|
|
489
|
+
# Check Chocolatey installation
|
|
490
|
+
choco list --local-only | findstr autohotkey
|
|
491
|
+
|
|
492
|
+
# Or check winget installation
|
|
493
|
+
winget list --id AutoHotkey.AutoHotkey
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
**Problem**: winget installation prompts for install location
|
|
497
|
+
|
|
498
|
+
**Solution**: This was a known issue in older AutoHotkey versions. Update to AutoHotkey v2.0.3 or later, or use Chocolatey instead:
|
|
499
|
+
|
|
500
|
+
```powershell
|
|
501
|
+
choco install autohotkey -y
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
**Problem**: Scripts do not run due to security policy
|
|
505
|
+
|
|
506
|
+
**Solution**: Right-click the .ahk file and select "Run as Administrator", or adjust your system's execution policies.
|
|
507
|
+
|
|
508
|
+
**Problem**: Need AutoHotkey v1 instead of v2
|
|
509
|
+
|
|
510
|
+
**Solution**: Install the legacy version via Chocolatey:
|
|
511
|
+
|
|
512
|
+
```powershell
|
|
513
|
+
choco install autohotkey.install --version=1.1.37.02 -y
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
---
|
|
517
|
+
|
|
518
|
+
### WSL (Ubuntu)
|
|
519
|
+
|
|
520
|
+
**Keyboard Maestro cannot run in WSL.** WSL runs a Linux environment where macOS applications are not compatible.
|
|
521
|
+
|
|
522
|
+
#### Recommended Approach
|
|
523
|
+
|
|
524
|
+
For automation needs in a WSL environment:
|
|
525
|
+
|
|
526
|
+
1. **For Linux automation within WSL**: Install AutoKey (if using WSLg or an X server)
|
|
527
|
+
2. **For Windows automation**: Install AutoHotkey on the Windows host
|
|
528
|
+
|
|
529
|
+
#### Prerequisites
|
|
530
|
+
|
|
531
|
+
- WSL 2 with Ubuntu installed
|
|
532
|
+
- WSLg (Windows 11) or X server configured for GUI applications
|
|
533
|
+
- sudo privileges within WSL
|
|
534
|
+
|
|
535
|
+
#### Installation Steps
|
|
536
|
+
|
|
537
|
+
**For GUI automation within WSL (requires WSLg or X server):**
|
|
538
|
+
|
|
539
|
+
```bash
|
|
540
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
541
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y autokey-gtk
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
**To install AutoHotkey on the Windows host from within WSL:**
|
|
545
|
+
|
|
546
|
+
```bash
|
|
547
|
+
powershell.exe -Command "choco install autohotkey -y"
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
Or using winget:
|
|
551
|
+
|
|
552
|
+
```bash
|
|
553
|
+
powershell.exe -Command "winget install --id AutoHotkey.AutoHotkey --silent --accept-package-agreements --accept-source-agreements"
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
#### Verification
|
|
557
|
+
|
|
558
|
+
Verify AutoKey in WSL (if installed):
|
|
559
|
+
|
|
560
|
+
```bash
|
|
561
|
+
autokey-gtk --version
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
Check AutoHotkey on Windows host:
|
|
565
|
+
|
|
566
|
+
```bash
|
|
567
|
+
powershell.exe -Command "where.exe AutoHotkey64.exe"
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
#### Troubleshooting
|
|
571
|
+
|
|
572
|
+
**Problem**: AutoKey fails to launch with display errors
|
|
573
|
+
|
|
574
|
+
**Solution**: AutoKey requires an X11 display. On Windows 11 with WSLg, it should work automatically. On Windows 10, install an X server (VcXsrv or Xming) and export the display:
|
|
575
|
+
|
|
576
|
+
```bash
|
|
577
|
+
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
|
|
578
|
+
```
|
|
579
|
+
|
|
580
|
+
**Problem**: PowerShell command fails from WSL
|
|
581
|
+
|
|
582
|
+
**Solution**: Use the full path to PowerShell:
|
|
583
|
+
|
|
584
|
+
```bash
|
|
585
|
+
/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -Command "choco install autohotkey -y"
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
---
|
|
589
|
+
|
|
590
|
+
### Git Bash (Manual/Portable)
|
|
591
|
+
|
|
592
|
+
Git Bash runs within Windows, so use **AutoHotkey** for automation. AutoHotkey can be installed system-wide via Chocolatey (recommended) or as a portable installation.
|
|
593
|
+
|
|
594
|
+
#### Prerequisites
|
|
595
|
+
|
|
596
|
+
- Windows 10 or later
|
|
597
|
+
- Git Bash installed (comes with Git for Windows)
|
|
598
|
+
- Administrator privileges (for system installation) or write access to install directory (for portable)
|
|
599
|
+
|
|
600
|
+
#### Installation Steps
|
|
601
|
+
|
|
602
|
+
**Option A: Install via Chocolatey from Git Bash (Recommended)**
|
|
603
|
+
|
|
604
|
+
If Chocolatey is installed, run from Git Bash:
|
|
605
|
+
|
|
606
|
+
```bash
|
|
607
|
+
powershell.exe -Command "choco install autohotkey -y"
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
**Option B: Download portable version**
|
|
611
|
+
|
|
612
|
+
Download and extract AutoHotkey to a local directory:
|
|
613
|
+
|
|
614
|
+
```bash
|
|
615
|
+
# Create installation directory
|
|
616
|
+
mkdir -p "$HOME/Apps/AutoHotkey"
|
|
617
|
+
|
|
618
|
+
# Download AutoHotkey portable
|
|
619
|
+
curl -L -o "$HOME/Apps/AutoHotkey/AutoHotkey.zip" \
|
|
620
|
+
"https://github.com/AutoHotkey/AutoHotkey/releases/download/v2.0.19/AutoHotkey_2.0.19.zip"
|
|
621
|
+
|
|
622
|
+
# Extract the archive
|
|
623
|
+
unzip -q "$HOME/Apps/AutoHotkey/AutoHotkey.zip" -d "$HOME/Apps/AutoHotkey/"
|
|
624
|
+
|
|
625
|
+
# Remove the zip file to save space
|
|
626
|
+
rm "$HOME/Apps/AutoHotkey/AutoHotkey.zip"
|
|
627
|
+
|
|
628
|
+
# Create alias for convenience
|
|
629
|
+
echo 'alias ahk="$HOME/Apps/AutoHotkey/AutoHotkey64.exe"' >> ~/.bashrc
|
|
630
|
+
source ~/.bashrc
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
#### Verification
|
|
634
|
+
|
|
635
|
+
**For system installation:**
|
|
636
|
+
|
|
637
|
+
```bash
|
|
638
|
+
powershell.exe -Command "where.exe AutoHotkey64.exe"
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
**For portable installation:**
|
|
642
|
+
|
|
643
|
+
```bash
|
|
644
|
+
if [[ -f "$HOME/Apps/AutoHotkey/AutoHotkey64.exe" ]]; then
|
|
645
|
+
echo "AutoHotkey (portable) is installed"
|
|
646
|
+
else
|
|
647
|
+
echo "AutoHotkey is NOT installed"
|
|
648
|
+
fi
|
|
649
|
+
```
|
|
650
|
+
|
|
651
|
+
Test AutoHotkey with a simple script:
|
|
652
|
+
|
|
653
|
+
```bash
|
|
654
|
+
# Create a test script
|
|
655
|
+
echo 'MsgBox "AutoHotkey is working!"' > /tmp/test.ahk
|
|
656
|
+
|
|
657
|
+
# Run the script (Windows will open a message box)
|
|
658
|
+
"$HOME/Apps/AutoHotkey/AutoHotkey64.exe" "$(cygpath -w /tmp/test.ahk)"
|
|
659
|
+
```
|
|
660
|
+
|
|
661
|
+
#### Troubleshooting
|
|
662
|
+
|
|
663
|
+
**Problem**: curl download fails
|
|
664
|
+
|
|
665
|
+
**Solution**: Use wget as an alternative:
|
|
666
|
+
|
|
667
|
+
```bash
|
|
668
|
+
wget -O "$HOME/Apps/AutoHotkey/AutoHotkey.zip" \
|
|
669
|
+
"https://github.com/AutoHotkey/AutoHotkey/releases/download/v2.0.19/AutoHotkey_2.0.19.zip"
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
**Problem**: unzip not found
|
|
673
|
+
|
|
674
|
+
**Solution**: Extract using PowerShell:
|
|
675
|
+
|
|
676
|
+
```bash
|
|
677
|
+
powershell.exe -Command "Expand-Archive -Path '$HOME/Apps/AutoHotkey/AutoHotkey.zip' -DestinationPath '$HOME/Apps/AutoHotkey/' -Force"
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
**Problem**: AutoHotkey script does not run from Git Bash
|
|
681
|
+
|
|
682
|
+
**Solution**: Convert the path to Windows format using `cygpath`:
|
|
683
|
+
|
|
684
|
+
```bash
|
|
685
|
+
"$HOME/Apps/AutoHotkey/AutoHotkey64.exe" "$(cygpath -w /path/to/script.ahk)"
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
---
|
|
689
|
+
|
|
690
|
+
## Post-Installation Configuration
|
|
691
|
+
|
|
692
|
+
### macOS (Keyboard Maestro)
|
|
693
|
+
|
|
694
|
+
After installing Keyboard Maestro on macOS:
|
|
695
|
+
|
|
696
|
+
1. **Grant Accessibility Permissions**: On first launch, grant Accessibility permissions in System Settings > Privacy & Security > Accessibility. This is required for Keyboard Maestro to control other applications.
|
|
697
|
+
|
|
698
|
+
2. **Grant Automation Permissions**: When Keyboard Maestro attempts to control an application, macOS will prompt for permission. Grant access for each application you want to automate.
|
|
699
|
+
|
|
700
|
+
3. **License Activation**: Purchase a license from https://purchase.keyboardmaestro.com/ (US$36) or continue with the trial. The trial is fully functional but displays a reminder dialog.
|
|
701
|
+
|
|
702
|
+
4. **Enable the Keyboard Maestro Engine**: Ensure the Keyboard Maestro Engine is running (appears in the menu bar). This background process is required for macros to trigger.
|
|
703
|
+
|
|
704
|
+
5. **Import Macros**: If migrating from another machine, import your macro library via File > Import Macros.
|
|
705
|
+
|
|
706
|
+
### Windows (AutoHotkey)
|
|
707
|
+
|
|
708
|
+
After installing AutoHotkey on Windows:
|
|
709
|
+
|
|
710
|
+
1. **Create Your First Script**: AutoHotkey scripts use the `.ahk` extension. Create a file named `MyScript.ahk`:
|
|
711
|
+
|
|
712
|
+
```autohotkey
|
|
713
|
+
; Example: Press Win+N to open Notepad
|
|
714
|
+
#n::Run "notepad.exe"
|
|
715
|
+
|
|
716
|
+
; Example: Text expansion - type "btw" to expand to "by the way"
|
|
717
|
+
::btw::by the way
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
2. **Run Scripts at Startup**: Place your .ahk files in the Startup folder:
|
|
721
|
+
|
|
722
|
+
```powershell
|
|
723
|
+
# Open the Startup folder
|
|
724
|
+
explorer shell:startup
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
3. **Compile Scripts (Optional)**: Convert .ahk scripts to standalone .exe files using the AutoHotkey compiler (Ahk2Exe) included with the installation.
|
|
728
|
+
|
|
729
|
+
### Linux (AutoKey)
|
|
730
|
+
|
|
731
|
+
After installing AutoKey on Linux:
|
|
732
|
+
|
|
733
|
+
1. **First Launch**: Launch AutoKey from your application menu or run `autokey-gtk` (or `autokey-qt`).
|
|
734
|
+
|
|
735
|
+
2. **Create Phrases**: For text expansion, create a new phrase in the AutoKey window.
|
|
736
|
+
|
|
737
|
+
3. **Create Scripts**: For complex automation, create Python scripts that can simulate keypresses, mouse clicks, and more.
|
|
738
|
+
|
|
739
|
+
4. **Configure Autostart**: Enable AutoKey to start automatically at login through the application preferences or by creating a .desktop file.
|
|
740
|
+
|
|
741
|
+
---
|
|
742
|
+
|
|
743
|
+
## Common Issues
|
|
744
|
+
|
|
745
|
+
### Cross-Platform Issues
|
|
746
|
+
|
|
747
|
+
| Issue | Cause | Solution |
|
|
748
|
+
|-------|-------|----------|
|
|
749
|
+
| Package manager not found | Package manager not installed | Install the appropriate package manager for your platform first |
|
|
750
|
+
| Permission denied | Insufficient privileges | Run commands with sudo (Linux/macOS) or as Administrator (Windows) |
|
|
751
|
+
| Download fails | Network connectivity issues | Check internet connection; try alternative download sources |
|
|
752
|
+
|
|
753
|
+
### macOS-Specific Issues (Keyboard Maestro)
|
|
754
|
+
|
|
755
|
+
| Issue | Solution |
|
|
756
|
+
|-------|----------|
|
|
757
|
+
| "Keyboard Maestro Engine is not running" | Launch Keyboard Maestro.app; the Engine starts automatically |
|
|
758
|
+
| Macros do not trigger | Grant Accessibility permissions in System Settings > Privacy & Security |
|
|
759
|
+
| Application control fails | Grant Automation permissions when prompted by macOS |
|
|
760
|
+
| Homebrew cask outdated | Run `brew update && brew upgrade --cask keyboard-maestro` |
|
|
761
|
+
|
|
762
|
+
### Windows-Specific Issues (AutoHotkey)
|
|
763
|
+
|
|
764
|
+
| Issue | Solution |
|
|
765
|
+
|-------|----------|
|
|
766
|
+
| Scripts blocked by antivirus | Add AutoHotkey to antivirus exclusions |
|
|
767
|
+
| Hotkeys do not work in elevated apps | Run AutoHotkey script as Administrator |
|
|
768
|
+
| v1 scripts fail in v2 | AutoHotkey v2 has different syntax; use v1 for legacy scripts |
|
|
769
|
+
|
|
770
|
+
### Linux-Specific Issues (AutoKey)
|
|
771
|
+
|
|
772
|
+
| Issue | Solution |
|
|
773
|
+
|-------|----------|
|
|
774
|
+
| AutoKey does not start | Ensure X11 is running (not Wayland); check `echo $XDG_SESSION_TYPE` |
|
|
775
|
+
| Phrases do not expand | Verify trigger phrase and ensure AutoKey is running in system tray |
|
|
776
|
+
| Permission errors | Add user to `input` group: `sudo usermod -aG input $USER` |
|
|
777
|
+
|
|
778
|
+
---
|
|
779
|
+
|
|
780
|
+
## Feature Comparison
|
|
781
|
+
|
|
782
|
+
| Feature | Keyboard Maestro (macOS) | AutoHotkey (Windows) | AutoKey (Linux) |
|
|
783
|
+
|---------|--------------------------|----------------------|-----------------|
|
|
784
|
+
| GUI Macro Editor | Yes (visual) | No (text-based) | Yes (basic) |
|
|
785
|
+
| Text Expansion | Yes | Yes | Yes |
|
|
786
|
+
| Hotkey Triggers | Yes | Yes | Yes |
|
|
787
|
+
| Application Triggers | Yes | Limited | Limited |
|
|
788
|
+
| Time-Based Triggers | Yes | Via Windows Task Scheduler | Via cron |
|
|
789
|
+
| Mouse Automation | Yes | Yes | Yes |
|
|
790
|
+
| Window Management | Yes | Yes | Limited |
|
|
791
|
+
| Scripting Language | AppleScript, JXA, Shell | AutoHotkey Script | Python |
|
|
792
|
+
| Price | US$36 (one-time) | Free (open source) | Free (open source) |
|
|
793
|
+
|
|
794
|
+
---
|
|
795
|
+
|
|
796
|
+
## References
|
|
797
|
+
|
|
798
|
+
### macOS (Keyboard Maestro)
|
|
799
|
+
|
|
800
|
+
- [Keyboard Maestro Official Website](https://www.keyboardmaestro.com/main/)
|
|
801
|
+
- [Keyboard Maestro Download Page](https://www.stairways.com/main/download)
|
|
802
|
+
- [Keyboard Maestro Homebrew Cask](https://formulae.brew.sh/cask/keyboard-maestro)
|
|
803
|
+
- [Keyboard Maestro Wiki](https://wiki.keyboardmaestro.com/)
|
|
804
|
+
- [Keyboard Maestro Forum](https://forum.keyboardmaestro.com/)
|
|
805
|
+
- [Stairways Software](https://www.stairways.com/main/)
|
|
806
|
+
|
|
807
|
+
### Windows (AutoHotkey)
|
|
808
|
+
|
|
809
|
+
- [AutoHotkey Official Website](https://www.autohotkey.com/)
|
|
810
|
+
- [AutoHotkey Documentation](https://www.autohotkey.com/docs/v2/)
|
|
811
|
+
- [AutoHotkey GitHub Repository](https://github.com/AutoHotkey/AutoHotkey)
|
|
812
|
+
- [AutoHotkey Chocolatey Package](https://community.chocolatey.org/packages/autohotkey)
|
|
813
|
+
- [AutoHotkey winget Package](https://winget.run/pkg/AutoHotkey/AutoHotkey)
|
|
814
|
+
- [AutoHotkey Forum](https://www.autohotkey.com/boards/)
|
|
815
|
+
|
|
816
|
+
### Linux (AutoKey)
|
|
817
|
+
|
|
818
|
+
- [AutoKey GitHub Repository](https://github.com/autokey/autokey)
|
|
819
|
+
- [AutoKey Installation Guide](https://github.com/autokey/autokey/wiki/Installing)
|
|
820
|
+
- [AutoKey Ubuntu Package](https://packages.ubuntu.com/autokey)
|
|
821
|
+
|
|
822
|
+
### Alternatives and Comparisons
|
|
823
|
+
|
|
824
|
+
- [Keyboard Maestro Alternatives (AlternativeTo)](https://alternativeto.net/software/keyboard-maestro/)
|
|
825
|
+
- [Keyboard Maestro Forum - Windows Alternatives Discussion](https://forum.keyboardmaestro.com/t/keyboard-maestro-alternatives-for-windows/35013)
|