~ruther/qmk_firmware

68f48fcc58a44727a9da02c861b14ab20bb2c68e — Jack Humbert 10 years ago a53efa4
guide
M keyboard/planck/PCB_GUIDE.md => keyboard/planck/PCB_GUIDE.md +1 -1
@@ 33,7 33,7 @@ Generally, the instructions to flash the PCB are as follows:
2. Save the file
3. `make clean`
4. Press the reset button on the PCB/press the key with the `RESET` keycode
5. `make dfu` - use the necessary `KEYMAP=<keymap>` or `COMMON=true` here.
5. `make <arguments> dfu` - use the necessary `KEYMAP=<keymap>` and/or `COMMON=true` arguments here.

## Extended keymap


M keyboard/planck/common_keymaps/keymap_shane.c => keyboard/planck/common_keymaps/keymap_shane.c +21 -23
@@ 1,5 1,3 @@
// https://github.com/shanecelis/tmk_keyboard/blob/master/keyboard/planck/keymap_shane.c

#include "keymap_common.h"
#include "action_layer.h"
#include "action.h"


@@ 11,30 9,30 @@
*/
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [0] = KEYMAP_AND_SWAP( /* Base */
    TAB,	Q,	W,	E,	R,	T,	Y,	U,	I,	O,	P,	MINS,
    LCTL,	A,	S,	D,	F,	G,	H,	J,	K,	L,	SCLN,	BSPC,
    LSFT,	Z,	X,	C,	V,	B,	N,	M,	COMM,	DOT,	SLSH,	FN5,
    /*ALPHA*/FN3,	/*HYPER*/	/*SUPER*/LGUI, /*META*/LALT, LCTL,	FN2,	FN6,	FN1,	LEFT,	DOWN,	UP,	RGHT),
    TAB,  Q,  W,  E,  R,  T,  Y,  U,  I,  O,  P,  MINS,
    LCTL, A,  S,  D,  F,  G,  H,  J,  K,  L,  SCLN, BSPC,
    LSFT, Z,  X,  C,  V,  B,  N,  M,  COMM, DOT,  SLSH, FN5,
    /*ALPHA*/FN3, /*HYPER*/ /*SUPER*/LGUI, /*META*/LALT, LCTL,  FN2,  FN6,  FN1,  LEFT, DOWN, UP, RGHT),
  [2] = KEYMAP_AND_SWAP( /* More modifiers */
    TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,
    TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,
    TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,
    TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS, RCTL, RALT, RGUI,	TRNS),
    TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
    TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
    TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
    TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RCTL, RALT, RGUI, TRNS),
  [4] = KEYMAP_AND_SWAP( /* WASD */
    TRNS,	TRNS,	UP,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,
    TRNS,	LEFT,	DOWN,	RIGHT,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,
    TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,
    TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS, TRNS, TRNS, TRNS, TRNS),
    TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
    TRNS, LEFT, DOWN, RIGHT,  TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
    TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
    TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
  [6] = KEYMAP_AND_SWAP( /* Raise/FN1 */
    FN23,	1,	2,	3,	4,	5,	6,	7,	8,	9,	0,	EQL,
    TRNS,	F1,	F2,	F3,	F4,	F5,	F6,	F7,	F8,	F9,	F10,	ENT,
    TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	BSLS,	TRNS,
    PAUS,	TRNS,	TRNS,	TRNS,	TRNS,	BSPC,	TRNS,	MUTE,	PGUP,	PGDN,	MNXT),
    FN23, 1,  2,  3,  4,  5,  6,  7,  8,  9,  0,  EQL,
    TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10,  ENT,
    TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, BSLS, TRNS,
    PAUS, TRNS, TRNS, TRNS, TRNS, BSPC, TRNS, MUTE, PGUP, PGDN, MNXT),
  [8] = KEYMAP_AND_SWAP( /* Lower/FN2 */
    ESC,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	FN19,	FN20,	TRNS,
    TRNS,	TRNS,	TRNS,	TRNS,	CAPS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	QUOT,
    TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	TRNS,	FN24,	FN25,	LBRC,	RBRC,	TRNS,	TRNS,
    FN4,	TRNS,	TRNS,	TRNS,	TRNS,	ENT,	TRNS,	MPLY,	VOLD,	VOLU,	MPRV),
    ESC,  TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN19, FN20, TRNS,
    TRNS, TRNS, TRNS, TRNS, CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, QUOT,
    TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN24, FN25, LBRC, RBRC, TRNS, TRNS,
    FN4,  TRNS, TRNS, TRNS, TRNS, ENT,  TRNS, MPLY, VOLD, VOLU, MPRV),
};

enum function_id {


@@ 97,4 95,4 @@ const uint16_t PROGMEM fn_actions[] = {
  [24] = ACTION_MODS_KEY(MOD_LSFT, KC_LBRC),
  [25] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC),
  [26] = ACTION_MODS_KEY(MOD_LSFT, KC_BSLS),
};
};
\ No newline at end of file

M keyboard/planck/keymap_common.h => keyboard/planck/keymap_common.h +43 -0
@@ 82,5 82,48 @@ extern const uint16_t fn_actions[];
    { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B }  \
}

#define KEYMAP_REVERSE(                                                 \
  K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B,           \
  K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B,           \
  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,           \
  K30, K31, K32, K33, K34,    K35,   K37, K38, K39, K3A, K3B            \
  ) {                                                                   \
    { KC_##K0B, KC_##K0A, KC_##K09, KC_##K08, KC_##K07, KC_##K06, KC_##K05, KC_##K04, KC_##K03, KC_##K02, KC_##K01, KC_##K00 }, \
    { KC_##K1B, KC_##K1A, KC_##K19, KC_##K18, KC_##K17, KC_##K16, KC_##K15, KC_##K14, KC_##K13, KC_##K12, KC_##K11, KC_##K10 }, \
    { KC_##K2B, KC_##K2A, KC_##K29, KC_##K28, KC_##K27, KC_##K26, KC_##K25, KC_##K24, KC_##K23, KC_##K22, KC_##K21, KC_##K20 }, \
    { KC_##K3B, KC_##K3A, KC_##K39, KC_##K38, KC_##K37, KC_##K35, KC_##K35, KC_##K34, KC_##K33, KC_##K32, KC_##K31, KC_##K30 },   \
            }

#define KEYMAP_AND_REVERSE(args...) KEYMAP(args), KEYMAP_REVERSE(args)

#define KEYMAP_SWAP(                                                    \
  K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B,           \
  K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B,           \
  K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,           \
  K30, K31, K32, K33, K34,    K35,   K37, K38, K39, K3A, K3B            \
  ) {                                                                   \
    { KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05 }, \
    { KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15 }, \
    { KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25 }, \
    { KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K35, KC_##K35, KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34 },    \
}

#define KEYMAP_AND_SWAP(args...) KEYMAP(args), KEYMAP_SWAP(args)

/*
   Keymap for the Planck 48 key variant.
 */
#define KEYMAP_48( \
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B  \
) { \
    { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B }, \
    { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B }, \
    { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B }, \
    { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B }, \
}


#endif