3 download_dir=wsl_downloaded
5 function install_utils {
11 echo "Installing dfu-programmer"
12 wget 'http://downloads.sourceforge.net/project/dfu-programmer/dfu-programmer/0.7.2/dfu-programmer-win-0.7.2.zip'
13 7z x -odfu-programmer dfu-programmer-win-0.7.2.zip
15 echo "Installing dfu-util"
16 wget 'http://dfu-util.sourceforge.net/releases/dfu-util-0.9-win64.zip'
17 7z x dfu-util-0.9-win64.zip
19 echo "Installing teensy_loader_cli"
20 wget 'https://www.pjrc.com/teensy/teensy_loader_cli_windows.zip'
21 7z x teensy_loader_cli_windows.zip
23 echo "Installing Atmel Flip"
24 wget 'http://www.atmel.com/images/Flip%20Installer%20-%203.4.7.112.exe'
25 7z x -oFlip Flip\ Installer\ -\ 3.4.7.112.exe
27 echo "Downloading the QMK driver installer"
28 wget -qO- https://api.github.com/repos/qmk/qmk_driver_installer/releases | grep browser_download_url | head -n 1 | cut -d '"' -f 4 | wget -i -
31 rm Flip\ Installer\ -\ 3.4.7.112.exe
36 function install_drivers {
38 cmd.exe /C qmk_driver_installer.exe $1 $2 ../drivers.txt
42 dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
44 if [[ $dir != /mnt/* ]];
47 echo "You need to clone the qmk_firmware repository outside the linux filesystem."
48 echo "Otherwise the windows executables can't be run."
56 echo "Do you want to install all toolchain dependencies needed for compiling QMK?"
57 echo "This will run install_dependencies.sh, which calls apt-get upgrade."
58 echo "If you don't want that, you can install the dependencies manually."
61 [Yy]* ) sudo ./install_dependencies.sh; break;;
63 * ) echo "Invalid answer";;
67 echo "Installing dependencies needed for the installation (p7zip-full, wget)"
68 echo "This will ask for the sudo password"
69 sudo apt-get install p7zip-full wget
72 if [ ! -d "$download_dir" ]; then
77 read -p "The utils seem to already be downloaded, do you want to re-download them and update to the newest version (Y/N) " res
79 [Yy]* ) install_utils; break;;
81 * ) echo "Invalid answer";;
88 echo "Which USB drivers do you want to install?"
89 echo "(A)all - All supported drivers will be installed"
90 echo "(C)onnected - Only drivers for connected keyboards (in bootloader/flashing mode) will be installed"
91 echo "(F)force - Like all, but will also override existing drivers for connected keyboards"
92 echo "(N)one - No drivers will be installed, flashing your keyboard will most likely not work"
93 read -p "(A/C/F/N)? " res
95 [Aa]* ) install_drivers --all; break;;
96 [Cc]* ) install_drivers; break;;
97 [Ff]* ) install_drivers --all --force; break;;
99 * ) echo "Invalid answer";;
104 echo "Creating a softlink to the utils directory as ~/qmk_utils."
105 echo "This is needed so that the the make system can find all utils it need."
106 read -p "Press any key to continue (ctrl-c to abort)"
107 ln -sf "$dir" ~/qmk_utils