~ruther/qmk_firmware

61b4d273daa43ba27846fd67d3e11091d2874513 — Jack Humbert 10 years ago 71f7713 + eadb08b
Merge pull request #13 from rswiernik/master

Updated Readme and Build info
3 files changed, 117 insertions(+), 20 deletions(-)

M keyboard/planck/Makefile
M keyboard/planck/README.md
A keyboard/planck/keymap_reed.c
M keyboard/planck/Makefile => keyboard/planck/Makefile +20 -13
@@ 47,20 47,25 @@ TOP_DIR = ../..
# Directory keyboard dependent files exist
TARGET_DIR = .



# # project specific files
# SRC =	keymap_common.c \
# 	matrix_handwire.c \
# 	led.c \
# 	backlight.c

# ifdef KEYMAP
#     SRC := keymap_$(KEYMAP).c $(SRC)
# else
#     SRC := keymap_jack.c $(SRC)
# endif

# project specific files
SRC =	extended_keymap_common.c \
ifdef COMMON_KEYMAP

	SRC = keymap_common.c \
	matrix_handwire.c \
	led.c \
	backlight.c

ifdef KEYMAP
    SRC := keymap_$(KEYMAP).c $(SRC)
else
    SRC := keymap_jack.c $(SRC)
endif

else

SRC = extended_keymap_common.c \
	matrix_handwire.c \
	led.c \
	backlight.c


@@ 71,6 76,8 @@ else
    SRC := extended_keymap_jack.c $(SRC)
endif

endif

CONFIG_H = config.h

# MCU name

M keyboard/planck/README.md => keyboard/planck/README.md +23 -7
@@ 18,23 18,39 @@ If you include extended_keymap_common.h instead of keymap_common.h at the top of

## Build

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.
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).
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). 

Move to this directory then just run `make` like:
Depending on which keymap you would like to use, you will have to compile slightly differently.

    $ make
####Default
To build with the default keymap, simply move to the tmk\_keyboard/keyboard/planck/ and run `make` as follows:
```
$ make
```

## 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.
    
####**Extended Keymaps**

To build firmware binary hex file with a certain keymap just do `make` with `KEYMAP` option like:
To build the firmware binary hex file with an extended keymap just do `make` with `KEYMAP` option like:
```
$ make KEYMAP=[common|jack|<name>]
```
_The only applicable keymaps will work with this option._ Extended keymaps follow the format **__extended\_keymap\_\<name\>.c__**

    $ make KEYMAP=[<name>]
####**Common Keymaps**

Building with a common keymap is as simple as adding the COMMON option. Note that only 
```
$ make KEYMAP=[common|jack|<name>] COMMON=true
```
_The only applicable keymaps will work with this option._ Common keymaps follow the format **__keymap\_\<name\>.c__**

## 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)
\ No newline at end of file
- [Matthew's Fork](https://github.com/pepers/tmk_keyboard/tree/master/keyboard/planck_grid)

A keyboard/planck/keymap_reed.c => keyboard/planck/keymap_reed.c +74 -0
@@ 0,0 1,74 @@
#include "keymap_common.h"

/*
 * BUILD:
 * Simply run the command below in the keyboard/planck directory
 * to build against this keymap
 *
 *    make KEYMAP=reed COMMON_KEYMAP=true
 *
 *
 * DETAILS:
 *
 * This layout works off of Jack's layout, making some changes that I
 * feel significantly improve the function of the keyboard. Major changes
 * include adding a "gaming mode" that will allow users to still access
 * the number keys 1 through 4 easily for games that require it. Also
 * included is the ability to use the tap/hold function for easy use of
 * right shift and thumb shift with their tapped companions.
 *
 */
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = KEYMAP_GRID( /* Reed */
  ESC,  Q,    W,    E,    R,    T,    Y,    U,    I,    O,    P,    BSPC,
  TAB,  A,    S,    D,    F,    G,    H,    J,    K,    L,    SCLN, QUOT,
  LSFT, Z,    X,    C,    V,    B,    N,    M,    COMM, DOT,  SLSH, FN5,
  LCTL, CAPS, LALT, LGUI, FN2, FN7,  SPC,  FN1,   LEFT, DOWN, UP,  RGHT),

[1] = KEYMAP_GRID( /* Reed EXTREME GAMING */
  ESC,  Q,    W,    E,    R,    T,    Y,    U,    I,    O,    P,    BSPC,
  TAB,  A,    S,    D,    F,    G,    H,    J,    K,    L,    SCLN, QUOT,
  LSFT, Z,    X,    C,    V,    B,    N,    M,    COMM, DOT,  SLSH, FN5,
  LCTL, 1,    2,    3,    4,   SPC,  FN2,  FN1,   LEFT, DOWN, UP,  RGHT),

[2] = KEYMAP_GRID( /* Reed RAISE */
  GRV,  1,    2,    3,    4,    5,    6,    7,    8,    9,    0,    BSPC,
  TRNS, FN3, FN4, PAUSE, TRNS, TRNS, TRNS, MINS, EQL,  LBRC, RBRC, BSLS,
  TRNS, F1,   F2,    F3,   F4,    F5,    F6,   F7,   F8,   F9,   F10,  TRNS,
  TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN1, MNXT, VOLD, VOLU, MPLY),

[3] = KEYMAP_GRID( /* Reed LOWER */
  TRNS	, FN10, FN11, FN12, FN13, FN14, FN15, FN16, FN17, FN18, FN19, DEL,
  TRNS, TRNS, TRNS, PAUSE, TRNS, TRNS, TRNS, FN20, FN21, FN23, FN24, FN28,
  TRNS, F11,  F12,  F13,  F14,  F15,  F16,  F17,  F18,  F19,  F20, TRNS,
  TRNS, TRNS, TRNS, TRNS, FN2,  TRNS, TRNS, TRNS, MNXT, VOLD, VOLU, MPLY),
};
const uint16_t PROGMEM fn_actions[] = {
    [1] = ACTION_LAYER_MOMENTARY(2),  // to Fn overlay - RAISE
    [2] = ACTION_LAYER_MOMENTARY(3),  // to Fn overlay - LOWER

    [3] = ACTION_DEFAULT_LAYER_SET(0),
    [4] = ACTION_DEFAULT_LAYER_SET(1),
	// Actions for the tap/hold modifiers listed above
    [5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_ENT),
    [7] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_BSPC),
	
    [10] = ACTION_MODS_KEY(MOD_LSFT, KC_1),
    [11] = ACTION_MODS_KEY(MOD_LSFT, KC_2),
    [12] = ACTION_MODS_KEY(MOD_LSFT, KC_3),
    [13] = ACTION_MODS_KEY(MOD_LSFT, KC_4),
    [14] = ACTION_MODS_KEY(MOD_LSFT, KC_5),
    [15] = ACTION_MODS_KEY(MOD_LSFT, KC_6),
    [16] = ACTION_MODS_KEY(MOD_LSFT, KC_7),
    [17] = ACTION_MODS_KEY(MOD_LSFT, KC_8),
    [18] = ACTION_MODS_KEY(MOD_LSFT, KC_9),
    [19] = ACTION_MODS_KEY(MOD_LSFT, KC_0),
    [20] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS),
    [21] = ACTION_MODS_KEY(MOD_LSFT, KC_EQL),
    [22] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV),
    [23] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC),
    [24] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC),
    [28] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS),

    [29] = ACTION_MODS_KEY(MOD_LSFT | MOD_RSFT, KC_PAUSE),
};