summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--1-setup-path-win.bat80
-rw-r--r--BUILD_GUIDE.md23
-rw-r--r--README.md4
-rw-r--r--keyboard/alps64/Makefile4
-rw-r--r--keyboard/alps64/keymaps/default.c (renamed from keyboard/alps64/keymap_plain.c)0
-rw-r--r--keyboard/alps64/keymaps/hasu.c (renamed from keyboard/alps64/keymap_hasu.c)0
-rw-r--r--keyboard/atomic/Makefile4
-rw-r--r--keyboard/atomic/README.md4
-rw-r--r--keyboard/atomic/keymaps/abienz.c (renamed from keyboard/atomic/keymaps/keymap_abienz.c)0
-rw-r--r--keyboard/atomic/keymaps/default.c (renamed from keyboard/atomic/keymaps/keymap_default.c)0
-rw-r--r--keyboard/atomic/keymaps/michelle.c (renamed from keyboard/atomic/keymaps/keymap_michelle.c)0
-rw-r--r--keyboard/atreus/Makefile4
-rw-r--r--keyboard/atreus/README.md4
-rw-r--r--keyboard/atreus/keymaps/default.c (renamed from keyboard/atreus/keymaps/keymap_default.c)0
-rw-r--r--keyboard/atreus/keymaps/gerb.c (renamed from keyboard/atreus/keymaps/keymap_gerb.c)0
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/README.md29
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/dvorak_intl_squisher.hex1127
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout0.pngbin0 -> 73585 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout1.pngbin0 -> 59122 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keyboard-layout2.pngbin0 -> 53319 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/dvorak_intl_squisher/keymap.c185
-rw-r--r--keyboard/ergodox_ez/keymaps/german-manuneo/compile_keymap.py710
-rw-r--r--keyboard/ergodox_ez/keymaps/german-manuneo/german-manuneo.hex1240
-rw-r--r--keyboard/ergodox_ez/keymaps/german-manuneo/keymap.c783
-rw-r--r--keyboard/ergodox_ez/keymaps/german-manuneo/keymap.md188
-rw-r--r--keyboard/ergodox_ez/keymaps/msc/img/code_layer.pngbin0 -> 71266 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/msc/img/main_layer.pngbin0 -> 90624 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/msc/img/media_layer.pngbin0 -> 75750 bytes
-rw-r--r--keyboard/ergodox_ez/keymaps/msc/keymap.c184
-rw-r--r--keyboard/ergodox_ez/keymaps/msc/msc.hex1118
-rw-r--r--keyboard/ergodox_ez/keymaps/msc/readme.md32
-rw-r--r--keyboard/ergodox_ez/keymaps/osx_de/keymap.c127
-rw-r--r--keyboard/ergodox_ez/keymaps/osx_de/osx_de.hex2396
-rw-r--r--keyboard/ergodox_ez/keymaps/osx_de/osx_de_highres.pngbin749565 -> 684862 bytes
-rw-r--r--keyboard/gh60/Makefile4
-rw-r--r--keyboard/gh60/Makefile.pjrc4
-rw-r--r--keyboard/gh60/README.md14
-rw-r--r--keyboard/gh60/keymaps/hasu.c (renamed from keyboard/gh60/keymap_hasu.c)0
-rw-r--r--keyboard/gh60/keymaps/hhkb.c (renamed from keyboard/gh60/keymap_hhkb.c)0
-rw-r--r--keyboard/gh60/keymaps/plain.c (renamed from keyboard/gh60/keymap_plain.c)0
-rw-r--r--keyboard/gh60/keymaps/poker.c (renamed from keyboard/gh60/keymap_poker.c)0
-rw-r--r--keyboard/gh60/keymaps/poker_bit.c (renamed from keyboard/gh60/keymap_poker_bit.c)0
-rw-r--r--keyboard/gh60/keymaps/poker_set.c (renamed from keyboard/gh60/keymap_poker_set.c)0
-rw-r--r--keyboard/gh60/keymaps/spacefn.c (renamed from keyboard/gh60/keymap_spacefn.c)0
-rw-r--r--keyboard/hhkb/Makefile8
-rw-r--r--keyboard/hhkb/Makefile.pjrc4
-rw-r--r--keyboard/hhkb/Makefile.rn428
-rw-r--r--keyboard/hhkb/README.md2
-rw-r--r--keyboard/hhkb/keymaps/hasu.c (renamed from keyboard/hhkb/keymap_hasu.c)0
-rw-r--r--keyboard/hhkb/keymaps/hhkb.c (renamed from keyboard/hhkb/keymap_hhkb.c)0
-rw-r--r--keyboard/hhkb/keymaps/jp.c (renamed from keyboard/hhkb/keymap_jp.c)0
-rw-r--r--keyboard/hhkb/keymaps/spacefn.c (renamed from keyboard/hhkb/keymap_spacefn.c)0
-rw-r--r--keyboard/hhkb_qmk/Makefile4
-rw-r--r--keyboard/hhkb_qmk/README.md4
-rw-r--r--keyboard/hhkb_qmk/keymaps/default.c (renamed from keyboard/hhkb_qmk/keymaps/keymap_default.c)0
-rw-r--r--keyboard/hhkb_qmk/keymaps/lxol.c (renamed from keyboard/hhkb_qmk/keymaps/keymap_lxol.c)0
-rw-r--r--keyboard/jd45/Makefile4
-rw-r--r--keyboard/jd45/keymaps/default.c (renamed from keyboard/jd45/keymaps/keymap_default.c)0
-rw-r--r--keyboard/jd45/keymaps/justin.c (renamed from keyboard/jd45/keymaps/keymap_justin.c)0
-rw-r--r--keyboard/planck/Makefile2
-rw-r--r--keyboard/planck/README.md4
-rw-r--r--keyboard/planck/keymaps/default/keymap.c4
-rw-r--r--keyboard/planck/keymaps/tak3over.c136
-rw-r--r--keyboard/planck/old_keymap_files/common_keymaps/keymap_mitch.c (renamed from keyboard/planck/common_keymaps/keymap_mitch.c)0
-rw-r--r--keyboard/planck/planck.c32
-rw-r--r--keyboard/planck/planck.h1
-rw-r--r--keyboard/preonic/Makefile56
-rw-r--r--keyboard/preonic/Makefile.pjrc116
-rw-r--r--keyboard/preonic/PCB_GUIDE.md116
-rw-r--r--keyboard/preonic/README.md57
-rw-r--r--keyboard/preonic/__avr_gdbinit6
-rw-r--r--keyboard/preonic/analog.c53
-rw-r--r--keyboard/preonic/analog.h36
-rw-r--r--keyboard/preonic/beeps.c246
-rw-r--r--keyboard/preonic/beeps.h12
-rw-r--r--keyboard/preonic/config.h18
-rw-r--r--keyboard/preonic/config_definitions.h50
-rw-r--r--keyboard/preonic/extended_keymap_common.c216
-rw-r--r--keyboard/preonic/extended_keymap_common.h181
-rw-r--r--keyboard/preonic/extended_keymaps/extended_keymap_default.c70
-rw-r--r--keyboard/preonic/extended_keymaps/extended_keymap_lock.c81
-rwxr-xr-xkeyboard/preonic/flash-pcb.sh3
-rw-r--r--keyboard/preonic/keymap_midi.c110
-rw-r--r--keyboard/preonic/keymap_midi.h220
-rw-r--r--keyboard/preonic/keymaps/default/README.md34
-rw-r--r--keyboard/preonic/keymaps/default/keymap.c92
-rw-r--r--keyboard/preonic/keymaps/lock/README.md3
-rw-r--r--keyboard/preonic/keymaps/lock/keymap.c105
-rw-r--r--keyboard/preonic/keymaps/nerdgasm/README.md34
-rw-r--r--keyboard/preonic/keymaps/nerdgasm/keymap.c117
-rw-r--r--keyboard/preonic/led.c38
-rw-r--r--keyboard/preonic/matrix.c234
-rw-r--r--keyboard/preonic/preonic.c41
-rw-r--r--keyboard/preonic/preonic.h51
-rw-r--r--keyboard/preonic/preonic_music.hex1713
-rw-r--r--keyboard/preonic/preonic_pcb.hex1702
-rw-r--r--keyboard/preonic/preonic_pcb_silent.hex1189
-rw-r--r--keyboard/retro_refit/Makefile23
-rw-r--r--keyboard/retro_refit/config.h47
-rw-r--r--quantum/audio.c3
-rw-r--r--quantum/keymap_common.c1
-rw-r--r--quantum/keymap_extras/keymap_german_osx.h156
-rw-r--r--quantum/keymap_midi.c4
-rw-r--r--quantum/template/Makefile23
-rw-r--r--quantum/template/README.md2
-rw-r--r--quantum/template/config.h92
-rw-r--r--quantum/template/template.c20
-rw-r--r--quantum/template/template.h5
-rw-r--r--tmk_core/common/action.c5
-rw-r--r--tmk_core/common/action.h3
-rw-r--r--tmk_core/common/avr/suspend.c5
-rw-r--r--tmk_core/common/command.c353
-rw-r--r--tmk_core/common/command.h121
-rw-r--r--tmk_core/common/keyboard.c6
114 files changed, 12942 insertions, 3408 deletions
diff --git a/1-setup-path-win.bat b/1-setup-path-win.bat
index 49fb00e149..2c15857bb7 100644
--- a/1-setup-path-win.bat
+++ b/1-setup-path-win.bat
@@ -1,9 +1,71 @@
-@echo off
-setx /M path "%PATH%;C:\MinGW\bin;C:\MinGW\msys\1.0\bin" > nul 2>&1
-if NOT ["%errorlevel%"]==["0"] (
- echo FAILED. Rerun with administrator privileges.
- pause
-) else (
- echo Success!
- pause
-)
+@SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
+@ECHO OFF
+SET CMDLINERUNSTR=%SystemRoot%\system32\cmd.exe
+
+SET NEWPATH1="C:\MinGW\msys\1.0\bin"
+SET NEWPATH2="C:\MinGW\bin"
+
+:: Make sure paths exist
+IF NOT EXIST !NEWPATH1! (ECHO Path not found: %NEWPATH1% && GOTO ExitBatch)
+IF NOT EXIST !NEWPATH2! (ECHO Path not found: %NEWPATH2% && GOTO ExitBatch)
+
+:: Add paths
+CALL :AddPath %NEWPATH1%
+CALL :AddPath %NEWPATH2%
+
+:: Branch to UpdateEnv if we need to update
+IF DEFINED UPDATE (GOTO UpdateEnv)
+
+GOTO ExitBatch
+
+:: -----------------------------------------------------------------------------
+
+:UpdateEnv
+ECHO Making updated PATH go live . . .
+REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
+setx TEMPVAR 1 > nul 2>&1
+REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
+IF NOT !cmdcmdline! == !CMDLINERUNSTR! (CALL :KillExplorer)
+GOTO ExitBatch
+
+:: -----------------------------------------------------------------------------
+
+:ExitBatch
+ENDLOCAL
+PAUSE
+EXIT /b
+
+:: -----------------------------------------------------------------------------
+
+:AddPath <pathToAdd>
+ECHO %PATH% | FINDSTR /C:"%~1" > nul
+IF ERRORLEVEL 1 (
+ REG add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /f /v PATH /t REG_SZ /d "%PATH%;%~1" > nul 2>&1
+ IF ERRORLEVEL 0 (
+ ECHO Adding %1 . . . Success!
+ SET "PATH=%PATH%;%~1"
+ SET UPDATE=1
+ ) ELSE (
+ ECHO Adding %1 . . . FAILED. Run this script with administrator privileges.
+ )
+) ELSE (
+ ECHO Skipping %1 - Already in PATH
+ )
+EXIT /b
+
+:: -----------------------------------------------------------------------------
+
+:KillExplorer
+
+ECHO Your desktop is being restarted, please wait. . .
+ping -n 5 127.0.0.1 > NUL 2>&1
+ECHO Killing process Explorer.exe. . .
+taskkill /f /im explorer.exe
+ECHO.
+ECHO Your desktop is now loading. . .
+ping -n 5 127.0.0.1 > NUL 2>&1
+ECHO.
+ping -n 5 127.0.0.1 > NUL 2>&1
+START explorer.exe
+START explorer.exe %CD%
+EXIT /b \ No newline at end of file
diff --git a/BUILD_GUIDE.md b/BUILD_GUIDE.md
index 81c3ec44f2..f7a57d2fc9 100644
--- a/BUILD_GUIDE.md
+++ b/BUILD_GUIDE.md
@@ -3,11 +3,13 @@
## Build Environment Setup
### Windows
-1. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**.
-2. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location.
-3. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer.
-4. Right-click on the 1-setup-path-win batch script, select "Run as administrator", and accept the User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up.
-5. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete!
+1. If you have ever installed WinAVR, uninstall it.
+2. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**.
+3. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location.
+4. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/jackhumbert/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer.
+5. Right-click on the 1-setup-path-win batch script, select "Run as administrator", and accept the User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up.
+6. Right-click on the 2-setup-environment-win batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete!
+7. Future build commands should be run from the standard Windows command prompt, which you can find by searching for "command prompt" from the start menu or start screen. Ignore the "MHV AVR Shell".
### Mac
If you're using [homebrew,](http://brew.sh/) you can use the following commands:
@@ -25,12 +27,12 @@ You can also try these instructions:
3. Install [DFU-Programmer][dfu-prog].
### Linux
-Install AVR GCC and dfu-progammer with your favorite package manager.
+Install AVR GCC, AVR libc, and dfu-progammer with your favorite package manager.
Debian/Ubuntu example:
sudo apt-get update
- sudo apt-get install gcc-avr dfu-programmer
+ sudo apt-get install gcc-avr avr-libc dfu-programmer
### Vagrant
If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [VAGRANT_GUIDE file](VAGRANT_GUIDE.md).
@@ -42,7 +44,10 @@ If you have any problems building the firmware, you can try using a tool called
4. Once you're in the correct keyboard-specific folder, run the `make` command. This should output a lot of information about the build process.
## Customizing, Building, and Deploying Your Firmware
-1. Running the `make` command from your keyboard's folder will generate a .hex file based on the default keymap. All keymaps for a particular keyboard live in the `keymaps` folder in that keyboard's folder. To create your own keymap, copy `keymaps/default/keymap.c` to the `keymaps` folder, and rename it with your name, for example jack.c. Or, if you don't care about the ability to share your keymap with the community via GitHub, you can just modify the default keymap itself. Details on how to program keymap files can be found in other guides.
+
+Note: Some keyboard folders have non-standard organizations, and may not even support specifying alternate keymaps. Until these get reorganized, you will need to edit their default keymaps directly.
+
+1. Running the `make` command from your keyboard's folder will generate a .hex file based on the default keymap. All keymaps for a particular keyboard live in the `keymaps` folder in that keyboard's folder. To create your own keymap, copy `keymaps/default/keymap.c` to the `keymaps` folder, and rename it with your name, for example jack.c. Or, if you don't care about the ability to share your keymap with the community via GitHub, you can just modify the default keymap itself. Details on how to program keymap files can be found in other guides.
2. To build a keymap other than the default, type `KEYMAP=<name>` after `make`. So if I've named my keymap jack.c, the full command would be `make KEYMAP=jack`.
3. How you deploy the firmware will depend on whether you are using a PCB or a Teensy. In both cases, you'll need to put the keyboard in bootloader mode, either by pressing a button on the PCB/Teensy or pressing the key with the `RESET` keycode. Then, if you're using a PCB, just run `make KEYMAP=<name> dfu` to both build and deploy the firmware. If you're using a Teensy, you'll probably need to take the <keyboardname>.hex file that make produces in the keyboard's folder, and deploy it using the [Teensy Loader.](https://www.pjrc.com/teensy/loader.html)
@@ -52,4 +57,4 @@ If you have any problems building the firmware, you can try using a tool called
## Troubleshooting
1. Try running `make clean` if the make command fails.
- WIP \ No newline at end of file
+ WIP
diff --git a/README.md b/README.md
index 6a6bbed40b..9857330679 100644
--- a/