summaryrefslogtreecommitdiff
path: root/keyboards/montsinger/rebound
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/montsinger/rebound')
-rw-r--r--keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/keymap.c101
-rw-r--r--keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/layouts.h113
-rw-r--r--keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/readme.md5
-rw-r--r--keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/rules.mk16
4 files changed, 235 insertions, 0 deletions
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/keymap.c b/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/keymap.c
new file mode 100644
index 0000000000..59f2a23733
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/keymap.c
@@ -0,0 +1,101 @@
+/*
+ Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#include "ericgebhart.h"
+#include "layouts.h"
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // Qwerty based Base layers
+ [_DVORAK] = Rebound_base(___DVORAK___),
+ [_BEAKL] = Rebound_base(___BEAKL15___),
+ [_COLEMAK] = Rebound_base(___COLEMAK_DH___),
+ [_QWERTY] = Rebound_base(___QWERTY___),
+
+ // Bepo base layers
+ [_BEAKL_BP] = Rebound_base_bepo(___BEAKL15_FR___),
+ [_DVORAK_BP] = Rebound_base_bepo(___DVORAK_FR___),
+ [_BEPO] = Rebound_base_bepo6(___BEPO6___),
+
+ // Transient layers.
+ [_SYMB] = Rebound_transient(___SYMB_BEAKLA_3x12___),
+ [_SYMB_BP] = Rebound_transient(___SYMB_BEAKLA_BP_3x12___),
+
+ [_KEYPAD] = Rebound_transient(___KP_C_3x12___),
+ [_KEYPAD_BP] = Rebound_transient(___KP_C_BP_3x12___),
+
+ [_TOPROWS] = Rebound_transient(___TOPROWS_3x12___),
+ [_TOPROWS_BP] = Rebound_transient(___TOPROWS_BP_3x12___),
+ [_NAV] = Rebound_transient(___NAV_3x12___),
+ [_LAYERS] = Rebound_transient(___LAYERS_3x12___),
+};
+
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ switch(get_highest_layer(layer_state)){
+ case _DVORAK:
+ if (clockwise) {
+ tap_code16(KC_VOLD);
+ } else {
+ tap_code16(KC_VOLU);
+ }
+ break;
+
+ case _NAV:
+ if (clockwise) {
+ tap_code16(S(KC_TAB));
+ } else {
+ tap_code16(KC_TAB);
+ }
+ break;
+ }
+ return true;
+}
+
+#ifdef OLED_ENABLE
+void oled_task_user(void) {
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR(""), false);
+
+ switch (get_highest_layer(layer_state)) {
+ case _BASE:
+ oled_write_P(PSTR("Rebound\n"), false);
+ oled_write_P(PSTR("Rev4\n"), false);
+ break;
+ case _NAV:
+ oled_write_P(PSTR("Nav\n"), false);
+ break;
+ case _SYMB_BEAKL:
+ case _SYMB:
+ oled_write_P(PSTR("Symbols\n"), false);
+ break;
+ case _KEYPAD:
+ oled_write_P(PSTR("Top Rows\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+
+}
+
+#endif
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/layouts.h b/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/layouts.h
new file mode 100644
index 0000000000..f6b7fc1513
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/layouts.h
@@ -0,0 +1,113 @@
+/*
+ Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+/********************************************************************/
+/* Rebound 4 rows, 1x12, 3x13 */
+/********************************************************************/
+
+#define LVARG_rebound(...) LAYOUT_all(__VA_ARGS__)
+#define LAYOUT_rebound_base( \
+ K01, K02, K03, K04, K05, \
+ K06, K07, K08, K09, K0A, \
+ K11, K12, K13, K14, K15, \
+ K16, K17, K18, K19, K1A, \
+ K21, K22, K23, K24, K25, \
+ K26, K27, K28, K29, K2A \
+ ) \
+ LVARG_rebound( \
+ ROW1_LEFT(K01, K02, K03, K04, K05), \
+ ROW1_RIGHT(K06, K07, K08, K09, K0A), \
+ \
+ ROW2_LEFT(K11, K12, K13, K14, K15), \
+ KC_CCCV, \
+ ROW2_RIGHT(K16, K17, K18, K19, K1A), \
+ \
+ ROW3_LEFT(K21, K22, K23, K24, K25), \
+ MO(_ADJUST), \
+ ROW3_RIGHT(K26, K27, K28, K29, K2A), \
+ ___13_BOTTOM___ \
+ )
+
+#define LAYOUT_rebound_base_bepo( \
+ K01, K02, K03, K04, K05, \
+ K06, K07, K08, K09, K0A, \
+ K11, K12, K13, K14, K15, \
+ K16, K17, K18, K19, K1A, \
+ K21, K22, K23, K24, K25, \
+ K26, K27, K28, K29, K2A \
+ ) \
+ LVARG_rebound( \
+ ROW1_LEFT_BP(K01, K02, K03, K04, K05), \
+ ROW1_RIGHT_BP(K06, K07, K08, K09, K0A), \
+ \
+ ROW2_LEFT_BP(K11, K12, K13, K14, K15), \
+ KC_CCCV, \
+ ROW2_RIGHT_BP(K16, K17, K18, K19, K1A), \
+ \
+ ROW3_LEFT_BP(K21, K22, K23, K24, K25), \
+ MO(_ADJUST), \
+ ROW3_RIGHT_BP(K26, K27, K28, K29, K2A), \
+ ___13_BOTTOM_BP___ \
+ )
+
+// Just for bepo because it's a 3x6 matrix on each side.
+// So 3 pairs of 6 keys, left and right.
+#define LAYOUT_rebound_base_bepo6( \
+ K01, K02, K03, K04, K05, K06, \
+ K07, K08, K09, K0A, K0B, K0C, \
+ K11, K12, K13, K14, K15, K16, \
+ K17, K18, K19, K1A, K1B, K1C, \
+ K21, K22, K23, K24, K25, K26, \
+ K27, K28, K29, K2A, K2B, K2C \
+ ) \
+ LVARG_rebound( \
+ ROW1_LEFT_BP6(K01, K02, K03, K04, K05, K06), \
+ ROW1_RIGHT_BP6(K07, K08, K09, K0A, K0B, K0C), \
+ \
+ ROW2_LEFT_BP6(K11, K12, K13, K14, K15, K16), \
+ KC_CCCV, \
+ ROW2_RIGHT_BP6(K17, K18, K19, K1A, K1B, K1C), \
+ \
+ ROW3_LEFT_BP6(K21, K22, K23, K24, K25, K26), \
+ MO(_ADJUST), \
+ ROW3_RIGHT_BP6(K27, K28, K29, K2A, K2B, K2C), \
+ ___13_BOTTOM_BP___ \
+ )
+
+#define LAYOUT_rebound_transient( \
+ K01, K02, K03, K04, K05, K06, \
+ K07, K08, K09, K0A, K0B, K0C, \
+ K11, K12, K13, K14, K15, K16, \
+ K17, K18, K19, K1A, K1B, K1C, \
+ K21, K22, K23, K24, K25, K26, \
+ K27, K28, K29, K2A, K2B, K2C \
+ ) \
+ LVARG_rebound( \
+ K01, K02, K03, K04, K05, K06, \
+ K07, K08, K09, K0A, K0B, K0C, \
+ K11, K12, K13, K14, K15, K16, \
+ ___, \
+ K17, K18, K19, K1A, K1B, K1C, \
+ K21, K22, K23, K24, K25, K26, \
+ ___, \
+ K27, K28, K29, K2A, K2B, K2C, \
+ ___, ___12___)
+
+#define Rebound_base(...) LAYOUT_rebound_base(__VA_ARGS__)
+#define Rebound_base_bepo(...) LAYOUT_rebound_base_bepo(__VA_ARGS__)
+#define Rebound_base_bepo6(...) LAYOUT_rebound_base_bepo6(__VA_ARGS__)
+#define Rebound_transient(...) LAYOUT_rebound_transient(__VA_ARGS__)
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/readme.md b/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/readme.md
new file mode 100644
index 0000000000..3a47968596
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/readme.md
@@ -0,0 +1,5 @@
+Overview
+========
+
+These are my keymaps. There isn't much here. Go take a look at my Userspace readme.
+That's where all the code is.
diff --git a/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/rules.mk b/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/rules.mk
new file mode 100644
index 0000000000..cf27df39b8
--- /dev/null
+++ b/keyboards/montsinger/rebound/rev4/keymaps/ericgebhart/rules.mk
@@ -0,0 +1,16 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = yes # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output
+UNICODE_ENABLE = no # Unicode
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+TAP_DANCE_ENABLE = yes # Enable the tap dance feature.