summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboard/infinity/Makefile7
-rw-r--r--keyboard/infinity/config.h4
-rw-r--r--keyboard/infinity/keymap.c3
-rw-r--r--keyboard/infinity/keymap_common.h28
4 files changed, 37 insertions, 5 deletions
diff --git a/keyboard/infinity/Makefile b/keyboard/infinity/Makefile
index 758296f335..e33c239afb 100644
--- a/keyboard/infinity/Makefile
+++ b/keyboard/infinity/Makefile
@@ -12,11 +12,16 @@ OBJDIR = ./build
OBJECTS = \
$(OBJDIR)/matrix.o \
- $(OBJDIR)/keymap.o \
$(OBJDIR)/keymap_common.o \
$(OBJDIR)/led.o \
$(OBJDIR)/main.o
+ifdef KEYMAP
+ OBJECTS := $(OBJDIR)/keymap_$(KEYMAP).o $(OBJECTS)
+else
+ OBJECTS := $(OBJDIR)/keymap.o $(OBJECTS)
+endif
+
CONFIG_H = config.h
INCLUDE_PATHS = -I.
diff --git a/keyboard/infinity/config.h b/keyboard/infinity/config.h
index 28f2ca0293..dc734dbdbe 100644
--- a/keyboard/infinity/config.h
+++ b/keyboard/infinity/config.h
@@ -36,4 +36,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key combination for command */
#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))
+
+/* for prototype */
+//#define INFINITY_PROTOTYPE
+
#endif
diff --git a/keyboard/infinity/keymap.c b/keyboard/infinity/keymap.c
index 100142f41c..4726cee653 100644
--- a/keyboard/infinity/keymap.c
+++ b/keyboard/infinity/keymap.c
@@ -20,6 +20,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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,FN0, \
NO, LGUI,LALT, SPC, RALT,RGUI,NO, NO),
+
/* Layer 1: HHKB mode (HHKB Fn)
* ,-----------------------------------------------------------.
* |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
@@ -33,7 +34,7 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | |Gui|Alt | Space |Alt |Gui| | |
* `-----------------------------------------------------------'
*/
- [1]=
+ [1] =
KEYMAP(PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \
CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS, UP, TRNS, BSPC, \
TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT,PENT, \
diff --git a/keyboard/infinity/keymap_common.h b/keyboard/infinity/keymap_common.h
index 7a5f778f2d..b0f765bfeb 100644
--- a/keyboard/infinity/keymap_common.h
+++ b/keyboard/infinity/keymap_common.h
@@ -33,9 +33,9 @@ extern const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
extern const uint16_t fn_actions[];
-/* GH60 keymap definition macro
- * K2C, K31 and K3C are extra keys for ISO
- */
+#ifdef INFINITY_PROTOTYPE
+
+/* Infinity prototype */
#define KEYMAP( \
K00, K10, K20, K30, K40, K50, K60, K70, K80, K01, K11, K21, K31, K41, K86, \
K51, K61, K71, K81, K02, K12, K22, K32, K42, K52, K62, K72, K82, K03, \
@@ -54,5 +54,27 @@ extern const uint16_t fn_actions[];
{ KC_##K80, KC_##K81, KC_##K82, KC_##K83, KC_##K84, KC_##K85, KC_##K86 } \
}
+#else
+
+/* Infinity production */
+#define KEYMAP( \
+ K00, K10, K20, K30, K40, K50, K60, K70, K80, K01, K11, K21, K31, K41, K51, \
+ K61, K71, K81, K02, K12, K22, K32, K42, K52, K62, K72, K82, K03, K13, \
+ K23, K33, K43, K53, K63, K73, K83, K04, K14, K24, K34, K44, K54, \
+ K64, K74, K84, K05, K15, K25, K35, K45, K55, K65, K75, K85, K06, \
+ K16, K26, K36, K46, K56, K66, K76, K86 \
+) { \
+ { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06 }, \
+ { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16 }, \
+ { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26 }, \
+ { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36 }, \
+ { KC_##K40, KC_##K41, KC_##K42, KC_##K43, KC_##K44, KC_##K45, KC_##K46 }, \
+ { KC_##K50, KC_##K51, KC_##K52, KC_##K53, KC_##K54, KC_##K55, KC_##K56 }, \
+ { KC_##K60, KC_##K61, KC_##K62, KC_##K63, KC_##K64, KC_##K65, KC_##K66 }, \
+ { KC_##K70, KC_##K71, KC_##K72, KC_##K73, KC_##K74, KC_##K75, KC_##K76 }, \
+ { KC_##K80, KC_##K81, KC_##K82, KC_##K83, KC_##K84, KC_##K85, KC_##K86 } \
+}
+
#endif
+#endif