Credits to https://github.com/laurence-myers/midi-to-macro and various forum members
This script enables BOSS FS-1-WL Wireless Footswitch to use inside AutoHotKey v2 via MIDI in Windows.
It can be extended to support any types of MIDI input device.
BOSS FS-1-WL Wireless Footswitch is a wireless footswitch designed for guitar amp and PC.
It has 2 modes: keyboard HID (Bluetooth/USB) and MIDI (USB). The keyboard HID mode allows the footswitch to be programmed and work as a keyboard.
However, the programmability of keyboard HID mode is too weak to make it useful as a productivity tool:
- When the pedal is latched, it cannot tap-and-hold a key
- It cannot perform actions with key modifiers (ALT, CTRL, SHIFT, etc.)
In this repository, we are using AutoHotKey v2 to call into winmm.dll
to enable advanced scenarios, such as ALT + TAB and scrolling mouse wheel.
- Install AutoHotKey v2 from https://github.com/AutoHotkey/AutoHotkey/releases
- Connect FS-1-WL via a USB cable
- Turn on FS-1-WL and switch to MIDI mode
- Run
main.ahk
To configure how each pedal works, edit config.ahk
.
Note: this script will listen to all MIDI devices available in the system.
All functions assume the BOSS FS-1-WL Wireless Footswitch is in its default configuration:
- Left pedal is
CC 80
- Middle pedal is
CC 81
- Right pedal is
CC 82
Steps to switching tasks (ALT + TAB):
- Tap-and-hold left pedal to activate Windows task switcher
- Tap middle pedal to select previous window
- Tap right pedal to select next window
- Release left pedal to switch to the selected window
Steps to scroll up and down:
- Tap-and-hold middle pedal to scroll up until the pedal has released
- Tap-and-hold right pedal to scroll down until the pedal has released
- Press-and-hold ALT
- Tap middle pedal to go back
- Tap right pedal to go forward
- Press-and-hold CTRL
- Tap middle pedal to press CTRL + PGUP
- Tap right pedal to press CTRL + PGDN
We are not endorsed or affiliated with BOSS and Roland Corporation.
Like us? Star us.
Want to make it better? File us an issue.
Don't like something you see? Submit a pull request.