feat(mac): Cross-platform keyboard/mouse control via Hammerspoon#278
Merged
Conversation
|
|
Implements macOS equivalent to Windows AHK input control: - Mouse movement via Cmd+IJKL (smooth, accelerated) - Mouse clicks via Cmd+U/O/M (left/right/middle) - Scrolling via Alt+U/O and Cmd+H/P - Text navigation via Alt+IJKL (word/line movement) - Text selection shortcuts via Alt+W/A Platform detection in Run.vue automatically chooses: - Windows: AutoHotkey (existing) - macOS: Hammerspoon (new) Configuration mirrors AHK settings in const.ahk for consistency. Installation scripts handle Hammerspoon setup via Homebrew. Co-Authored-By: Claude Opus 4.5 <[email protected]>
9e0ee59 to
d7a875b
Compare
seonglae
added a commit
that referenced
this pull request
Apr 11, 2026
…278) Implements macOS equivalent to Windows AHK input control: - Mouse movement via Cmd+IJKL (smooth, accelerated) - Mouse clicks via Cmd+U/O/M (left/right/middle) - Scrolling via Alt+U/O and Cmd+H/P - Text navigation via Alt+IJKL (word/line movement) - Text selection shortcuts via Alt+W/A Platform detection in Run.vue automatically chooses: - Windows: AutoHotkey (existing) - macOS: Hammerspoon (new) Configuration mirrors AHK settings in const.ahk for consistency. Installation scripts handle Hammerspoon setup via Homebrew. Co-authored-by: seonglae <[email protected]> Co-authored-by: Claude Opus 4.5 <[email protected]>
seonglae
added a commit
that referenced
this pull request
May 14, 2026
* deps: Update dependency nuxt to v3 * deps: Update dependency electron to v20.3.7 * deps: Update all non-major dependencies * chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2. - [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases) - [Commits](SamVerschueren/decode-uri-component@v0.2.0...v0.2.2) --- updated-dependencies: - dependency-name: decode-uri-component dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update dependency @types/node to v18.11.18 * chore(deps): bump json5 from 1.0.1 to 1.0.2 Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](json5/json5@v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * deps: Update Node.js to >=v18.13.0 * deps: Update all non-major dependencies * deps: Update dependency electron to v20.3.10 * deps: Update all non-major dependencies * chore(deps): bump jszip from 3.7.1 to 3.10.1 Bumps [jszip](https://github.com/Stuk/jszip) from 3.7.1 to 3.10.1. - [Release notes](https://github.com/Stuk/jszip/releases) - [Changelog](https://github.com/Stuk/jszip/blob/main/CHANGES.md) - [Commits](Stuk/jszip@v3.7.1...v3.10.1) --- updated-dependencies: - dependency-name: jszip dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1. - [Release notes](https://github.com/kornelski/http-cache-semantics/releases) - [Commits](kornelski/http-cache-semantics@v4.1.0...v4.1.1) --- updated-dependencies: - dependency-name: http-cache-semantics dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update dependency vuetify to v3 * deps: Update all non-major dependencies * deps: Update dependency @nuxt/typescript-build to v3 * deps: Update all non-major dependencies * deps: Update dependency ini to v4 * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update dependency electron to v24 * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * meta: update weekly schedule renovate.json5 * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update dependency @types/node to v18.16.13 * deps: Update all non-major dependencies * deps: Update dependency electron to v25 * deps: Update all non-major dependencies * chore(deps): bump vite from 4.0.4 to 4.3.9 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.0.4 to 4.3.9. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.3.9/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * deps: Update all non-major dependencies * deps: Update dependency electron-builder to v24 * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * fix: remove node from renovate.json5 * chore(deps): bump semver from 5.7.1 to 5.7.2 Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](npm/node-semver@v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * feat: automerge added to renovate.json5 * deps: Update all non-major dependencies * deps: Update dependency electron to v26 * deps: Update dependency @types/node to v18.17.6 * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update dependency @types/node to v18.17.13 * deps: Update all non-major dependencies * deps: Update actions/checkout action to v4 * deps: Update dependency @types/node to v18.17.15 * deps: Update all non-major dependencies * deps: Update all non-major dependencies * deps: Update all non-major dependencies * docs: update README.md for meta intuiter info * deps: Update all non-major dependencies * chore(deps): bump postcss from 8.4.19 to 8.4.31 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.19 to 8.4.31. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](postcss/postcss@8.4.19...8.4.31) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * deps: Update all non-major dependencies * deps: Update dependency electron to v27 * deps: Update Node.js to >=18.18.2 * chore(deps): bump undici from 5.23.0 to 5.26.3 Bumps [undici](https://github.com/nodejs/undici) from 5.23.0 to 5.26.3. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v5.23.0...v5.26.3) --- updated-dependencies: - dependency-name: undici dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump @babel/traverse from 7.22.11 to 7.23.2 Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.11 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * deps: Update all non-major dependencies * deps: Update dependency electron to v27.0.2 * chore(deps): bump browserify-sign from 4.2.1 to 4.2.2 Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2. - [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md) - [Commits](browserify/browserify-sign@v4.2.1...v4.2.2) --- updated-dependencies: - dependency-name: browserify-sign dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * deps: Update all non-major dependencies * deps: Update Node.js to v20 * deps: Update actions/setup-node action to v4 * deps: Update all non-major dependencies * chore(deps): bump vite from 4.3.9 to 4.5.2 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.3.9 to 4.5.2. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * Delete .github/workflows/semgrep.yml * chore(deps): bump undici from 5.26.3 to 5.28.3 Bumps [undici](https://github.com/nodejs/undici) from 5.26.3 to 5.28.3. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v5.26.3...v5.28.3) --- updated-dependencies: - dependency-name: undici dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump ip from 2.0.0 to 2.0.1 Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1. - [Commits](indutny/node-ip@v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: ip dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 4.5.2 to 4.5.3 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.2 to 4.5.3. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v4.5.3/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v4.5.3/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump undici from 5.28.3 to 5.28.4 Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v5.28.3...v5.28.4) --- updated-dependencies: - dependency-name: undici dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump tar from 6.1.11 to 6.2.1 Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.11 to 6.2.1. - [Release notes](https://github.com/isaacs/node-tar/releases) - [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md) - [Commits](isaacs/node-tar@v6.1.11...v6.2.1) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump ejs from 3.1.9 to 3.1.10 Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10. - [Release notes](https://github.com/mde/ejs/releases) - [Commits](mde/ejs@v3.1.9...v3.1.10) --- updated-dependencies: - dependency-name: ejs dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump ws from 8.14.2 to 8.17.1 Bumps [ws](https://github.com/websockets/ws) from 8.14.2 to 8.17.1. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](websockets/ws@8.14.2...8.17.1) --- updated-dependencies: - dependency-name: ws dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps-dev): bump nuxt from 3.8.0 to 3.12.4 Bumps [nuxt](https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt) from 3.8.0 to 3.12.4. - [Release notes](https://github.com/nuxt/nuxt/releases) - [Commits](https://github.com/nuxt/nuxt/commits/v3.12.4/packages/nuxt) --- updated-dependencies: - dependency-name: nuxt dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps-dev): bump webpack from 4.47.0 to 5.94.0 Bumps [webpack](https://github.com/webpack/webpack) from 4.47.0 to 5.94.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](webpack/webpack@v4.47.0...v5.94.0) --- updated-dependencies: - dependency-name: webpack dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump micromatch from 4.0.4 to 4.0.8 Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.4 to 4.0.8. - [Release notes](https://github.com/micromatch/micromatch/releases) - [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md) - [Commits](micromatch/micromatch@4.0.4...4.0.8) --- updated-dependencies: - dependency-name: micromatch dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 5.3.5 to 5.4.6 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.3.5 to 5.4.6. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.6/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.6/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump serve-static from 1.15.0 to 1.16.2 Bumps [serve-static](https://github.com/expressjs/serve-static) from 1.15.0 to 1.16.2. - [Release notes](https://github.com/expressjs/serve-static/releases) - [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md) - [Commits](expressjs/serve-static@v1.15.0...v1.16.2) --- updated-dependencies: - dependency-name: serve-static dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump rollup from 4.20.0 to 4.22.4 Bumps [rollup](https://github.com/rollup/rollup) from 4.20.0 to 4.22.4. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](rollup/rollup@v4.20.0...v4.22.4) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6. - [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md) - [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6) --- updated-dependencies: - dependency-name: cross-spawn dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 5.4.6 to 5.4.14 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.6 to 5.4.14. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.14/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.14/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump undici from 5.28.4 to 5.28.5 Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.28.5. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](nodejs/undici@v5.28.4...v5.28.5) --- updated-dependencies: - dependency-name: undici dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump serialize-javascript from 6.0.1 to 6.0.2 Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/yahoo/serialize-javascript/releases) - [Commits](yahoo/serialize-javascript@v6.0.1...v6.0.2) --- updated-dependencies: - dependency-name: serialize-javascript dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps-dev): bump nuxt from 3.12.4 to 3.16.0 Bumps [nuxt](https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt) from 3.12.4 to 3.16.0. - [Release notes](https://github.com/nuxt/nuxt/releases) - [Commits](https://github.com/nuxt/nuxt/commits/v3.16.0/packages/nuxt) --- updated-dependencies: - dependency-name: nuxt dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 6.2.2 to 6.2.3 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.2 to 6.2.3. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.2.3/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.3/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 6.2.3 to 6.2.4 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.3 to 6.2.4. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.2.4/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 6.2.4 to 6.2.5 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.4 to 6.2.5. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.2.5/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.5/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.2.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 6.2.5 to 6.2.6 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.5 to 6.2.6. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.2.6/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.2.6/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.2.6 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 6.2.6 to 6.3.4 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.6 to 6.3.4. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * feat(ui): add documentation tab * fix: keep screen saver active when launching * feat(custom-hotkeys): allow win+1..0 app shortcuts * feat: add CapsLock toggle for shortcuts * refactor: update resources/ahk/src/win/app_shortcut.ahk Co-authored-by: Copilot <[email protected]> * refactor: update resources/ahk/runner.ahk Co-authored-by: Copilot <[email protected]> * fix: update src/renderer/components/templates/Custom.vue Co-authored-by: Copilot <[email protected]> * refactor: update resources/ahk/src/win/global_win.ahk Co-authored-by: Copilot <[email protected]> * chore: remove VirtualDesktopAccessor dll * feat: add auto update support * chore(deps-dev): bump electron from 27.0.3 to 28.3.2 Bumps [electron](https://github.com/electron/electron) from 27.0.3 to 28.3.2. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md) - [Commits](electron/electron@v27.0.3...v28.3.2) --- updated-dependencies: - dependency-name: electron dependency-version: 28.3.2 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump form-data from 4.0.0 to 4.0.4 --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump tmp from 0.2.1 to 0.2.4 Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.1 to 0.2.4. - [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md) - [Commits](raszi/node-tmp@v0.2.1...v0.2.4) --- updated-dependencies: - dependency-name: tmp dependency-version: 0.2.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps-dev): bump electron from 28.3.2 to 35.7.5 Bumps [electron](https://github.com/electron/electron) from 28.3.2 to 35.7.5. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md) - [Commits](electron/electron@v28.3.2...v35.7.5) --- updated-dependencies: - dependency-name: electron dependency-version: 35.7.5 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump devalue from 5.1.1 to 5.3.2 Bumps [devalue](https://github.com/sveltejs/devalue) from 5.1.1 to 5.3.2. - [Release notes](https://github.com/sveltejs/devalue/releases) - [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md) - [Commits](sveltejs/devalue@v5.1.1...v5.3.2) --- updated-dependencies: - dependency-name: devalue dependency-version: 5.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 6.3.4 to 6.3.6 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.4 to 6.3.6. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v6.3.6/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v6.3.6/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 6.3.6 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps-dev): bump nuxt from 3.16.0 to 3.19.0 Bumps [nuxt](https://github.com/nuxt/nuxt/tree/HEAD/packages/nuxt) from 3.16.0 to 3.19.0. - [Release notes](https://github.com/nuxt/nuxt/releases) - [Commits](https://github.com/nuxt/nuxt/commits/v3.19.0/packages/nuxt) --- updated-dependencies: - dependency-name: nuxt dependency-version: 3.19.0 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump vite from 7.1.5 to 7.1.11 Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.5 to 7.1.11. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.1.11/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 7.1.11 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump @nuxt/devtools from 2.6.3 to 2.7.0 Bumps [@nuxt/devtools](https://github.com/nuxt/devtools/tree/HEAD/packages/devtools) from 2.6.3 to 2.7.0. - [Release notes](https://github.com/nuxt/devtools/releases) - [Changelog](https://github.com/nuxt/devtools/blob/main/CHANGELOG.md) - [Commits](https://github.com/nuxt/devtools/commits/v2.7.0/packages/devtools) --- updated-dependencies: - dependency-name: "@nuxt/devtools" dependency-version: 2.7.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump js-yaml from 4.1.0 to 4.1.1 Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](nodeca/js-yaml@4.1.0...4.1.1) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.1.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> * chore(deps): bump node-forge from 1.3.1 to 1.3.2 (#273) Bumps [node-forge](https://github.com/digitalbazaar/forge) from 1.3.1 to 1.3.2. - [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md) - [Commits](digitalbazaar/forge@v1.3.1...v1.3.2) --- updated-dependencies: - dependency-name: node-forge dependency-version: 1.3.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump devalue from 5.3.2 to 5.6.2 (#274) Bumps [devalue](https://github.com/sveltejs/devalue) from 5.3.2 to 5.6.2. - [Release notes](https://github.com/sveltejs/devalue/releases) - [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md) - [Commits](sveltejs/devalue@v5.3.2...v5.6.2) --- updated-dependencies: - dependency-name: devalue dependency-version: 5.6.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump h3 from 1.15.4 to 1.15.5 (#275) Bumps [h3](https://github.com/h3js/h3) from 1.15.4 to 1.15.5. - [Release notes](https://github.com/h3js/h3/releases) - [Changelog](https://github.com/h3js/h3/blob/v1.15.5/CHANGELOG.md) - [Commits](h3js/h3@v1.15.4...v1.15.5) --- updated-dependencies: - dependency-name: h3 dependency-version: 1.15.5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump lodash from 4.17.21 to 4.17.23 (#276) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * experiment: tauri v2 prototype - Add Tauri v2 Rust backend with AHK process management - Create tauri.conf.json configuration - Add Vue 3 + Vuetify frontend in src-vue/ - Implement spawn_ahk, kill_ahk, restart_ahk commands - Document migration notes and benefits Bundle size: ~10-15MB vs ~150MB (Electron) Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: move AHK to packages/ with minimal changes (#277) - Move resources/ahk to packages/ahk - Add packages/ahk-builder for AHK compilation - Add workspaces to package.json - Update builder.config.js path - Keep src/renderer and electron-nuxt intact This is a minimal restructure that organizes AHK into a package while maintaining full compatibility with the existing build system. Co-authored-by: seonglae <[email protected]> * experiment: electron-vite prototype (#279) - Add electron-vite configuration - Create TypeScript main process with AHK spawning - Add preload script with IPC APIs - Create Vue 3 + Vuetify renderer - Document migration notes Co-authored-by: seonglae <[email protected]> Co-authored-by: Claude Opus 4.5 <[email protected]> * feat(mac): add cross-platform keyboard/mouse control via Hammerspoon (#278) Implements macOS equivalent to Windows AHK input control: - Mouse movement via Cmd+IJKL (smooth, accelerated) - Mouse clicks via Cmd+U/O/M (left/right/middle) - Scrolling via Alt+U/O and Cmd+H/P - Text navigation via Alt+IJKL (word/line movement) - Text selection shortcuts via Alt+W/A Platform detection in Run.vue automatically chooses: - Windows: AutoHotkey (existing) - macOS: Hammerspoon (new) Configuration mirrors AHK settings in const.ahk for consistency. Installation scripts handle Hammerspoon setup via Homebrew. Co-authored-by: seonglae <[email protected]> Co-authored-by: Claude Opus 4.5 <[email protected]> * fix(tauri): fix Hammerspoon integration and UI issues - Fix Hammerspoon check to not fail when not installed - Add process plugin for exit functionality - Fix dancing button size to 200x200 with centered play icon - Fix transparent window and border-radius for rounded corners - Add uppercase tabs and proper title styling - Update capabilities with process permissions Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): restore original design and add Custom tab UI - Restore title to original: "Intuit Manager" with text-uppercase - Fix Exit button color (remove bg class, use color prop) - Add Custom tab with Cmd+1-0 text fields like original - Keep other tabs as "Developing" placeholder Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): restore original button shape and implement all tabs - Fix dancing button to original 200x60 shape (not 200x200) - Make "INTUIT" bold in title - Option tab: startup/menubar/notifications switches - Shortcut tab: keyboard shortcuts table - Extension tab: mode list (text/mouse/window) - Custom tab: Cmd+1-0 path fields Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: migrate from Vue/Vuetify to React/Tailwind - Replace Vue with React - Use Tailwind CSS utility classes (no custom CSS) - Implement all tabs with center alignment - Original dancing button (200x60) - Title: bold INTUIT, light MANAGER Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): remove Exit button border Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): add button colors and fix window transparency - Add teal/cyan colors to dancing button - Ensure html/body/root have transparent backgrounds - Fix rounded corners Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): add explicit white text color and fix header - Add text-white to root container - Fix header background color - Remove custom button colors (use defaults) Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): restore original title format - Add space between Intuit and Manager - Remove bold from Intuit (keep light on Manager) - Match original: "INTUIT MANAGER" Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): INTUIT bold, no space, MANAGER light Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): enforce minimum height 600px Co-Authored-By: Claude Opus 4.5 <[email protected]> * refactor: use Tailwind @apply instead of raw CSS Co-Authored-By: Claude Opus 4.5 <[email protected]> * fix(ui): use fixed positioning for full window height Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> * chore: add src-tauri/target to gitignore * fix(ci): add .npmrc with legacy-peer-deps to resolve npm ci failure The Nuxt 2 leftover devDependency @nuxtjs/composition-api requires peer nuxt@^2.15 while the project upgraded to [email protected], causing ERESOLVE during npm ci on CI. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * fix(ci): remove darwin-only os field from mac-input workspace The "os": ["darwin"] restriction caused `npm ci` to fail with EBADPLATFORM on Linux/Windows CI runners. The package only contains manually-invoked Hammerspoon install scripts (no postinstall), so removing the restriction lets it install harmlessly on all platforms without changing actual behavior. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * fix(ci): drop darwin os field from mac-input entry in package-lock The lockfile preserved the old "os": ["darwin"] constraint, which npm ci treats as authoritative. Removing it from package-lock.json so the EBADPLATFORM error on Linux CI is actually resolved. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * fix(ci): regenerate package-lock.json to include all platform binaries The previous lockfile was generated on darwin and was missing platform-specific optional dependencies (e.g. @rollup/rollup-linux-x64-gnu) due to npm bug #4828. This caused vite build to fail on Linux runners with "Cannot find module @rollup/rollup-linux-x64-gnu". Regenerated the lockfile from scratch so it includes all platform variants, allowing npm ci to install the correct rollup binary on each runner OS. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * fix(ci): install Tauri Linux system deps in test job The test job runs on ubuntu-latest and runs `cargo check` against the Tauri Rust crates, which depend on glib-sys / gobject-sys / webkit2gtk. Without libwebkit2gtk-4.1-dev, libappindicator3-dev, librsvg2-dev, and patchelf installed, pkg-config can't find glib-2.0 / gobject-2.0 and the build script fails. The build job already has this step; mirroring it into the test job. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> * fix(ci): use tauri CLI binary instead of cargo subcommand The workflow installs Tauri CLI via `npm install -g @tauri-apps/cli`, which exposes a `tauri` binary, not the `cargo tauri` subcommand. Calling `cargo tauri build` therefore failed with "no such command: tauri" on all four build matrix platforms. Switched to `tauri build --target ...` to use the globally-installed npm binary directly. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Copilot <[email protected]> Co-authored-by: seonglae <[email protected]> Co-authored-by: Claude Opus 4.5 <[email protected]> Co-authored-by: Seonglae Cho <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@intuiter/mac-inputpackage with modular Lua configurationFeatures
Mouse Control (Cmd + IJKL)
Mouse Clicks
Scrolling
Text Navigation (Alt + IJKL)
Text Selection
Architecture
Platform Detection
Run.vue now detects the OS and uses:
Test plan
Prerequisites for macOS
brew install --cask hammerspoonGenerated with Claude Code