Skip to content

APRK01/Vortex-Open-Source-Macropad-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vortex Macropad

An Electron-based macOS macro pad with a 3×3 grid and a tactile volume knob. Buttons trigger common developer workflows and quick-launch actions.

Requirements

  • macOS
  • Node.js and npm
  • On first run, macOS may prompt to allow automation of Google Chrome (AppleScript). Grant permission for new-tab behavior.

Install & Run

npm install
npm start

Controls

  • B1: Open Google Chrome. If not installed/launch fails, fallback to Safari.
    • Double-click B1: If Chrome is running, open a new tab; otherwise launch Chrome (fallback Safari if needed).
  • B2: Open Visual Studio Code.
  • B3: Open GitHub (web) in preferred browser.
  • B4: Open YouTube (web) in preferred browser.
  • B5: Open Spotify app if present; otherwise open Spotify Web.
  • B6: Open Discord app; otherwise open Discord Web.
  • B7: Open ChatGPT (web).
  • B8: Open Finder.
  • B9: Close all running applications (excludes essential system apps and this Electron app).

Knob

  • Controls macOS system output volume (0–100).
  • Drag or use mouse wheel (hold Shift for larger steps).
  • Initializes to current system volume and updates the system volume with a small debounce.

Keyboard Shortcuts

  • Keys 1–9 mirror B1–B9 actions with the same behavior.

Browser/App Preference and Fallbacks

  • Preferred browser is Google Chrome; Safari is used as a fallback when needed.
  • Some actions use AppleScript via osascript under the hood (e.g., opening a new Chrome tab).

Changing Button Functions

You can edit index.html to change actions for each button. Each button is identified by data-key="1".."9" and is wired in the script section with a click handler. Replace the action inside the conditional for the key you want to change.

Available APIs (exposed via preload.js):

  • window.api.openPreferredBrowser()
  • window.api.openChromeNewTabOrLaunch()
  • window.api.openVSCode()
  • window.api.openApp(appName)
  • window.api.openUrlPreferred(url)
  • window.api.getSystemVolume()
  • window.api.setSystemVolume(value0to100)
  • window.api.openFinder()
  • window.api.quitAllApps()

Examples of customizations:

  • To open a different website on a button, call window.api.openUrlPreferred('https://example.com').
  • To open a different app, call window.api.openApp('App Name').

Notes

  • The first time the app controls Chrome with AppleScript, macOS may show a permission prompt. Approve it for smooth operation.
  • “Quit All Apps” attempts to quit visible, non-background apps and excludes core system processes. Use with care.
  • And last but not the least enjoy :>.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors