RayPS / MacroPad

Yet another MacroPad but remotely configurable/scriptable/executable over Wi-Fi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⌘

MacroPad

Yet another MacroPad but remotely configurable/scriptable/executable over Wi-Fi.
Most importantly, it uses much cheaper solutions than the other existing ones.

🚧

Hardware

PCB

3D Printing Parts

There's 2 parts you can print

  • Body: The stand or case whatever you call it, shown in the picture above.
  • Spacer: To align the keys while soldering. This is optional.

3D Printing Parts (STL/AMF/FreeCAD)

It's recommended to place 4 Silicone Rubber Feet with diameter of 10mm underneath the body to prevent slipping.

Web Interface

http://macropad.local/

The web interface is a Vue.js application.

See /web for more information.

API

Method URL Description Done
GET /api/config read config βœ…
POST /api/config write config βœ…
DELETE /api/config delete config βœ…
GET /api/restart restart βœ…
GET /api/reset earase all settings βœ…

Build / Development

TODO: Add more information about development.

Clone this project

git clone git@github.com:RayPS/MacroPad.git

Open this project in PlatformIO

Update upload_port

Update monitor_port (optional, if you want to see debug messages from SoftwareSerial, otherwise remove this option)

Finally, upload to the board.

Web Interface Development

cd MacroPad/web

yarn install

yarn run dev to start web development or yarn run build to build the html PROGMEM for the firmware.

(After yarn run build, you can perform an upload in PlatformIO again)

Macro Script Proposal

Syntax Feature Done
# This is a comment
@ CTRL SHIFT CMD F1
$ Hello world!
! 1200
~ 50
+ WIN R
- WIN R
.
comment
shortcut
string
wait (ms)
interval (ms)
press key
release key
release all keys
βœ…
βœ…
βœ…
βœ…
❌
βœ…
βœ…
βœ…

Todo

  • Hardware
    • PCB
      • Use USB-C instead of Micro USB πŸ˜…
    • 3D Prints
      • Design the top case
      • Printable potentiometer cap, maybe
  • Software
    • Firmware
      • Decide the functionality for the potentiometer
      • Fix the SW0 (IO9) crash
      • Implementation of ~Interval, don't see any use case yet
    • Web Interface
      • Add a "usage/reference" page
      • Syntax highlighting. is this necessary?
      • Config saving guard (macro syntax validation)

Features Roadmap:

  • Remote execution (Already done but wont add to current version)
  • Multi-configs

About

Yet another MacroPad but remotely configurable/scriptable/executable over Wi-Fi

License:GNU Lesser General Public License v2.1


Languages

Language:C 92.0%Language:C++ 2.8%Language:TypeScript 2.3%Language:Vue 2.1%Language:JavaScript 0.3%Language:CSS 0.3%Language:HTML 0.2%Language:SCSS 0.0%