diff options
author | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2018-09-13 11:22:05 -0700 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-09-13 11:22:05 -0700 |
commit | 170de1273cde78d93b3f955aca133a4d690742b2 (patch) | |
tree | c09f2b382ae7f7bbb22fa23963a8d1dbca4c48d7 /util/new_keymap.sh | |
parent | 6d6d91c834ef3415425e21d895d4ec91c67fd4b8 (diff) | |
download | qmk_firmware-170de1273cde78d93b3f955aca133a4d690742b2.tar.gz |
Add an easy way to create new keymaps for your favorite keyboard (#3868)
* initial commit of keymap creation script
* create default keymap
* pass shellcheck
* provide a better usage message
* change printf string to more accurately reflect the path
* make it more easily understood
* found another typo
* add documentation regarding the new_keymap script
* enforce lowercase for userinputs
Diffstat (limited to 'util/new_keymap.sh')
-rwxr-xr-x | util/new_keymap.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/util/new_keymap.sh b/util/new_keymap.sh new file mode 100755 index 000000000..b09f3dd0c --- /dev/null +++ b/util/new_keymap.sh @@ -0,0 +1,40 @@ +#!/bin/sh +# Script to make a new keymap for a keyboard of your choosing +# This script automates the copying of the default keymap into +# your own keymap + +KB_PATH=$(echo "$1" | tr 'A-Z' 'a-z') +USERNAME=$(echo "$2" | tr 'A-Z' 'a-z') + +if [ -z "$KB_PATH" ]; then + printf "Usage: %s <keyboard_path> <username>\n" "$0" + printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0" + exit 1 +fi + +if [ -z "$USERNAME" ]; then + printf "Usage: %s <keyboard_path> <username>\n" "$0" + printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0" + exit 1 +fi + +cd .. + +if [ ! -d "keyboards/$KB_PATH" ]; then + printf "Error! keyboards/%s does not exist!\n" "$KB_PATH" + exit 1 +fi + +if [ -d "keyboards/$KB_PATH/keymaps/$USERNAME" ]; then + printf "Error! keyboards/%s/keymaps/%s already exists!\n" "$KB_PATH" "$USERNAME" + exit 1 +fi + +# Recursively copy the chosen keyboard's default keymap +cp -r keyboards/"$KB_PATH"/keymaps/default keyboards/"$KB_PATH"/keymaps/"$USERNAME" + +printf "%s keymap directory created in: qmk_firmware/keyboards/%s/keymaps/\n\n" "$USERNAME" "$KB_PATH" + +printf "Compile a firmware file with your new keymap by typing: \n" +printf " make %s:%s\n" "$KB_PATH" "$USERNAME" +printf "from the qmk_firmware directory\n"
\ No newline at end of file |