]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboard/planck/README.md
Update README.md
[qmk_firmware.git] / keyboard / planck / README.md
index cb009c005dc794d8e3786e41da5bb70970cc54da..84d5000bb44d35123d526827ca2c427c0fd5e247 100644 (file)
@@ -1,24 +1,63 @@
 Planck keyboard firmware
 ======================
-DIY/Assembled compact ortholinear keyboard by [Ortholinear Keyboards](http://ortholinearkeyboards.com).
+DIY/Assembled compact ortholinear 40% keyboard by [Ortholinear Keyboards](http://ortholinearkeyboards.com).
 
-## Notable TMK forks (which some of the keymap files are from)
-- [Shane's Fork](https://github.com/shanecelis/tmk_keyboard/tree/master/keyboard/planck)
-- [Pierre's Fork](https://github.com/pcarrier/tmk_keyboard/blob/pcarrier/planck/keyboard/gh60/keymap_planck.c)
-- [Nathan's Fork](https://github.com/nathanrosspowell/tmk_keyboard/tree/planck-jack/keyboard/planck)
-- [Matthew's Fork](https://github.com/pepers/tmk_keyboard/tree/master/keyboard/planck_grid)
+## Extended Keymap
+If you include extended_keymap_common.h instead of keymap_common.h at the top of your file, you'll have access to a bunch of goodies:
+
+- Use `LSFT()`, `LCTL()`, et. al. (listed in extended_keymap_common.h) as modifiers for keys (daisy-chain-able)
+- Use `FUNC(1)` instead of `FN1` (etc.) to access the function layers beyond the 32 function layer limit
+- Use `CM_F` instead of `KC_F` to get the ColeMak equivilent for shortcuts (maps backwards)
+- Use `MACRODOWN()` instead of `MACRO()` to easily make a keydown macro (`CM_*` works here too)
+
+### Some notes on usage:
+
+- The `KEYMAP()` macro is unable to be used due to the bitwise modifications that take place - refer to extended_keymap_jack.c to see how to set things up with the `KC_` prefix
+- Keep an eye on the Makefile - this needs to include the correct files to work
+- Don't forget to use `const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {` instead of the 8bit equivilent
 
 ## Build
-Move to this directory then just run `make` like:
 
-    $ make
+Follow [this guide](http://deskthority.net/workshop-f7/how-to-build-your-very-own-keyboard-firmware-t7177.html) to setup your development environment before anything else. Abbreviated instructions are provide at the [bottom of this document](https://github.com/rswiernik/tmk_keyboard/tree/rswiernik_dev/keyboard/planck#environment-setup)
+
+Download the whole firmware [here](https://github.com/jackhumbert/tmk_keyboard/archive/master.zip) and navigate to the keyboard/planck folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex that you can load with the Teensy app onto your Planck (once you've hit reset/shorted GND & RST). 
+
+Depending on which keymap you would like to use, you will have to compile slightly differently.
+
+####Default
+To build the default keymap, simply move to the tmk\_keyboard/keyboard/planck/ and run `make` as follows:
+```
+$ make
+```
 
-Use `make -f Makefile.pjrc` if you want to use PJRC stack but I find no reason to do so now.
+####**Extended Keymaps**
 
+Extended keymaps need to be specified as follows:
+```
+$ make KEYMAP=[common|jack|<name>]
+```
+Applicable keymaps should follow the format **__extended\_keymap\_name.c__**
+
+####**Common Keymaps**
+
+Common keymaps need to be specified as follows:
+```
+$ make KEYMAP=[common|jack|<name>] COMMON=true
+```
+Applicable keymaps should follow the format **__keymap\_name.c__**
 
 ## Keymap
-Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_<name>.c` and see keymap document(you can find in top README.md) and existent keymap files.
+Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_<name>.c` and see keymap document (you can find in top README.md) and existent keymap files.
 
 To build firmware binary hex file with a certain keymap just do `make` with `KEYMAP` option like:
 
     $ make KEYMAP=[<name>]
+
+## Notable TMK forks (which some of the keymap files are from)
+- [Shane's Fork](https://github.com/shanecelis/tmk_keyboard/tree/master/keyboard/planck)
+- [Pierre's Fork](https://github.com/pcarrier/tmk_keyboard/blob/pcarrier/planck/keyboard/gh60/keymap_planck.c)
+- [Nathan's Fork](https://github.com/nathanrosspowell/tmk_keyboard/tree/planck-jack/keyboard/planck)
+- [Matthew's Fork](https://github.com/pepers/tmk_keyboard/tree/master/keyboard/planck_grid)
+
+## Environment Setup
+