You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.2 KiB

  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. KB_PATH=$(echo "$1" | tr 'A-Z' 'a-z')
  6. USERNAME=$(echo "$2" | tr 'A-Z' 'a-z')
  7. if [ -z "$KB_PATH" ]; then
  8. printf "Usage: %s <keyboard_path> <username>\n" "$0"
  9. printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0"
  10. exit 1
  11. fi
  12. if [ -z "$USERNAME" ]; then
  13. printf "Usage: %s <keyboard_path> <username>\n" "$0"
  14. printf "Example: %s 1upkeyboards/1up60hse yourname\n" "$0"
  15. exit 1
  16. fi
  17. cd "$(dirname "$0")/.."
  18. if [ ! -d "keyboards/$KB_PATH" ]; then
  19. printf "Error! keyboards/%s does not exist!\n" "$KB_PATH"
  20. exit 1
  21. fi
  22. if [ -d "keyboards/$KB_PATH/keymaps/$USERNAME" ]; then
  23. printf "Error! keyboards/%s/keymaps/%s already exists!\n" "$KB_PATH" "$USERNAME"
  24. exit 1
  25. fi
  26. # Recursively copy the chosen keyboard's default keymap
  27. cp -r keyboards/"$KB_PATH"/keymaps/default keyboards/"$KB_PATH"/keymaps/"$USERNAME"
  28. printf "%s keymap directory created in: qmk_firmware/keyboards/%s/keymaps/\n\n" "$USERNAME" "$KB_PATH"
  29. printf "Compile a firmware file with your new keymap by typing: \n"
  30. printf " make %s:%s\n" "$KB_PATH" "$USERNAME"
  31. printf "from the qmk_firmware directory\n"