Macro Keyboard User Guide

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

  1. Disconnect the keyboard from USB.
  2. Hold KEY1.
  3. While holding KEY1, connect the USB cable.
  4. Release KEY1.
  5. A USB drive named MACROPAD will appear.
  6. Open CONFIG.TXT.
  7. Edit the key assignments and save the file.
  8. Check STATUS.TXT to make sure the configuration was accepted.
  9. Disconnect the keyboard.
  10. 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:

  1. Disconnect the keyboard.
  2. Hold KEY1.
  3. Connect the USB cable while continuing to hold the key.
  4. 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:

  1. Save CONFIG.TXT.
  2. Check STATUS.TXT.
  3. Disconnect the keyboard.
  4. 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.