summaryrefslogtreecommitdiff
path: root/util/new_keymap.sh
diff options
context:
space:
mode:
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 0000000000..73cc9e8cc3
--- /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 "$(dirname "$0")/.."
+
+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