documents/keyboards/qmk.md
Table of Contents
QMK
Setup Linux
- Install make
- For archlinux
sudo pacman -Sy base-devel
- For archlinux
git clone git@github.com:EnotionZ/qmk_firmware.git && git checkout dominick && git submodule init && git submodule update- Install avrdude (caterina)
- For archlinux
sudo pacman -Sy avrdude
- For archlinux
make kb:km:avrdude- example:
sudo make libra_mini:dominick:avrdude
- example:
Setup Mac
- Get Apps
brew install --cask qmk-toolboxDownload Manuallybrew tap osx-cross/armbrew tap osx-cross/avrbrew install qmk/qmk/qmk
- Setup Environment
git clone git@github.com:EnotionZ/qmk_firmware.gitgit checkout dominick- track origin/dominick branchgit submodule initgit remote add upstream https://github.com/qmk/qmk_firmware.git- Commit to
origin/dominick - Fetch & merge from
upstream/masterremote
- Compile
qmk setup -H /Users/dominick/Work/qmk_firmware2.qmk compile -kb gmmk/pro/rev1/ansi -km dominick3.make gmmk/pro/rev1/ansi:dominick4.make crkbd:dominick5.qmk compile -kb handwired/dactyl_manuform/5x6 -km dominick6. If getting stale errors, runqmk cleanfirst
Create shared.h (per-keymap)
Place this in each keymap directory (e.g. keyboards/handwired/dactyl_manuform/5x6/keymaps/dominick/shared.h).
The userspace (users/dominick/) approach doesn't resolve as an include path on this fork.
#define CPWDME "152434Dd"
#define CPWDAA "152434Qq"
#define CPWD1P "152434Aa!!"
#define CPWDEV "152434Dd"
#define EMAIL_STR "dominick.pham@gmail.com"
QMK Pin Maps
._|~~|_.
D3 [Tx0] -| |- [RAW]
D2 [Rx1] -| |- [GND]
[GND] -| |- [RST]
[GND] -|Pro |- [Vcc]
SDA/D1 [ 2] -|Micro |- [ A3] F4
SCL/D0 [ 3] -| |- [ A2] F5
D4 [ 4] -| |- [ A1] F6
C6 [ 5] -| |- [ A0] F7
D7 [ 6] -| |- [ 15] B1
E6 [ 7] -| |- [ 14] B3
B4 [ 8] -| |- [ 16] B2
B5 [ 9] -|______|- [ 10] B6
TRRS Wiring
https://github.com/qmk/qmk_firmware/blob/master/docs/feature_split_keyboard.md#i2c-wiring
- Tip = Gnd
- Ring = D0
- Ring = D1
- Sleeve = Vcc
Tap Dance
enum tapdance_keycodes {
TD_ALT_GUI,
TD_GUI_ALT,
};
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_ALT_GUI] = ACTION_TAP_DANCE_DOUBLE(KC_RALT, KC_RGUI),
[TD_GUI_ALT] = ACTION_TAP_DANCE_DOUBLE(KC_LGUI, KC_LALT),
};
#define TD_ALTG TD(TD_ALT_GUI)
#define TD_GUIA TD(TD_GUI_ALT)
LAYOUT(TD_ALTG)