Compare commits

...

3 Commits

3 changed files with 45 additions and 5 deletions

View File

@ -4,22 +4,30 @@ Firmware: https://config.qmk.fm/#/xd75/LAYOUT_ortho_5x15
# Flashing the firmware
1. Install the qmk command line tool and all the dependecies. Create a new keymap for your keyboard.
Install the qmk command line tool and all the dependecies. Create a new keymap for your keyboard.
```sh
qmk new-keymap
```
2. Generate the json configuration using the online tool.
Generate the json configuration using the online tool.
3. Download the generated json and convert it to a keymap.c
## Automatic installation
```sh
./build-and-flash
```
## Manual installation
Download the generated json and convert it to a keymap.c
```sh
cd ~/your/qmk/repo
qmk json2c -o keyboards/xd75/keymaps/gdk/keymap.c ~/downloads/gdk.json
```
4. Compile and flash the firmware.
Compile and flash the firmware.
To be able to flash the firmware you must enter the keyboard in the "DFU" state. Don't forget to add a "Reset" binding on your keyboard to be able to flash it easily.

32
build-and-flash Executable file
View File

@ -0,0 +1,32 @@
#!/bin/sh
set -e
QMK_DIRECOTRY="$HOME/dev/explore/qmk_firmware"
KEYBOARD_BINDINGS="$(pwd)/gdk.json"
KEYBOARD_NAME="xd75"
KEYMAP_NAME="gdk"
KEYBOARD_DIRECTORY="$QMK_DIRECOTRY/keyboards/$KEYBOARD_NAME/keymaps/$KEYMAP_NAME"
KEYMAP_FILE="$KEYBOARD_DIRECTORY/keymap.c"
_log_error() {
echo "$1"
exit 1
}
_log() {
echo "--> $1"
}
[ -d "$QMK_DIRECOTRY" ] || _log_err "Missing qmk firmware directory"
[ -d "$KEYBOARD_DIRECTORY" ] || _log_err "Missing keyboard directory"
cd "$QMK_DIRECOTRY"
_log "Generating keymap.c from $KEYBOARD_BINDINGS"
sudo qmk json2c -o "$KEYMAP_FILE" "$KEYBOARD_BINDINGS"
_log "Flashing firmware"
sudo qmk flash --keyboard "$KEYBOARD_NAME" --keymap "$KEYMAP_NAME"
_log "All done"

View File

@ -1 +1 @@
{"version":1,"notes":"","documentation":"\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n","keyboard":"xd75","keymap":"gdk.json","layout":"LAYOUT_ortho_5x15","layers":[["KC_ESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_GRV","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_MUTE","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_BSPC","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_LBRC","KC_RBRC","KC_VOLU","KC_LCTL","KC_A","KC_S","KC_D","KC_F","KC_G","KC_ENT","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_RCTL","KC_VOLD","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_INS","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_BSLS","KC_RSFT","KC_PGUP","MO(1)","KC_LGUI","KC_LGUI","KC_LGUI","KC_LGUI","KC_LALT","KC_LGUI","KC_SPC","KC_SPC","KC_RALT","KC_WH_L","KC_WH_D","KC_WH_U","KC_WH_R","KC_PGDN"],["RESET","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_NO","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_MPLY","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_MNXT","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT","KC_NO","KC_NO","KC_NO","KC_MPRV","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","MO(1)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_FIND"]],"author":""}
{"version":1,"notes":"","documentation":"\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n","keyboard":"xd75","keymap":"gdk.json","layout":"LAYOUT_ortho_5x15","layers":[["KC_ESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_GRV","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_MUTE","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_BSPC","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_LBRC","KC_RBRC","KC_VOLU","KC_LCTL","KC_A","KC_S","KC_D","KC_F","KC_G","KC_ENT","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_RSFT","KC_VOLD","KC_LSFT","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_INS","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_BSLS","KC_RSFT","KC_PGUP","MO(1)","KC_LGUI","KC_LGUI","KC_LGUI","KC_LGUI","KC_LALT","KC_LGUI","KC_SPC","KC_RALT","KC_SPC","KC_WH_L","KC_WH_D","KC_WH_U","KC_WH_R","KC_PGDN"],["RESET","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_NO","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_MPLY","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_MNXT","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT","KC_NO","KC_NO","KC_NO","KC_MPRV","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","MO(1)","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_WSCH"]],"author":""}