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
This commit is contained in:
		
							parent
							
								
									6d6d91c834
								
							
						
					
					
						commit
						170de1273c
					
				
					 2 changed files with 54 additions and 0 deletions
				
			
		
							
								
								
									
										40
									
								
								util/new_keymap.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								util/new_keymap.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -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"
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue