From 0c1d98bd3c0b0ea4f109d2515521f1fcbccf3d3f Mon Sep 17 00:00:00 2001
From: tmk <nobody@nowhere>
Date: Fri, 15 Feb 2013 15:24:50 +0900
Subject: [PATCH] Add poker keymap with layer stacking

---
 keyboard/gh60/Makefile.lufa  |  3 +++
 keyboard/gh60/Makefile.pjrc  |  3 +++
 keyboard/gh60/keymap.c       |  2 ++
 keyboard/gh60/keymap_poker.h | 12 ++++++------
 4 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/keyboard/gh60/Makefile.lufa b/keyboard/gh60/Makefile.lufa
index c8d3fa494..7548d4785 100644
--- a/keyboard/gh60/Makefile.lufa
+++ b/keyboard/gh60/Makefile.lufa
@@ -124,3 +124,6 @@ plain: all
 
 poker: OPT_DEFS += -DKEYMAP_POKER
 poker: all
+
+poker_stack: OPT_DEFS += -DKEYMAP_POKER_STACK
+poker_stack: all
diff --git a/keyboard/gh60/Makefile.pjrc b/keyboard/gh60/Makefile.pjrc
index f253704fa..8bca1659b 100644
--- a/keyboard/gh60/Makefile.pjrc
+++ b/keyboard/gh60/Makefile.pjrc
@@ -94,3 +94,6 @@ plain: all
 
 poker: OPT_DEFS += -DKEYMAP_POKER
 poker: all
+
+poker_stack: OPT_DEFS += -DKEYMAP_POKER_STACK
+poker_stack: all
diff --git a/keyboard/gh60/keymap.c b/keyboard/gh60/keymap.c
index a17c11fc3..9438782f2 100644
--- a/keyboard/gh60/keymap.c
+++ b/keyboard/gh60/keymap.c
@@ -64,6 +64,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     #include "keymap_plain.h"
 #elif defined(KEYMAP_POKER)
     #include "keymap_poker.h"
+#elif defined(KEYMAP_POKER_STACK)
+    #include "keymap_poker_stack.h"
 #else
 static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /*
diff --git a/keyboard/gh60/keymap_poker.h b/keyboard/gh60/keymap_poker.h
index a668b9db4..7dc4efe01 100644
--- a/keyboard/gh60/keymap_poker.h
+++ b/keyboard/gh60/keymap_poker.h
@@ -18,7 +18,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     KEYMAP_ANSI(
         GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC, \
         TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS, \
-        CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,  \
+        LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,  \
         LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT, \
         LCTL,LGUI,LALT,          SPC,                     FN2, RGUI,APP, RCTL),
     /* Layer x001: Poker with Arrow */
@@ -48,28 +48,28 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Layer x100: Poker Default + Fn'd */
     KEYMAP_ANSI(
         ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
-        TRNS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
+        CAPS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
         TRNS,TRNS,TRNS,          FN0,                     FN2, TRNS,TRNS,TRNS),
     /* Layer x101: Poker with Arrow + Fn'd */
     KEYMAP_ANSI(
         ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
-        TRNS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
+        CAPS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           PGUP, \
         TRNS,TRNS,TRNS,          FN0,                     FN2, HOME,PGDN,END),
     /* Layer x110: Poker with Esc + Fn'd */
     KEYMAP_ANSI(
         GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
-        TRNS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
+        CAPS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
         TRNS,TRNS,TRNS,          FN0,                     FN2, TRNS,TRNS,TRNS),
     /* Layer x111: Poker with Arrow and Esc + Fn'd */
     KEYMAP_ANSI(
         GRV, F9,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
-        TRNS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
+        CAPS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           PGUP, \
         TRNS,TRNS,TRNS,          FN0,                     FN2, HOME,PGDN,END),
@@ -84,7 +84,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     KEYMAP_ANSI(
         GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   LBRC,RBRC,BSPC, \
         TAB, QUOT,COMM,DOT, P,   Y,   F,   G,   C,   R,   L,   SLSH,EQL, BSLS, \
-        CAPS,A,   O,   E,   U,   I,   D,   H,   T,   N,   S,   MINS,     ENT,  \
+        LCTL,A,   O,   E,   U,   I,   D,   H,   T,   N,   S,   MINS,     ENT,  \
         LSFT,SCLN,Q,   J,   K,   X,   B,   M,   W,   V,   Z,             RSFT, \
         LCTL,LGUI,LALT,          SPC,                     FN2, RGUI,APP, RCTL),
     /* workman */