No configuration software. No drivers. Just edit a text file.
The Macro Keyboard is a programmable USB keyboard that can send normal keystrokes, keyboard shortcuts, media controls and complete text strings.
During normal use it behaves like a standard USB keyboard. To configure it, hold the configuration key while connecting it to your computer. The keyboard will then appear as a USB drive containing its configuration files.
Quick Start
- Disconnect the keyboard from USB.
- Hold KEY1.
- While holding KEY1, connect the USB cable.
- Release KEY1.
- A USB drive named MACROPAD will appear.
- Open
CONFIG.TXT. - Edit the key assignments and save the file.
- Check
STATUS.TXTto make sure the configuration was accepted. - Disconnect the keyboard.
- Reconnect it normally.
The device now behaves as a normal USB keyboard using your new configuration.
Normal Mode
When connected normally, the Macro Keyboard appears as a standard USB HID keyboard.
The configuration drive is not visible in this mode.
No special drivers or background software are required.
Configuration Mode
To enter configuration mode:
- Disconnect the keyboard.
- Hold KEY1.
- Connect the USB cable while continuing to hold the key.
- Release the key after the device has connected.
Instead of appearing as a keyboard, the device will appear as a USB drive named:
MACROPAD
The drive contains:
CONFIG.TXT STATUS.TXT README.HTM
CONFIG.TXT contains the key configuration.
STATUS.TXT reports whether the most recently saved configuration was valid.
README.HTM contains this user guide.
Configuring Keys
Each physical key is identified as:
KEY1 KEY2 KEY3 ...
Only keys that physically exist on your keyboard can be configured.
A basic assignment looks like this:
KEY1=A
This makes KEY1 behave like the A key on a normal keyboard.
For example:
KEY1=A KEY2=ENTER KEY3=SPACE KEY4=ESC
Normal Keyboard Keys
Most common keyboard keys can be assigned directly.
Examples:
KEY1=A KEY2=5 KEY3=ENTER KEY4=SPACE
Supported keys include letters:
A B C ... Z
Numbers:
0 1 2 ... 9
Function keys:
F1 F2 F3 ... F24
And common control/navigation keys such as:
ENTER ESC TAB SPACE BACKSPACE DELETE INSERT HOME END PAGEUP PAGEDOWN UP DOWN LEFT RIGHT CAPSLOCK PRINTSCREEN
Keyboard Shortcuts
Multiple keys can be combined using +.
For example:
KEY1=CTRL+C
This sends the standard Copy shortcut.
Other examples:
KEY1=CTRL+C KEY2=CTRL+V KEY3=CTRL+SHIFT+ESC KEY4=ALT+F4
Modifier keys include:
CTRL SHIFT ALT GUI
The GUI modifier normally corresponds to the Windows key on Windows and the Command key on macOS.
Uppercase Letters
The configuration:
KEY1=A
represents the physical A key. It does not automatically mean uppercase A.
To explicitly send an uppercase letter, use SHIFT:
KEY1=SHIFT+A
Media Controls
The keyboard can also send USB Consumer Control commands for media functions.
Media commands use the prefix:
MEDIA:
Examples:
KEY1=MEDIA:PLAY_PAUSE KEY2=MEDIA:NEXT_TRACK KEY3=MEDIA:VOLUME_UP KEY4=MEDIA:VOLUME_DOWN
Available media commands include:
MEDIA:PLAY MEDIA:PAUSE MEDIA:PLAY_PAUSE MEDIA:STOP MEDIA:NEXT_TRACK MEDIA:PREV_TRACK MEDIA:FAST_FORWARD MEDIA:REWIND MEDIA:RECORD MEDIA:EJECT MEDIA:MUTE MEDIA:VOLUME_UP MEDIA:VOLUME_DOWN
Note that PAUSE and MEDIA:PAUSE are different.
PAUSE refers to the keyboard Pause/Break key, while
MEDIA:PAUSE controls media playback.
Typing Text
A key can type an entire text string using TEXT:.
For example:
KEY1=TEXT:"Hello world!"
Pressing KEY1 will type:
Hello world!
Other examples:
KEY1=TEXT:"Jonas" KEY2=TEXT:"Hello world!" KEY3=TEXT:"jonas@example.com"
Text must always be enclosed in double quotation marks.
Special Characters in TEXT
Some special actions can be included inside a text string using escape sequences.
| Sequence | Meaning |
|---|---|
\n |
Enter / new line |
\t |
Tab |
\b |
Backspace |
\" |
Double quotation mark |
\\ |
Backslash |
For example:
KEY1=TEXT:"Hello\nWorld"
types:
Hello World
Another example:
KEY2=TEXT:"Name:\tJonas"
To include quotation marks:
KEY3=TEXT:"He said \"Hello\""
To include a backslash:
KEY4=TEXT:"C:\\Users\\Jonas"
Spaces and Formatting
Spaces and tabs around separators are ignored.
For example, all of these are equivalent:
KEY1=SHIFT+A KEY1 = SHIFT+A KEY1=SHIFT + A KEY1 = SHIFT + A
Commands are also case-insensitive:
KEY1=SHIFT+A key1=shift+a Key1 = Shift + A
Spaces inside quoted TEXT strings are preserved exactly.
KEY1=TEXT:"Hello world"
The space between Hello and world will therefore
be typed.
Spaces are not allowed inside command names or identifiers.
For example, this is invalid:
KEY 1=SHIFT+A
and this is also invalid:
KEY1=SH IFT+A
Comments
Lines beginning with # are comments and are ignored.
For example:
# Copy and paste KEY1=CTRL+C KEY2=CTRL+V # Media controls KEY3=MEDIA:PLAY_PAUSE KEY4=MEDIA:MUTE
Comments are useful for documenting your configuration.
Example Configuration
Here is a complete example for a four-key keyboard:
# Macro Keyboard configuration # Copy KEY1=CTRL+C # Paste KEY2=CTRL+V # Play or pause media KEY3=MEDIA:PLAY_PAUSE # Type a message KEY4=TEXT:"Hello world!"
Saving the Configuration
After editing CONFIG.TXT, save the file normally in your text
editor.
The keyboard checks the configuration before accepting it.
If the configuration is valid, the status LED will briefly indicate success
and STATUS.TXT will report that the configuration was accepted.
If an error is detected, the configuration will not replace the previous working configuration.
Check STATUS.TXT for information about the error.
Common Configuration Errors
Unknown key
KEY1=FLY
FLY is not a valid keyboard key.
Missing quotation mark
KEY1=TEXT:"Hello world
TEXT strings must have both opening and closing quotation marks.
Unknown TEXT escape
KEY1=TEXT:"Hello\qWorld"
Only supported escape sequences can be used.
Invalid key number
If the physical keyboard contains four keys:
KEY5=ENTER
is invalid because KEY5 does not exist.
Duplicate key definition
KEY1=A KEY1=B
Each physical key may only be defined once.
After Configuration
When configuration is complete:
- Save
CONFIG.TXT. - Check
STATUS.TXT. - Disconnect the keyboard.
- Reconnect it without holding the configuration key.
The device will now appear as a normal USB keyboard and the MACROPAD drive will no longer be visible.
LED Status
| LED | Meaning |
|---|---|
| Off | Normal keyboard operation |
| Blue | Configuration mode |
| Green flash | Configuration successfully accepted |
| Red | Configuration error |
Keyboard Layout
The current firmware uses a US keyboard layout when converting TEXT strings into USB keyboard actions.
Normal keyboard shortcuts and individual physical keys work as expected, but some characters in TEXT strings can depend on the keyboard layout selected on the computer.
This particularly affects characters such as:
@ " : ; / \ [ ] { }
Support for additional keyboard layouts may be added in future firmware versions.
Compatibility
During normal operation, the Macro Keyboard uses the standard USB HID keyboard protocol and does not require a dedicated driver.
It is designed to work with operating systems that support standard USB keyboards, including Windows, Linux and macOS. USB-host capable Android, iPhone and iPad devices may also use the keyboard with suitable USB connectivity.
Configuration mode uses USB Mass Storage. The configuration workflow is
primarily intended for desktop operating systems where
CONFIG.TXT can easily be edited and saved.
Quick Reference
# Normal key KEY1=A # Uppercase A KEY1=SHIFT+A # Keyboard shortcut KEY1=CTRL+C # Multiple modifiers KEY1=CTRL+SHIFT+ESC # Media control KEY1=MEDIA:PLAY_PAUSE # Type text KEY1=TEXT:"Hello world!" # Text with Enter KEY1=TEXT:"Hello\nWorld" # Comment # This line is ignored
No Configuration Software Required
The Macro Keyboard was designed around a simple principle: configuration should belong to the device, not to an application installed on a particular computer.
In normal operation it is simply a standard USB keyboard. When configuration is required, the keyboard temporarily becomes its own configuration drive.
No configuration application. No account. No background service. Just CONFIG.TXT.
