aboutsummaryrefslogtreecommitdiff
path: root/util/new_keymap.sh
diff options
context:
space:
mode:
authorMechMerlin <30334081+mechmerlin@users.noreply.github.com>2018-09-13 11:22:05 -0700
committerDrashna Jaelre <drashna@live.com>2018-09-13 11:22:05 -0700
commit170de1273cde78d93b3f955aca133a4d690742b2 (patch)
treec09f2b382ae7f7bbb22fa23963a8d1dbca4c48d7 /util/new_keymap.sh
parent6d6d91c834ef3415425e21d895d4ec91c67fd4b8 (diff)
downloadqmk_firmware-170de1273cde78d93b3f955aca133a4d690742b2.tar.gz
qmk_firmware-170de1273cde78d93b3f955aca133a4d690742b2.zip
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-xutil/new_keymap.sh40
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 @@
1#!/bin/sh
2# Script to make a new keymap for a keyboard of your choosing
3# This script automates the copying of the default keymap into
4# your own keymap
5
6KB_PATH=$(echo "$1" | tr 'A-Z' 'a-z')
7USERNAME=$(echo "$2" | tr 'A-Z' 'a-z')
8
9if [ -z "$KB_PATH" ]; then
10 printf "Usage: %s <keyboard_path> <username>\n" "$0"
11 printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0"
12 exit 1
13fi
14
15if [ -z "$USERNAME" ]; then
16 printf "Usage: %s <keyboard_path> <username>\n" "$0"
17 printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0"
18 exit 1
19fi
20
21cd ..
22
23if [ ! -d "keyboards/$KB_PATH" ]; then
24 printf "Error! keyboards/%s does not exist!\n" "$KB_PATH"
25 exit 1
26fi
27
28if [ -d "keyboards/$KB_PATH/keymaps/$USERNAME" ]; then
29 printf "Error! keyboards/%s/keymaps/%s already exists!\n" "$KB_PATH" "$USERNAME"
30 exit 1
31fi
32
33# Recursively copy the chosen keyboard's default keymap
34cp -r keyboards/"$KB_PATH"/keymaps/default keyboards/"$KB_PATH"/keymaps/"$USERNAME"
35
36printf "%s keymap directory created in: qmk_firmware/keyboards/%s/keymaps/\n\n" "$USERNAME" "$KB_PATH"
37
38printf "Compile a firmware file with your new keymap by typing: \n"
39printf " make %s:%s\n" "$KB_PATH" "$USERNAME"
40printf "from the qmk_firmware directory\n" \ No newline at end of file