This repository has been archived on 2025-01-28. You can view files and clone it, but cannot push or open issues or pull requests.
MechMerlin 170de1273c Add an easy way to create new keymaps for your favorite keyboard ()
* 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
2018-09-13 11:22:05 -07:00

40 lines
1.2 KiB
Bash
Executable File

#!/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"