QMK tutorial using the Yampad as a base.
Packages you'll need (if ur missing anything lmk and i'll add to this):
sudo pacman --noconfirm -S git python-pip libffi avr-binutils avr-gcc avr-libc avrdude
Groups you need to be part of:
sudo usermod -a -G uucp [username]
sudo usermod -a -G tty [username]
These will require a reboot to take effect.
A text editor:
Something that can edit text, whether it be vim
, nano
or vs code
, use something that you're comfortable with
A directory to put this stuff in: I downloaded this in my home directory because it makes it easiest when working with it. (The guide assumes that you downloaded it in your home directory as well.)
- Download the git-repo (make sure to have downloaded the packages above):
git clone https://github.com/641i130/qmk-tutorial.git
- Change directory:
cd ~/qmk-tutorial/qmk_firmware/keyboards/yampad/
- Allow execution of the qmk compiler:
chmod +x ../../bin/qmk
- OPTIONAL: add the qmk to path (make it easier to execute):
sudo ln -s ../../bin/qmk /usr/local/bin/qmk
-
Change directory (if you're coming from 4, you don't need to run this):
cd ~/qmk-tutorial/qmk_firmware/keyboards/yampad/keymaps/default/
-
Editing the file:
vim keymap.c
For keycodes in QMK, use this reference.
For layer types in QMK, use this reference.
- Change directory:
cd ~/qmk-tutorial/qmk_firmware/keyboards/yampad
- Compile the edited firmware:
../../bin/qmk compile -kb yampad -km default
orqmk compile -kb yampad -km default
depending on step A4.
- Change directory:
cd ~/qmk-tutorial/qmk_firmware/
- Put the micro-controller in flash mode:
- Unplug the device.
- Hold the reset button while plugging it into the computer.
- If key presses are not recognized, then you have about 10 seconds of time to do the next step.
- Flash the firmware:
avrdude -c avr109 -P /dev/ttyACM0 -p atmega32u4 -U flash:w:yampad_default.hex
Notes:- This step can be annoying if the
/dev/ttyACM0
happens to change for some reason. To find what device its become, run this command:ls /dev/ttyACM*
- Its also helpful to have the command typed in or 'uped' (as in pressing the up arrow on the keyboard while in terminal) before you doing step D2.
- This step can be annoying if the
I assembled the keyboard backwards, which resulted in the pin settings needing to be reversed and "ROW2COL" rather than "COL2ROW". This shouldn't affect anything besides correctly assembled yampads.