General Macropad Documentation


Here you will find general documentation that will apply to all Matrice Pad macropads


Go to Preset QMK Configurations
Go to Custom QMK Profiles
Go to Changing Key Functions
Go to Changing Encoder Functions

Preset QMK Configurations


This will use the matrice_pad_classic_dial keyboard in command examples.


Below are step-by-step instructions for users who want to base their firmware on our default build



1. Download the Default Hex


Visit the documentation page for your specific Matrice Pad to download the correct hex file. There will be a link to the pad's GitHub page, where you can find the latest releases.


Download the QMK Toolbox Software to easily flash your board


1. Open QMK toolbox
2. Select the correct file in the dropdown (that you downloaded)
3. Enable the auto-flash option (optional, but helps)
4. Connect your macropad to your computer
5. With a paper clip or pin, click the reset board under the macropad, the flashing process should start
6. Once the flashing process completes (~5-10s), you may use your board



Or, if you have QMK installed, open a command line or QMK MYSYS and flash it with:

qmk flash -kb matrice_technologies/matrice_pad_classic_dial -km default


2. All set!


You can now begin using your keyboard! Try using programs like Autohotkey or dive into Windows Settings to re-assign those F-keys to more useful functions- or bind them in your application's settings!


The default 3x4 macropads layout has keys F-13 thru F-24, and if there is a dial the default function is volume up, down, and mute.
The default 5x4 macropads layout has keys F-5 thru F-24, and if there is a dial the default function is volume up, down, and mute.



Custom QMK Profiles


Steps to dive into the QMK source to tweak keymaps, encoder behavior, and more.
This will use the matrice_pad_classic_dial keyboard in command examples.



1. Clone & Install QMK



Ubuntu / Linux

  1. Make sure you have git, python3, and the QMK build tools.

    				sudo apt update
    				sudo apt install git python3 python3-pip gcc-avr avr-libc dfu-programmer dfu-util

  2. Clone QMK and run its installer:

    				git clone https://github.com/qmk/qmk_firmware.git
    				cd qmk_firmware
    				til/qmk_install.sh


Windows (QMK MSYS)

  1. Install QMK MSYS from the official repo, then launch the “QMK MSYS” shell.

    No commands needed here—just run the installer and open the MSYS terminal.
  2. In the MSYS shell, update packages and install dependencies:

    				pacman -Syu
    				pacman -S mingw-w64-i686-toolchain mingw-w64-i686-avr-gcc \
    				mingw-w64-i686-avr-libc mingw-w64-i686-dfu-util \
    				mingw-w64-i686-dfu-programmer make git python3

  3. Clone QMK and run its installer:

    				cd ~
    				git clone https://github.com/qmk/qmk_firmware.git
    				cd qmk_firmware
    				util/qmk_install.sh


2. Add Our Keyboard Directory

Place the matrice_pad_classic_dial folder under qmk_firmware/keyboards/matrice_technologies/. Your tree should look like:


				qmk_firmware/
				└── keyboards/
				    └── matrice_technologies/
				        └── matrice_pad_classic_dial/
				           ├── config.h
				           ├── rules.mk
				           ├── keyboard.json
				           └── keymaps/
				              └── default/
				                 └── keymap.c
				


3. Compile Your Custom Hex

From the qmk_firmware root, run the compile command for your platform:


Ubuntu / Linux

qmk compile -kb matrice_technologies/matrice_pad_classic_dial -km default

Windows (QMK MSYS)

qmk compile -kb matrice_technologies/matrice_pad_classic_dial -km default



4. Flash to Your Device


Download the QMK Toolbox Software to easily flash your board


1. Open QMK toolbox
2. Select the correct file in the dropdown (that you downloaded)
3. Enable the auto-flash option (optional, but helps)
4. Connect your macropad to your computer
5. With a paper clip or pin, click the reset board under the macropad, the flashing process should start
6. Once the flashing process completes (~5-10s), you may use your board


Changing Key Functions


This will use the matrice_pad_classic keyboard in command examples.

Below are step-by-step instructions for users who want to change their custom key functions



1. Use the QMK Configurator Web App

COMING SOON, AWAITING CODE MERGING WITH MAIN REPO



OR



1. Download and Open the Sourcecode For Macropad


Open the keymaps/default/keymap.c file in your notepad or code editor


Find this line:

				const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
				    [0] = LAYOUT_3x4(
				        KC_F13, KC_F14, KC_F15, KC_F16,  <<<----- THIS IS THE MAIN MATRIX
				        KC_F17, KC_F18, KC_F19, KC_F20,
				        KC_F21, KC_F22, KC_F23, KC_F24
				    ),
				};
				

Using this key guide you may change any key to your liking



2. Follow Steps Above to Compile & Flash


Follow the steps above to compile your newly-created code and flash it to your macropad.



Changing Encoder Functions


This will use the matrice_pad_numpy_dial keyboard in command examples.

Below are step-by-step instructions for users who want to change their custom key functions



1. Use the QMK Configurator Web App

COMING SOON, AWAITING CODE MERGING WITH MAIN REPO



OR



1. Download and Open the Sourcecode For Macropad


Open the keymaps/default/keymap.c file in your notepad or code editor


Find this line:

				
				const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
					[0] = LAYOUT_5x4_knob(
						KC_F5, KC_F6, KC_F7, KC_F8,  <<<----- THIS IS THE MAIN MATRIX
						KC_F9, KC_F10, KC_F11, KC_F12,
						KC_F13, KC_F14, KC_F15, KC_F16,
						KC_F17, KC_F18, KC_F19, KC_F20,
						KC_F21, KC_F22, KC_F23, KC_F24,
						
						KC_MUTE  <<<------------- THIS IS THE ENCODER BUTTON PRESS
					)
				};

				const uint16_t PROGMEM encoder_map[1][NUM_ENCODERS][NUM_DIRECTIONS] = {
					[0] = { { KC_VOLD, KC_VOLU } }   <<<------------- THIS IS THE ENCODER ROTATION L/R
				};
				
				

Using this key guide you may change any key to your liking



2. Follow Steps Above to Compile & Flash


Follow the steps above to compile your newly-created code and flash it to your macropad.