summaryrefslogtreecommitdiff
path: root/keyboards/getta25/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/getta25/keymaps')
-rw-r--r--keyboards/getta25/keymaps/default/config.h24
-rw-r--r--keyboards/getta25/keymaps/default/keymap.c61
-rw-r--r--keyboards/getta25/keymaps/oled/config.h25
-rw-r--r--keyboards/getta25/keymaps/oled/glcdfont.c231
-rw-r--r--keyboards/getta25/keymaps/oled/keymap.c204
5 files changed, 545 insertions, 0 deletions
diff --git a/keyboards/getta25/keymaps/default/config.h b/keyboards/getta25/keymaps/default/config.h
new file mode 100644
index 0000000000..8c4e1f5129
--- /dev/null
+++ b/keyboards/getta25/keymaps/default/config.h
@@ -0,0 +1,24 @@
+/* Copyright 2018 Salicylic_acid3
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+/* Select hand configuration */
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 180
+
+
diff --git a/keyboards/getta25/keymaps/default/keymap.c b/keyboards/getta25/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a70df01c18
--- /dev/null
+++ b/keyboards/getta25/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
+#include QMK_KEYBOARD_H
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_number {
+ _BASE,
+ _ARROW,
+ _ADJUST,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ //,-----------------------------------|
+LT(_ADJUST,KC_ESC), KC_F2, KC_EQL, KC_DEL,
+ //|--------+--------+--------+--------|
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ //|--------+--------+--------+--------+--------|
+ KC_P7, KC_P8, KC_P9, KC_ESC,
+ //|--------+--------+--------+--------+--------|
+ KC_P4, KC_P5, KC_P6, KC_PPLS, KC_F2,
+ //|--------+--------+--------+--------+--------|
+ KC_P1, KC_P2, KC_P3, KC_DEL,
+ //|--------+--------+--------+--------+--------|
+LT(_ARROW, KC_P0), KC_PDOT, KC_PENT, KC_BSPC
+ //`--------------------------------------------'
+ ),
+
+ [_ARROW] = LAYOUT(
+ //,-----------------------------------|
+ _______, _______, _______, _______,
+ //|--------+--------+--------+--------|
+ XXXXXXX, _______, _______, _______,
+ //|--------+--------+--------+--------+--------|
+ XXXXXXX, KC_UP, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______,
+ //|--------+--------+--------+--------+--------|
+ XXXXXXX, KC_DOWN, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ MO(_ARROW), _______, _______, _______
+ //`--------------------------------------------'
+ ),
+
+ [_ADJUST] = LAYOUT( /* Base */
+ //,-----------------------------------|
+ MO(_ADJUST), _______, _______, _______,
+ //|--------+--------+--------+--------|
+ XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ RGB_SAD, RGB_SAI, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, _______,
+ //|--------+--------+--------+--------+--------|
+ RGB_VAD, RGB_VAI, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ _______, _______, RGB_MOD, _______
+ //`--------------------------------------------'
+ )
+};
diff --git a/keyboards/getta25/keymaps/oled/config.h b/keyboards/getta25/keymaps/oled/config.h
new file mode 100644
index 0000000000..be988915c2
--- /dev/null
+++ b/keyboards/getta25/keymaps/oled/config.h
@@ -0,0 +1,25 @@
+/* Copyright 2018 Salicylic_acid3
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+/* Select hand configuration */
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 180
+
+#define OLED_FONT_H "keyboards/getta25/keymaps/oled/glcdfont.c"
+
diff --git a/keyboards/getta25/keymaps/oled/glcdfont.c b/keyboards/getta25/keymaps/oled/glcdfont.c
new file mode 100644
index 0000000000..939db32ca6
--- /dev/null
+++ b/keyboards/getta25/keymaps/oled/glcdfont.c
@@ -0,0 +1,231 @@
+// 'loveLain', 128x32px
+
+#include "progmem.h"
+
+static const unsigned char font[] PROGMEM = {
+0x00,0x00,0x00,0x00,0x00,0x00, // 00
+0x3E,0x5B,0x4F,0x5B,0x3E,0x00, // 01
+0x3E,0x6B,0x4F,0x6B,0x3E,0x00, // 02
+0x1C,0x3E,0x7C,0x3E,0x1C,0x00, // 03
+0x18,0x3C,0x7E,0x3C,0x18,0x00, // 04
+0x1C,0x57,0x7D,0x57,0x1C,0x00, // 05
+0x1C,0x5E,0x7F,0x5E,0x1C,0x00, // 06
+0x00,0x18,0x3C,0x18,0x00,0x00, // 07
+0xFF,0xE7,0xC3,0xE7,0xFF,0x00, // 08
+0x00,0x18,0x24,0x18,0x00,0x00, // 09
+0xFF,0xE7,0xDB,0xE7,0xFF,0x00, // 0A
+0x30,0x48,0x3A,0x06,0x0E,0x00, // 0B
+0x26,0x29,0x79,0x29,0x26,0x00, // 0C
+0x40,0x7F,0x05,0x05,0x07,0x00, // 0D
+0x40,0x7F,0x05,0x25,0x3F,0x00, // 0E
+0x5A,0x3C,0xE7,0x3C,0x5A,0x00, // 0F
+0x7F,0x3E,0x1C,0x1C,0x08,0x00, // 10
+0x08,0x1C,0x1C,0x3E,0x7F,0x00, // 11
+0x14,0x22,0x7F,0x22,0x14,0x00, // 12
+0x5F,0x5F,0x00,0x5F,0x5F,0x00, // 13
+0x06,0x09,0x7F,0x01,0x7F,0x00, // 14
+0x00,0x66,0x89,0x95,0x6A,0x00, // 15
+0x60,0x60,0x60,0x60,0x60,0x00, // 16
+0x94,0xA2,0xFF,0xA2,0x94,0x00, // 17
+0x08,0x04,0x7E,0x04,0x08,0x00, // 18
+0x10,0x20,0x7E,0x20,0x10,0x00, // 19
+0x08,0x08,0x2A,0x1C,0x08,0x00, // 1A
+0x08,0x1C,0x2A,0x08,0x08,0x00, // 1B
+0x1E,0x10,0x10,0x10,0x10,0x00, // 1C
+0x0C,0x1E,0x0C,0x1E,0x0C,0x00, // 1D
+0x30,0x38,0x3E,0x38,0x30,0x00, // 1E
+0x06,0x0E,0x3E,0x0E,0x06,0x00, // 1F
+0x00,0x00,0x00,0x00,0x00,0x00, // 20
+0x00,0x00,0x5F,0x00,0x00,0x00, // 21 !
+0x00,0x07,0x00,0x07,0x00,0x00, // 22 "
+0x14,0x7F,0x14,0x7F,0x14,0x00, // 23 #
+0x24,0x2A,0x7F,0x2A,0x12,0x00, // 24 $
+0x23,0x13,0x08,0x64,0x62,0x00, // 25 %
+0x36,0x49,0x56,0x20,0x50,0x00, // 26 &
+0x00,0x08,0x07,0x03,0x00,0x00, // 27 '
+0x00,0x1C,0x22,0x41,0x00,0x00, // 28 (
+0x00,0x41,0x22,0x1C,0x00,0x00, // 29 )
+0x2A,0x1C,0x7F,0x1C,0x2A,0x00, // 2A *
+0x08,0x08,0x3E,0x08,0x08,0x00, // 2B +
+0x00,0x80,0x70,0x30,0x00,0x00, // 2C ,
+0x08,0x08,0x08,0x08,0x08,0x00, // 2D -
+0x00,0x00,0x60,0x60,0x00,0x00, // 2E .
+0x20,0x10,0x08,0x04,0x02,0x00, // 2F /
+0x3E,0x51,0x49,0x45,0x3E,0x00, // 30 0
+0x00,0x42,0x7F,0x40,0x00,0x00, // 31 1
+0x72,0x49,0x49,0x49,0x46,0x00, // 32 2
+0x21,0x41,0x49,0x4D,0x33,0x00, // 33 3
+0x18,0x14,0x12,0x7F,0x10,0x00, // 34 4
+0x27,0x45,0x45,0x45,0x39,0x00, // 35 5
+0x3C,0x4A,0x49,0x49,0x31,0x00, // 36 6
+0x41,0x21,0x11,0x09,0x07,0x00, // 37 7
+0x36,0x49,0x49,0x49,0x36,0x00, // 38 8
+0x46,0x49,0x49,0x29,0x1E,0x00, // 39 9
+0x00,0x00,0x14,0x00,0x00,0x00, // 3A :
+0x00,0x40,0x34,0x00,0x00,0x00, // 3B ;
+0x00,0x08,0x14,0x22,0x41,0x00, // 3C <
+0x14,0x14,0x14,0x14,0x14,0x00, // 3D =
+0x00,0x41,0x22,0x14,0x08,0x00, // 3E >
+0x02,0x01,0x59,0x09,0x06,0x00, // 3F ?
+0x3E,0x41,0x5D,0x59,0x4E,0x00, // 40 @
+0x7C,0x12,0x11,0x12,0x7C,0x00, // 41 A
+0x7F,0x49,0x49,0x49,0x36,0x00, // 42 B
+0x3E,0x41,0x41,0x41,0x22,0x00, // 43 C
+0x7F,0x41,0x41,0x41,0x3E,0x00, // 44 D
+0x7F,0x49,0x49,0x49,0x41,0x00, // 45 E
+0x7F,0x09,0x09,0x09,0x01,0x00, // 46 F
+0x3E,0x41,0x41,0x51,0x73,0x00, // 47 G
+0x7F,0x08,0x08,0x08,0x7F,0x00, // 48 H
+0x00,0x41,0x7F,0x41,0x00,0x00, // 49 I
+0x20,0x40,0x41,0x3F,0x01,0x00, // 4A J
+0x7F,0x08,0x14,0x22,0x41,0x00, // 4B K
+0x7F,0x40,0x40,0x40,0x40,0x00, // 4C L
+0x7F,0x02,0x1C,0x02,0x7F,0x00, // 4D M
+0x7F,0x04,0x08,0x10,0x7F,0x00, // 4E N
+0x3E,0x41,0x41,0x41,0x3E,0x00, // 4F O
+0x7F,0x09,0x09,0x09,0x06,0x00, // 50 P
+0x3E,0x41,0x51,0x21,0x5E,0x00, // 51 Q
+0x7F,0x09,0x19,0x29,0x46,0x00, // 52 R
+0x26,0x49,0x49,0x49,0x32,0x00, // 53 S
+0x03,0x01,0x7F,0x01,0x03,0x00, // 54 T
+0x3F,0x40,0x40,0x40,0x3F,0x00, // 55 U
+0x1F,0x20,0x40,0x20,0x1F,0x00, // 56 V
+0x3F,0x40,0x38,0x40,0x3F,0x00, // 57 W
+0x63,0x14,0x08,0x14,0x63,0x00, // 58 X
+0x03,0x04,0x78,0x04,0x03,0x00, // 59 Y
+0x61,0x59,0x49,0x4D,0x43,0x00, // 5A Z
+0x00,0x7F,0x41,0x41,0x41,0x00, // 5B [
+0x02,0x04,0x08,0x10,0x20,0x00, // 5C \ .
+0x00,0x41,0x41,0x41,0x7F,0x00, // 5D ]
+0x04,0x02,0x01,0x02,0x04,0x00, // 5E ^
+0x40,0x40,0x40,0x40,0x40,0x00, // 5F _
+0x00,0x03,0x07,0x08,0x00,0x00, // 60 `
+0x20,0x54,0x54,0x78,0x40,0x00, // 61 a
+0x7F,0x28,0x44,0x44,0x38,0x00, // 62 b
+0x38,0x44,0x44,0x44,0x28,0x00, // 63 c
+0x38,0x44,0x44,0x28,0x7F,0x00, // 64 d
+0x38,0x54,0x54,0x54,0x18,0x00, // 65 e
+0x00,0x08,0x7E,0x09,0x02,0x00, // 66 f
+0x18,0xA4,0xA4,0x9C,0x78,0x00, // 67 g
+0x7F,0x08,0x04,0x04,0x78,0x00, // 68 h
+0x00,0x44,0x7D,0x40,0x00,0x00, // 69 i
+0x20,0x40,0x40,0x3D,0x00,0x00, // 6A j
+0x7F,0x10,0x28,0x44,0x00,0x00, // 6B k
+0x00,0x41,0x7F,0x40,0x00,0x00, // 6C l
+0x7C,0x04,0x78,0x04,0x78,0x00, // 6D m
+0x7C,0x08,0x04,0x04,0x78,0x00, // 6E n
+0x38,0x44,0x44,0x44,0x38,0x00, // 6F o
+0xFC,0x18,0x24,0x24,0x18,0x00, // 70 p
+0x18,0x24,0x24,0x18,0xFC,0x00, // 71 q
+0x7C,0x08,0x04,0x04,0x08,0x00, // 72 r
+0x48,0x54,0x54,0x54,0x24,0x00, // 73 s
+0x04,0x04,0x3F,0x44,0x24,0x00, // 74 t
+0x3C,0x40,0x40,0x20,0x7C,0x00, // 75 u
+0x1C,0x20,0x40,0x20,0x1C,0x00, // 76 v
+0x3C,0x40,0x30,0x40,0x3C,0x00, // 77 w
+0x44,0x28,0x10,0x28,0x44,0x00, // 78 x
+0x4C,0x90,0x90,0x90,0x7C,0x00, // 79 y
+0x44,0x64,0x54,0x4C,0x44,0x00, // 7A z
+0x00,0x08,0x36,0x41,0x00,0x00, // 7B {
+0x00,0x00,0x77,0x00,0x00,0x00, // 7C |
+0x00,0x41,0x36,0x08,0x00,0x00, // 7D }
+0x02,0x01,0x02,0x04,0x02,0x00, // 7E ~
+0x3C,0x26,0x23,0x26,0x3C,0x00, // 7F
+0xC7,0xC7,0xC7,0x00,0x00,0x00, // 80
+0x00,0x20,0x60,0x60,0x60,0x60, // 81
+0x60,0xE0,0x20,0x20,0x20,0x20, // 82
+0x20,0x60,0x60,0x00,0x00,0x00, // 83
+0x00,0x00,0x00,0xC7,0xC7,0xC7, // 84
+0xC7,0xC7,0xC7,0x00,0x00,0x00, // 85
+0x00,0xE0,0x70,0x50,0xFE,0x7A, // 86
+0x02,0x00,0x20,0x60,0xE0,0xF3, // 87
+0x3E,0x30,0x10,0x10,0x00,0x00, // 88
+0x00,0x00,0x00,0xC7,0xC7,0xC7, // 89
+0xC7,0xC7,0xC7,0x00,0x00,0x80, // 8A
+0xC0,0xC3,0xA1,0x90,0x98,0x84, // 8B
+0x83,0x00,0x00,0x1E,0x09,0x0C, // 8C
+0x04,0xC4,0x7C,0x18,0x00,0x00, // 8D
+0x00,0x00,0x00,0xC7,0xC7,0xC7, // 8E
+0x00,0x00,0x00,0x00,0x00,0x00, // 8F
+0x00,0x00,0x00,0x00,0x00,0x00, // 90
+0x00,0x00,0x00,0x00,0x00,0x00, // 91
+0x00,0x00,0x00,0x00,0x00,0x00, // 92
+0x00,0x00,0x00,0x00,0x00,0x00, // 93
+0x00,0x00,0x00,0x00,0x00,0xE0, // 94
+0xF0,0xF0,0xF0,0xE0,0xEC,0xEE, // 95
+0xF7,0xF3,0x70,0x20,0x00,0x7C, // 96
+0x7C,0x7C,0x7E,0x00,0x7E,0x7E, // 97
+0x7E,0x7F,0x7F,0x7F,0x00,0x00, // 98
+0x80,0xC0,0xE0,0x7E,0x5B,0x4F, // 99
+0x5B,0xFE,0xC0,0x00,0x00,0xC0, // 9A
+0x00,0xDC,0xD7,0xDE,0xDE,0xDE, // 9B
+0xD7,0xDC,0x00,0xC0,0x00,0x00, // 9C
+0x00,0x00,0x00,0x00,0x00,0x00, // 9D
+0x00,0x00,0x00,0x00,0x00,0x00, // 9E
+0x00,0x00,0x00,0x00,0x00,0xFF, // 9F
+0x71,0x71,0x71,0x00,0x00,0x00, // A0
+0x00,0x00,0x00,0x00,0x00,0x00, // A1 ?
+0xC0,0xFF,0x00,0x08,0x0E,0x0E, // A2 ?
+0x0C,0x00,0x00,0x00,0x00,0x00, // A3 ?
+0x00,0x00,0x00,0x71,0x71,0x71, // A4 ?
+0x71,0x71,0x71,0x00,0x00,0x08, // A5 ?
+0x08,0x09,0x18,0x25,0x61,0x31, // A6 ?
+0x1F,0x06,0x04,0x06,0x13,0x32, // A7 §
+0x32,0x62,0x02,0x06,0x0C,0x08, // A8 ¨
+0x00,0x00,0x00,0x71,0x71,0x71, // A9 ?
+0x71,0x71,0x71,0x00,0x00,0x00, // AA ?
+0x00,0x00,0x00,0x00,0x00,0x00, // AB ?
+0x09,0x11,0x18,0x08,0x0C,0x06, // AC ?
+0x03,0x00,0x00,0x00,0x00,0x00, // AD ?
+0x00,0x00,0x00,0x71,0x71,0x71, // AE ?
+0x00,0x00,0x00,0x00,0x00,0x00, // AF ?
+0x00,0x00,0x00,0x00,0x00,0x00, // B0 °
+0x00,0x00,0x00,0x00,0x00,0x00, // B1 ±
+0x00,0x00,0x00,0x00,0x00,0x00, // B2 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // B3 ?
+0x00,0x00,0x00,0x00,0x00,0x0F, // B4 ´
+0x1F,0x3F,0x7F,0x7F,0x7F,0x7F, // B5 ?
+0x7F,0x3F,0x1E,0x0C,0x00,0x1F, // B6 ¶
+0x1F,0x1F,0x3F,0x00,0x3F,0x3F, // B7 ?
+0x3F,0x7F,0x7F,0x7F,0x00,0x30, // B8 ?
+0x7B,0x7F,0x78,0x30,0x20,0x20, // B9 ?
+0x30,0x78,0x7F,0x3B,0x00,0x03, // BA ?
+0x00,0x0F,0x7F,0x0F,0x0F,0x0F, // BB ?
+0x7F,0x0F,0x00,0x03,0x00,0x00, // BC ?
+0x00,0x00,0x00,0x00,0x00,0x00, // BD ?
+0x00,0x00,0x00,0x00,0x00,0x00, // BE ?
+0x00,0x00,0x00,0x00,0x00,0xFF, // BF ?
+0x1C,0x1C,0x1C,0x00,0x00,0x00, // C0 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // C1 ?
+0x07,0x0F,0x00,0x00,0x00,0x00, // C2 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // C3 ?
+0x00,0x00,0x00,0x1C,0x1C,0x1C, // C4 ?
+0x1C,0x1C,0x1C,0x00,0x00,0x00, // C5 ?
+0x00,0x00,0x80,0x80,0xC0,0x40, // C6 ?
+0x80,0x00,0x00,0x00,0xC0,0x40, // C7 ?
+0x40,0xC0,0xC0,0xC0,0x00,0x00, // C8 ?
+0x00,0x00,0x00,0x1C,0x1C,0x1C, // C9 ?
+0x1C,0x1C,0x1C,0x00,0x00,0x00, // CA ?
+0x00,0x00,0x00,0x00,0x00,0x00, // CB ?
+0x00,0x00,0x00,0x00,0x00,0x00, // CC ?
+0x00,0x00,0x00,0x00,0x00,0x00, // CD ?
+0x00,0x00,0x00,0x1C,0x1C,0x1C, // CE ?
+0x00,0x00,0x00,0x00,0x00,0x00, // CF ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D0 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D1 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D2 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D3 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D4 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D5 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D6 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D7 ×
+0x00,0x00,0x00,0x00,0x00,0x00, // D8 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // D9 ?
+0x00,0x00,0x00,0x00,0x00,0x00, // DA ?
+0x00,0x00,0x00,0x00,0x00,0x00, // DB ?
+0x00,0x00,0x00,0x00,0x00,0x00, // DC ?
+0x00,0x00,0x00,0x00,0x00,0x00, // DD ?
+0x00,0x00,0x00,0x00,0x00,0x00, // DE ?
+0x00,0x00,0x00,0x00,0x00,0xFF, // DF ?
+};
+static const unsigned int fontLen = 512;
diff --git a/keyboards/getta25/keymaps/oled/keymap.c b/keyboards/getta25/keymaps/oled/keymap.c
new file mode 100644
index 0000000000..44833857d3
--- /dev/null
+++ b/keyboards/getta25/keymaps/oled/keymap.c
@@ -0,0 +1,204 @@
+#include QMK_KEYBOARD_H
+#include "keymap_jp.h"
+
+#ifdef OLED_DRIVER_ENABLE
+static uint32_t oled_timer = 0;
+#endif
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_number {
+ _BASE,
+ _ARROW,
+ _MACRO,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ RGB_RST = SAFE_RANGE,
+ SEND_SUM,
+ SEND_AVE,
+ SEND_CIF,
+ SEND_MAX,
+ SEND_MIN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ //,-----------------------------------|
+ KC_ESC, KC_F2, JP_EQL, KC_DEL,
+ //|--------+--------+--------+--------|
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ //|--------+--------+--------+--------+--------|
+ KC_P7, KC_P8, KC_P9, LCTL(JP_LBRC),
+ //|--------+--------+--------+--------+--------|
+ KC_P4, KC_P5, KC_P6, KC_PPLS, JP_EQL,
+ //|--------+--------+--------+--------+--------|
+ KC_P1, KC_P2, KC_P3, KC_DEL,
+ //|--------+--------+--------+--------+--------|
+LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT,KC_BSPC
+ //`--------------------------------------------'
+ ),
+
+ [_ARROW] = LAYOUT(
+ //,-----------------------------------|
+ _______, _______, _______, _______,
+ //|--------+--------+--------+--------|
+ XXXXXXX, _______, _______, _______,
+ //|--------+--------+--------+--------+--------|
+ XXXXXXX, KC_UP, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______,
+ //|--------+--------+--------+--------+--------|
+ XXXXXXX, KC_DOWN, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ MO(_ARROW), MO(_MACRO), _______, _______
+ //`--------------------------------------------'
+ ),
+
+ [_MACRO] = LAYOUT(
+ //,-----------------------------------|
+ _______, _______, _______, _______,
+ //|--------+--------+--------+--------|
+ SEND_MIN,SEND_MAX,SEND_CIF,SEND_AVE,
+ //|--------+--------+--------+--------+--------|
+ KC_F7, KC_F8, KC_F9, _______,
+ //|--------+--------+--------+--------+--------|
+ KC_F4, KC_F5, KC_F6,SEND_SUM, _______,
+ //|--------+--------+--------+--------+--------|
+ KC_F11, KC_F12, KC_F3, _______,
+ //|--------+--------+--------+--------+--------|
+ _______, _______, JP_RPRN, _______
+ //`--------------------------------------------'
+ ),
+
+ [_ADJUST] = LAYOUT( /* Base */
+ //,-----------------------------------|
+ _______, _______, _______, _______,
+ //|--------+--------+--------+--------|
+ XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ RGB_SAD, RGB_SAI, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, _______,
+ //|--------+--------+--------+--------+--------|
+ RGB_VAD, RGB_VAI, XXXXXXX, _______,
+ //|--------+--------+--------+--------+--------|
+ _______, _______, RGB_MOD, _______
+ //`--------------------------------------------'
+ )
+};
+
+//A description for expressing the layer position in LED mode.
+layer_state_t layer_state_set_user(layer_state_t state) {
+ state = update_tri_layer_state(state, _ARROW, _MACRO, _ADJUST);
+#ifdef RGBLIGHT_ENABLE
+ switch (get_highest_layer(state)) {
+ case _ARROW:
+ rgblight_sethsv_at(HSV_BLUE, 0);
+ break;
+ case _MACRO:
+ rgblight_sethsv_at(HSV_RED, 0);
+ break;
+ case _ADJUST:
+ rgblight_sethsv_at(HSV_PURPLE, 0);
+ break;
+ default: // for any other layers, or the default layer
+ rgblight_sethsv_range( 0, 0, 0, 0, 1);
+ break;
+ }
+ rgblight_set_effect_range( 1, 8);
+#endif
+return state;
+}
+
+int RGB_current_mode;
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ bool result = false;
+ if (record->event.pressed) {
+ #ifdef OLED_DRIVER_ENABLE
+ oled_timer = timer_read32();
+ #endif
+ }
+ switch (keycode) {
+ case SEND_SUM:
+ if (record->event.pressed) {
+ SEND_STRING("_SUM*");
+ }
+ break;
+ case SEND_AVE:
+ if (record->event.pressed) {
+ SEND_STRING("_AVERAGE*");
+ }
+ break;
+ case SEND_CIF:
+ if (record->event.pressed) {
+ SEND_STRING("_COUNTIF*");
+ }
+ break;
+ case SEND_MAX:
+ if (record->event.pressed) {
+ SEND_STRING("_MAX*");
+ }
+ break;
+ case SEND_MIN:
+ if (record->event.pressed) {
+ SEND_STRING("_MIN*");
+ }
+ break;
+ default:
+ result = true;
+ break;
+ }
+
+ return result;
+}
+
+#ifdef OLED_DRIVER_ENABLE
+oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
+
+void render_layer_state(void) {
+ oled_write_P(PSTR(" "), false);
+ oled_write_P(PSTR("LAYER"), false);
+ oled_write_P(PSTR("Arrow"), layer_state_is(_ARROW));
+ oled_write_P(PSTR("Macro"), layer_state_is(_MACRO));
+ oled_write_P(PSTR("Adjus"), layer_state_is(_ADJUST));
+ oled_write_P(PSTR(" "), false);
+}
+
+void render_keylock_status(led_t led_state) {
+ oled_write_P(PSTR("NumL "), led_state.num_lock);
+}
+
+void render_layer_messages(void) {
+ oled_write_P(PSTR("GETtA 25 For Your Good Job. "), false);
+}
+
+void render_status(void) {
+ /* Show Keyboard Layout */
+ render_layer_state();
+ render_keylock_status(host_keyboard_led_state());
+}
+
+void oled_task_user(void) {
+ static const char PROGMEM font_logo[] = {
+ 0x80,0x81,0x82,0x83,0x84,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,
+
+ 0x85,0x86,0x87,0x88,0x89,
+ 0xa5,0xa6,0xa7,0xa8,0xa9,
+ 0xc5,0xc6,0xc7,0xc8,0xc9,
+
+ 0x8a,0x8b,0x8c,0x8d,0x8e,
+ 0xaa,0xab,0xac,0xad,0xae,
+ 0xca,0xcb,0xcc,0xcd,0xce,0
+ };
+ oled_write_P(font_logo, false);
+
+ render_status(); // Renders the current keyboard state (layer, lock)
+}
+
+#endif