aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com>2020-01-21 07:40:33 +0900
committerJames Young <18669334+noroadsleft@users.noreply.github.com>2020-01-20 14:40:33 -0800
commitc23b73530f6683b52775ad6415fa201597f15f4f (patch)
tree9bc716673309d12277e4f748cc74af8949dbd3eb
parent61dbb9267936f5b3dc6a4c804dc773ab79d9c309 (diff)
downloadqmk_firmware-c23b73530f6683b52775ad6415fa201597f15f4f.tar.gz
qmk_firmware-c23b73530f6683b52775ad6415fa201597f15f4f.zip
[Keyboard] Add keyboard Getta25 (#7497)
* [Keyboard] Add keyboard Getta25 Add Getta25 keyboard. A 25 keys Tenkey. Salicylic-acid3 * Update keyboards/getta25/info.json * Update keyboards/getta25/readme.md * Update keyboards/getta25/readme.md * Update keyboards/getta25/readme.md * Update keyboards/getta25/info.json * Update keyboards/getta25/info.json * Update keyboards/getta25/info.json * Update keyboards/getta25/info.json * Update keyboards/getta25/keymaps/oled/glcdfont.c * Update keyboards/getta25/keymaps/oled/glcdfont.c * Keymap Update Remove unnecessary code blocks * Update keyboards/getta25/keymaps/oled/keymap.c * Update keyboards/getta25/keymaps/oled/keymap.c * Update keyboards/getta25/keymaps/oled/keymap.c
-rw-r--r--keyboards/getta25/config.h21
-rw-r--r--keyboards/getta25/getta25.c1
-rw-r--r--keyboards/getta25/getta25.h7
-rw-r--r--keyboards/getta25/info.json38
-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
-rw-r--r--keyboards/getta25/readme.md17
-rw-r--r--keyboards/getta25/rev1/config.h73
-rw-r--r--keyboards/getta25/rev1/rev1.c1
-rw-r--r--keyboards/getta25/rev1/rev1.h35
-rw-r--r--keyboards/getta25/rules.mk33
14 files changed, 771 insertions, 0 deletions
diff --git a/keyboards/getta25/config.h b/keyboards/getta25/config.h
new file mode 100644
index 000000000..cfb6bf4ff
--- /dev/null
+++ b/keyboards/getta25/config.h
@@ -0,0 +1,21 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include "config_common.h"
diff --git a/keyboards/getta25/getta25.c b/keyboards/getta25/getta25.c
new file mode 100644
index 000000000..4f8cc63b4
--- /dev/null
+++ b/keyboards/getta25/getta25.c
@@ -0,0 +1 @@
#include "getta25.h"
diff --git a/keyboards/getta25/getta25.h b/keyboards/getta25/getta25.h
new file mode 100644
index 000000000..ff4482017
--- /dev/null
+++ b/keyboards/getta25/getta25.h
@@ -0,0 +1,7 @@
1#pragma once
2
3#include "quantum.h"
4
5#ifdef KEYBOARD_getta25_rev1
6 #include "rev1.h"
7#endif
diff --git a/keyboards/getta25/info.json b/keyboards/getta25/info.json
new file mode 100644
index 000000000..d3a02f298
--- /dev/null
+++ b/keyboards/getta25/info.json
@@ -0,0 +1,38 @@
1{
2 "keyboard_name": "Getta25",
3 "url": "https://salicylic-acid3.hatenablog.com/",
4 "maintainer": "Salicylic_acid3",
5 "width": 5.25,
6 "height": 6.25,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {"label":"ESC", "x":0, "y":0},
11 {"label":"F2", "x":1, "y":0},
12 {"label":"=", "x":2, "y":0},
13 {"label":"DEL", "x":3, "y":0},
14 {"label":"Num Lock", "x":0, "y":1.25},
15 {"label":"/", "x":1, "y":1.25},
16 {"label":"*", "x":2, "y":1.25},
17 {"label":"-", "x":3, "y":1.25},
18 {"label":"7", "x":0, "y":2.25},
19 {"label":"8", "x":1, "y":2.25},
20 {"label":"9", "x":2, "y":2.25},
21 {"label":"ESC", "x":4.25, "y":2.25},
22 {"label":"4", "x":0, "y":3.25},
23 {"label":"5", "x":1, "y":3.25},
24 {"label":"6", "x":2, "y":3.25},
25 {"label":"+", "x":3, "y":2.25, "h":2},
26 {"label":"F2", "x":4.25, "y":3.25},
27 {"label":"1", "x":0, "y":4.25},
28 {"label":"2", "x":1, "y":4.25},
29 {"label":"3", "x":2, "y":4.25},
30 {"label":"DEL", "x":4.25, "y":4.25},
31 {"label":"0", "x":0, "y":5.25, "w":2},
32 {"label":".", "x":2, "y":5.25},
33 {"label":"Enter", "x":3, "y":4.25, "h":2},
34 {"label":"BSPC", "x":4.25, "y":5.25}
35 ]
36 }
37 }
38}
diff --git a/keyboards/getta25/keymaps/default/config.h b/keyboards/getta25/keymaps/default/config.h
new file mode 100644
index 000000000..8c4e1f512
--- /dev/null
+++ b/keyboards/getta25/keymaps/default/config.h
@@ -0,0 +1,24 @@
1/* Copyright 2018 Salicylic_acid3
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19/* Select hand configuration */
20
21#define TAPPING_FORCE_HOLD
22#define TAPPING_TERM 180
23
24
diff --git a/keyboards/getta25/keymaps/default/keymap.c b/keyboards/getta25/keymaps/default/keymap.c
new file mode 100644
index 000000000..a70df01c1
--- /dev/null
+++ b/keyboards/getta25/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
1#include QMK_KEYBOARD_H
2
3// Each layer gets a name for readability, which is then used in the keymap matrix below.
4// The underscores don't mean anything - you can have a layer called STUFF or any other name.
5// Layer names don't all need to be of the same length, obviously, and you can also skip them
6// entirely and just use numbers.
7enum layer_number {
8 _BASE,
9 _ARROW,
10 _ADJUST,
11};
12
13const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
14 [_BASE] = LAYOUT(
15 //,-----------------------------------|
16LT(_ADJUST,KC_ESC), KC_F2, KC_EQL, KC_DEL,
17 //|--------+--------+--------+--------|
18 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
19 //|--------+--------+--------+--------+--------|
20 KC_P7, KC_P8, KC_P9, KC_ESC,
21 //|--------+--------+--------+--------+--------|
22 KC_P4, KC_P5, KC_P6, KC_PPLS, KC_F2,
23 //|--------+--------+--------+--------+--------|
24 KC_P1, KC_P2, KC_P3, KC_DEL,
25 //|--------+--------+--------+--------+--------|
26LT(_ARROW, KC_P0), KC_PDOT, KC_PENT, KC_BSPC
27 //`--------------------------------------------'
28 ),
29
30 [_ARROW] = LAYOUT(
31 //,-----------------------------------|
32 _______, _______, _______, _______,
33 //|--------+--------+--------+--------|
34 XXXXXXX, _______, _______, _______,
35 //|--------+--------+--------+--------+--------|
36 XXXXXXX, KC_UP, XXXXXXX, _______,
37 //|--------+--------+--------+--------+--------|
38 KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______,
39 //|--------+--------+--------+--------+--------|
40 XXXXXXX, KC_DOWN, XXXXXXX, _______,
41 //|--------+--------+--------+--------+--------|
42 MO(_ARROW), _______, _______, _______
43 //`--------------------------------------------'
44 ),
45
46 [_ADJUST] = LAYOUT( /* Base */
47 //,-----------------------------------|
48 MO(_ADJUST), _______, _______, _______,
49 //|--------+--------+--------+--------|
50 XXXXXXX, XXXXXXX, XXXXXXX, _______,
51 //|--------+--------+--------+--------+--------|
52 RGB_SAD, RGB_SAI, XXXXXXX, _______,
53 //|--------+--------+--------+--------+--------|
54 RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, _______,
55 //|--------+--------+--------+--------+--------|
56 RGB_VAD, RGB_VAI, XXXXXXX, _______,
57 //|--------+--------+--------+--------+--------|
58 _______, _______, RGB_MOD, _______
59 //`--------------------------------------------'
60 )
61};
diff --git a/keyboards/getta25/keymaps/oled/config.h b/keyboards/getta25/keymaps/oled/config.h
new file mode 100644
index 000000000..be988915c
--- /dev/null
+++ b/keyboards/getta25/keymaps/oled/config.h
@@ -0,0 +1,25 @@
1/* Copyright 2018 Salicylic_acid3
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19/* Select hand configuration */
20
21#define TAPPING_FORCE_HOLD
22#define TAPPING_TERM 180
23
24#define OLED_FONT_H "keyboards/getta25/keymaps/oled/glcdfont.c"
25
diff --git a/keyboards/getta25/keymaps/oled/glcdfont.c b/keyboards/getta25/keymaps/oled/glcdfont.c
new file mode 100644
index 000000000..939db32ca
--- /dev/null
+++ b/keyboards/getta25/keymaps/oled/glcdfont.c
@@ -0,0 +1,231 @@
1// 'loveLain', 128x32px
2
3#include "progmem.h"
4
5static const unsigned char font[] PROGMEM = {
60x00,0x00,0x00,0x00,0x00,0x00, // 00
70x3E,0x5B,0x4F,0x5B,0x3E,0x00, // 01
80x3E,0x6B,0x4F,0x6B,0x3E,0x00, // 02
90x1C,0x3E,0x7C,0x3E,0x1C,0x00, // 03
100x18,0x3C,0x7E,0x3C,0x18,0x00, // 04
110x1C,0x57,0x7D,0x57,0x1C,0x00, // 05
120x1C,0x5E,0x7F,0x5E,0x1C,0x00, // 06
130x00,0x18,0x3C,0x18,0x00,0x00, // 07
140xFF,0xE7,0xC3,0xE7,0xFF,0x00, // 08
150x00,0x18,0x24,0x18,0x00,0x00, // 09
160xFF,0xE7,0xDB,0xE7,0xFF,0x00, // 0A
170x30,0x48,0x3A,0x06,0x0E,0x00, // 0B
180x26,0x29,0x79,0x29,0x26,0x00, // 0C
190x40,0x7F,0x05,0x05,0x07,0x00, // 0D
200x40,0x7F,0x05,0x25,0x3F,0x00, // 0E
210x5A,0x3C,0xE7,0x3C,0x5A,0x00, // 0F
220x7F,0x3E,0x1C,0x1C,0x08,0x00, // 10
230x08,0x1C,0x1C,0x3E,0x7F,0x00, // 11
240x14,0x22,0x7F,0x22,0x14,0x00, // 12
250x5F,0x5F,0x00,0x5F,0x5F,0x00, // 13
260x06,0x09,0x7F,0x01,0x7F,0x00, // 14
270x00,0x66,0x89,0x95,0x6A,0x00, // 15
280x60,0x60,0x60,0x60,0x60,0x00, // 16
290x94,0xA2,0xFF,0xA2,0x94,0x00, // 17
300x08,0x04,0x7E,0x04,0x08,0x00, // 18
310x10,0x20,0x7E,0x20,0x10,0x00, // 19
320x08,0x08,0x2A,0x1C,0x08,0x00, // 1A
330x08,0x1C,0x2A,0x08,0x08,0x00, // 1B
340x1E,0x10,0x10,0x10,0x10,0x00, // 1C
350x0C,0x1E,0x0C,0x1E,0x0C,0x00, // 1D
360x30,0x38,0x3E,0x38,0x30,0x00, // 1E
370x06,0x0E,0x3E,0x0E,0x06,0x00, // 1F
380x00,0x00,0x00,0x00,0x00,0x00, // 20
390x00,0x00,0x5F,0x00,0x00,0x00, // 21 !
400x00,0x07,0x00,0x07,0x00,0x00, // 22 "
410x14,0x7F,0x14,0x7F,0x14,0x00, // 23 #
420x24,0x2A,0x7F,0x2A,0x12,0x00, // 24 $
430x23,0x13,0x08,0x64,0x62,0x00, // 25 %
440x36,0x49,0x56,0x20,0x50,0x00, // 26 &
450x00,0x08,0x07,0x03,0x00,0x00, // 27 '
460x00,0x1C,0x22,0x41,0x00,0x00, // 28 (
470x00,0x41,0x22,0x1C,0x00,0x00, // 29 )
480x2A,0x1C,0x7F,0x1C,0x2A,0x00, // 2A *
490x08,0x08,0x3E,0x08,0x08,0x00, // 2B +
500x00,0x80,0x70,0x30,0x00,0x00, // 2C ,
510x08,0x08,0x08,0x08,0x08,0x00, // 2D -
520x00,0x00,0x60,0x60,0x00,0x00, // 2E .
530x20,0x10,0x08,0x04,0x02,0x00, // 2F /
540x3E,0x51,0x49,0x45,0x3E,0x00, // 30 0
550x00,0x42,0x7F,0x40,0x00,0x00, // 31 1
560x72,0x49,0x49,0x49,0x46,0x00, // 32 2
570x21,0x41,0x49,0x4D,0x33,0x00, // 33 3
580x18,0x14,0x12,0x7F,0x10,0x00, // 34 4
590x27,0x45,0x45,0x45,0x39,0x00, // 35 5
600x3C,0x4A,0x49,0x49,0x31,0x00, // 36 6
610x41,0x21,0x11,0x09,0x07,0x00, // 37 7
620x36,0x49,0x49,0x49,0x36,0x00, // 38 8
630x46,0x49,0x49,0x29,0x1E,0x00, // 39 9
640x00,0x00,0x14,0x00,0x00,0x00, // 3A :
650x00,0x40,0x34,0x00,0x00,0x00, // 3B ;
660x00,0x08,0x14,0x22,0x41,0x00, // 3C <
670x14,0x14,0x14,0x14,0x14,0x00, // 3D =
680x00,0x41,0x22,0x14,0x08,0x00, // 3E >
690x02,0x01,0x59,0x09,0x06,0x00, // 3F ?
700x3E,0x41,0x5D,0x59,0x4E,0x00, // 40 @
710x7C,0x12,0x11,0x12,0x7C,0x00, // 41 A
720x7F,0x49,0x49,0x49,0x36,0x00, // 42 B
730x3E,0x41,0x41,0x41,0x22,0x00, // 43 C
740x7F,0x41,0x41,0x41,0x3E,0x00, // 44 D
750x7F,0x49,0x49,0x49,0x41,0x00, // 45 E
760x7F,0x09,0x09,0x09,0x01,0x00, // 46 F
770x3E,0x41,0x41,0x51,0x73,0x00, // 47 G
780x7F,0x08,0x08,0x08,0x7F,0x00, // 48 H
790x00,0x41,0x7F,0x41,0x00,0x00, // 49 I
800x20,0x40,0x41,0x3F,0x01,0x00, // 4A J
810x7F,0x08,0x14,0x22,0x41,0x00, // 4B K
820x7F,0x40,0x40,0x40,0x40,0x00, // 4C L
830x7F,0x02,0x1C,0x02,0x7F,0x00, // 4D M
840x7F,0x04,0x08,0x10,0x7F,0x00, // 4E N
850x3E,0x41,0x41,0x41,0x3E,0x00, // 4F O
860x7F,0x09,0x09,0x09,0x06,0x00, // 50 P
870x3E,0x41,0x51,0x21,0x5E,0x00, // 51 Q
880x7F,0x09,0x19,0x29,0x46,0x00, // 52 R
890x26,0x49,0x49,0x49,0x32,0x00, // 53 S
900x03,0x01,0x7F,0x01,0x03,0x00, // 54 T
910x3F,0x40,0x40,0x40,0x3F,0x00, // 55 U
920x1F,0x20,0x40,0x20,0x1F,0x00, // 56 V
930x3F,0x40,0x38,0x40,0x3F,0x00, // 57 W
940x63,0x14,0x08,0x14,0x63,0x00, // 58 X
950x03,0x04,0x78,0x04,0x03,0x00, // 59 Y
960x61,0x59,0x49,0x4D,0x43,0x00, // 5A Z
970x00,0x7F,0x41,0x41,0x41,0x00, // 5B [
980x02,0x04,0x08,0x10,0x20,0x00, // 5C \ .
990x00,0x41,0x41,0x41,0x7F,0x00, // 5D ]
1000x04,0x02,0x01,0x02,0x04,0x00, // 5E ^
1010x40,0x40,0x40,0x40,0x40,0x00, // 5F _
1020x00,0x03,0x07,0x08,0x00,0x00, // 60 `
1030x20,0x54,0x54,0x78,0x40,0x00, // 61 a
1040x7F,0x28,0x44,0x44,0x38,0x00, // 62 b
1050x38,0x44,0x44,0x44,0x28,0x00, // 63 c
1060x38,0x44,0x44,0x28,0x7F,0x00, // 64 d
1070x38,0x54,0x54,0x54,0x18,0x00, // 65 e
1080x00,0x08,0x7E,0x09,0x02,0x00, // 66 f
1090x18,0xA4,0xA4,0x9C,0x78,0x00, // 67 g
1100x7F,0x08,0x04,0x04,0x78,0x00, // 68 h
1110x00,0x44,0x7D,0x40,0x00,0x00, // 69 i
1120x20,0x40,0x40,0x3D,0x00,0x00, // 6A j
1130x7F,0x10,0x28,0x44,0x00,0x00, // 6B k
1140x00,0x41,0x7F,0x40,0x00,0x00, // 6C l
1150x7C,0x04,0x78,0x04,0x78,0x00, // 6D m
1160x7C,0x08,0x04,0x04,0x78,0x00, // 6E n
1170x38,0x44,0x44,0x44,0x38,0x00, // 6F o
1180xFC,0x18,0x24,0x24,0x18,0x00, // 70 p
1190x18,0x24,0x24,0x18,0xFC,0x00, // 71 q
1200x7C,0x08,0x04,0x04,0x08,0x00, // 72 r
1210x48,0x54,0x54,0x54,0x24,0x00, // 73 s
1220x04,0x04,0x3F,0x44,0x24,0x00, // 74 t
1230x3C,0x40,0x40,0x20,0x7C,0x00, // 75 u
1240x1C,0x20,0x40,0x20,0x1C,0x00, // 76 v
1250x3C,0x40,0x30,0x40,0x3C,0x00, // 77 w
1260x44,0x28,0x10,0x28,0x44,0x00, // 78 x
1270x4C,0x90,0x90,0x90,0x7C,0x00, // 79 y
1280x44,0x64,0x54,0x4C,0x44,0x00, // 7A z
1290x00,0x08,0x36,0x41,0x00,0x00, // 7B {
1300x00,0x00,0x77,0x00,0x00,0x00, // 7C |
1310x00,0x41,0x36,0x08,0x00,0x00, // 7D }
1320x02,0x01,0x02,0x04,0x02,0x00, // 7E ~
1330x3C,0x26,0x23,0x26,0x3C,0x00, // 7F
1340xC7,0xC7,0xC7,0x00,0x00,0x00, // 80
1350x00,0x20,0x60,0x60,0x60,0x60, // 81
1360x60,0xE0,0x20,0x20,0x20,0x20, // 82
1370x20,0x60,0x60,0x00,0x00,0x00, // 83
1380x00,0x00,0x00,0xC7,0xC7,0xC7, // 84
1390xC7,0xC7,0xC7,0x00,0x00,0x00, // 85
1400x00,0xE0,0x70,0x50,0xFE,0x7A, // 86
1410x02,0x00,0x20,0x60,0xE0,0xF3, // 87
1420x3E,0x30,0x10,0x10,0x00,0x00, // 88
1430x00,0x00,0x00,0xC7,0xC7,0xC7, // 89
1440xC7,0xC7,0xC7,0x00,0x00,0x80, // 8A
1450xC0,0xC3,0xA1,0x90,0x98,0x84, // 8B
1460x83,0x00,0x00,0x1E,0x09,0x0C, // 8C
1470x04,0xC4,0x7C,0x18,0x00,0x00, // 8D
1480x00,0x00,0x00,0xC7,0xC7,0xC7, // 8E
1490x00,0x00,0x00,0x00,0x00,0x00, // 8F
1500x00,0x00,0x00,0x00,0x00,0x00, // 90
1510x00,0x00,0x00,0x00,0x00,0x00, // 91
1520x00,0x00,0x00,0x00,0x00,0x00, // 92
1530x00,0x00,0x00,0x00,0x00,0x00, // 93
1540x00,0x00,0x00,0x00,0x00,0xE0, // 94
1550xF0,0xF0,0xF0,0xE0,0xEC,0xEE, // 95
1560xF7,0xF3,0x70,0x20,0x00,0x7C, // 96
1570x7C,0x7C,0x7E,0x00,0x7E,0x7E, // 97
1580x7E,0x7F,0x7F,0x7F,0x00,0x00, // 98
1590x80,0xC0,0xE0,0x7E,0x5B,0x4F, // 99
1600x5B,0xFE,0xC0,0x00,0x00,0xC0, // 9A
1610x00,0xDC,0xD7,0xDE,0xDE,0xDE, // 9B
1620xD7,0xDC,0x00,0xC0,0x00,0x00, // 9C
1630x00,0x00,0x00,0x00,0x00,0x00, // 9D
1640x00,0x00,0x00,0x00,0x00,0x00, // 9E
1650x00,0x00,0x00,0x00,0x00,0xFF, // 9F
1660x71,0x71,0x71,0x00,0x00,0x00, // A0
1670x00,0x00,0x00,0x00,0x00,0x00, // A1 ?
1680xC0,0xFF,0x00,0x08,0x0E,0x0E, // A2 ?
1690x0C,0x00,0x00,0x00,0x00,0x00, // A3 ?
1700x00,0x00,0x00,0x71,0x71,0x71, // A4 ?
1710x71,0x71,0x71,0x00,0x00,0x08, // A5 ?
1720x08,0x09,0x18,0x25,0x61,0x31, // A6 ?
1730x1F,0x06,0x04,0x06,0x13,0x32, // A7 §
1740x32,0x62,0x02,0x06,0x0C,0x08, // A8 ¨
1750x00,0x00,0x00,0x71,0x71,0x71, // A9 ?
1760x71,0x71,0x71,0x00,0x00,0x00, // AA ?
1770x00,0x00,0x00,0x00,0x00,0x00, // AB ?
1780x09,0x11,0x18,0x08,0x0C,0x06, // AC ?
1790x03,0x00,0x00,0x00,0x00,0x00, // AD ?
1800x00,0x00,0x00,0x71,0x71,0x71, // AE ?
1810x00,0x00,0x00,0x00,0x00,0x00, // AF ?
1820x00,0x00,0x00,0x00,0x00,0x00, // B0 °
1830x00,0x00,0x00,0x00,0x00,0x00, // B1 ±
1840x00,0x00,0x00,0x00,0x00,0x00, // B2 ?
1850x00,0x00,0x00,0x00,0x00,0x00, // B3 ?
1860x00,0x00,0x00,0x00,0x00,0x0F, // B4 ´
1870x1F,0x3F,0x7F,0x7F,0x7F,0x7F, // B5 ?
1880x7F,0x3F,0x1E,0x0C,0x00,0x1F, // B6 ¶
1890x1F,0x1F,0x3F,0x00,0x3F,0x3F, // B7 ?
1900x3F,0x7F,0x7F,0x7F,0x00,0x30, // B8 ?
1910x7B,0x7F,0x78,0x30,0x20,0x20, // B9 ?
1920x30,0x78,0x7F,0x3B,0x00,0x03, // BA ?
1930x00,0x0F,0x7F,0x0F,0x0F,0x0F, // BB ?
1940x7F,0x0F,0x00,0x03,0x00,0x00, // BC ?
1950x00,0x00,0x00,0x00,0x00,0x00, // BD ?
1960x00,0x00,0x00,0x00,0x00,0x00, // BE ?
1970x00,0x00,0x00,0x00,0x00,0xFF, // BF ?
1980x1C,0x1C,0x1C,0x00,0x00,0x00, // C0 ?
1990x00,0x00,0x00,0x00,0x00,0x00, // C1 ?
2000x07,0x0F,0x00,0x00,0x00,0x00, // C2 ?
2010x00,0x00,0x00,0x00,0x00,0x00, // C3 ?
2020x00,0x00,0x00,0x1C,0x1C,0x1C, // C4 ?
2030x1C,0x1C,0x1C,0x00,0x00,0x00, // C5 ?
2040x00,0x00,0x80,0x80,0xC0,0x40, // C6 ?
2050x80,0x00,0x00,0x00,0xC0,0x40, // C7 ?
2060x40,0xC0,0xC0,0xC0,0x00,0x00, // C8 ?
2070x00,0x00,0x00,0x1C,0x1C,0x1C, // C9 ?
2080x1C,0x1C,0x1C,0x00,0x00,0x00, // CA ?
2090x00,0x00,0x00,0x00,0x00,0x00, // CB ?
2100x00,0x00,0x00,0x00,0x00,0x00, // CC ?
2110x00,0x00,0x00,0x00,0x00,0x00, // CD ?
2120x00,0x00,0x00,0x1C,0x1C,0x1C, // CE ?
2130x00,0x00,0x00,0x00,0x00,0x00, // CF ?
2140x00,0x00,0x00,0x00,0x00,0x00, // D0 ?
2150x00,0x00,0x00,0x00,0x00,0x00, // D1 ?
2160x00,0x00,0x00,0x00,0x00,0x00, // D2 ?
2170x00,0x00,0x00,0x00,0x00,0x00, // D3 ?
2180x00,0x00,0x00,0x00,0x00,0x00, // D4 ?
2190x00,0x00,0x00,0x00,0x00,0x00, // D5 ?
2200x00,0x00,0x00,0x00,0x00,0x00, // D6 ?
2210x00,0x00,0x00,0x00,0x00,0x00, // D7 ×
2220x00,0x00,0x00,0x00,0x00,0x00, // D8 ?
2230x00,0x00,0x00,0x00,0x00,0x00, // D9 ?
2240x00,0x00,0x00,0x00,0x00,0x00, // DA ?
2250x00,0x00,0x00,0x00,0x00,0x00, // DB ?
2260x00,0x00,0x00,0x00,0x00,0x00, // DC ?
2270x00,0x00,0x00,0x00,0x00,0x00, // DD ?
2280x00,0x00,0x00,0x00,0x00,0x00, // DE ?
2290x00,0x00,0x00,0x00,0x00,0xFF, // DF ?
230};
231static 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 000000000..44833857d
--- /dev/null
+++ b/keyboards/getta25/keymaps/oled/keymap.c
@@ -0,0 +1,204 @@
1#include QMK_KEYBOARD_H
2#include "keymap_jp.h"
3
4#ifdef OLED_DRIVER_ENABLE
5static uint32_t oled_timer = 0;
6#endif
7
8// Each layer gets a name for readability, which is then used in the keymap matrix below.
9// The underscores don't mean anything - you can have a layer called STUFF or any other name.
10// Layer names don't all need to be of the same length, obviously, and you can also skip them
11// entirely and just use numbers.
12enum layer_number {
13 _BASE,
14 _ARROW,
15 _MACRO,
16 _ADJUST,
17};
18
19enum custom_keycodes {
20 RGB_RST = SAFE_RANGE,
21 SEND_SUM,
22 SEND_AVE,
23 SEND_CIF,
24 SEND_MAX,
25 SEND_MIN
26};
27
28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29 [_BASE] = LAYOUT(
30 //,-----------------------------------|
31 KC_ESC, KC_F2, JP_EQL, KC_DEL,
32 //|--------+--------+--------+--------|
33 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
34 //|--------+--------+--------+--------+--------|
35 KC_P7, KC_P8, KC_P9, LCTL(JP_LBRC),
36 //|--------+--------+--------+--------+--------|
37 KC_P4, KC_P5, KC_P6, KC_PPLS, JP_EQL,
38 //|--------+--------+--------+--------+--------|
39 KC_P1, KC_P2, KC_P3, KC_DEL,
40 //|--------+--------+--------+--------+--------|
41LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT,KC_BSPC
42 //`--------------------------------------------'
43 ),
44
45 [_ARROW] = LAYOUT(
46 //,-----------------------------------|
47 _______, _______, _______, _______,
48 //|--------+--------+--------+--------|
49 XXXXXXX, _______, _______, _______,
50 //|--------+--------+--------+--------+--------|
51 XXXXXXX, KC_UP, XXXXXXX, _______,
52 //|--------+--------+--------+--------+--------|
53 KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______,
54 //|--------+--------+--------+--------+--------|
55 XXXXXXX, KC_DOWN, XXXXXXX, _______,
56 //|--------+--------+--------+--------+--------|
57 MO(_ARROW), MO(_MACRO), _______, _______
58 //`--------------------------------------------'
59 ),
60
61 [_MACRO] = LAYOUT(
62 //,-----------------------------------|
63 _______, _______, _______, _______,
64 //|--------+--------+--------+--------|
65 SEND_MIN,SEND_MAX,SEND_CIF,SEND_AVE,
66 //|--------+--------+--------+--------+--------|
67 KC_F7, KC_F8, KC_F9, _______,
68 //|--------+--------+--------+--------+--------|
69 KC_F4, KC_F5, KC_F6,SEND_SUM, _______,
70 //|--------+--------+--------+--------+--------|
71 KC_F11, KC_F12, KC_F3, _______,
72 //|--------+--------+--------+--------+--------|
73 _______, _______, JP_RPRN, _______
74 //`--------------------------------------------'
75 ),
76
77 [_ADJUST] = LAYOUT( /* Base */
78 //,-----------------------------------|
79 _______, _______, _______, _______,
80 //|--------+--------+--------+--------|
81 XXXXXXX, XXXXXXX, XXXXXXX, _______,
82 //|--------+--------+--------+--------+--------|
83 RGB_SAD, RGB_SAI, XXXXXXX, _______,
84 //|--------+--------+--------+--------+--------|
85 RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, _______,
86 //|--------+--------+--------+--------+--------|
87 RGB_VAD, RGB_VAI, XXXXXXX, _______,
88 //|--------+--------+--------+--------+--------|
89 _______, _______, RGB_MOD, _______
90 //`--------------------------------------------'
91 )
92};
93
94//A description for expressing the layer position in LED mode.
95layer_state_t layer_state_set_user(layer_state_t state) {
96 state = update_tri_layer_state(state, _ARROW, _MACRO, _ADJUST);
97#ifdef RGBLIGHT_ENABLE
98 switch (get_highest_layer(state)) {
99 case _ARROW:
100 rgblight_sethsv_at(HSV_BLUE, 0);
101 break;
102 case _MACRO:
103 rgblight_sethsv_at(HSV_RED, 0);
104 break;
105 case _ADJUST:
106 rgblight_sethsv_at(HSV_PURPLE, 0);
107 break;
108 default: // for any other layers, or the default layer
109 rgblight_sethsv_range( 0, 0, 0, 0, 1);
110 break;
111 }
112 rgblight_set_effect_range( 1, 8);
113#endif
114return state;
115}
116
117int RGB_current_mode;
118bool process_record_user(uint16_t keycode, keyrecord_t *record) {
119 bool result = false;
120 if (record->event.pressed) {
121 #ifdef OLED_DRIVER_ENABLE
122 oled_timer = timer_read32();
123 #endif
124 }
125 switch (keycode) {
126 case SEND_SUM:
127 if (record->event.pressed) {
128 SEND_STRING("_SUM*");
129 }
130 break;
131 case SEND_AVE:
132 if (record->event.pressed) {
133 SEND_STRING("_AVERAGE*");
134 }
135 break;
136 case SEND_CIF:
137 if (record->event.pressed) {
138 SEND_STRING("_COUNTIF*");
139 }
140 break;
141 case SEND_MAX:
142 if (record->event.pressed) {
143 SEND_STRING("_MAX*");
144 }
145 break;
146 case SEND_MIN:
147 if (record->event.pressed) {
148 SEND_STRING("_MIN*");
149 }
150 break;
151 default:
152 result = true;
153 break;
154 }
155
156 return result;
157}
158
159#ifdef OLED_DRIVER_ENABLE
160oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
161
162void render_layer_state(void) {
163 oled_write_P(PSTR(" "), false);
164 oled_write_P(PSTR("LAYER"), false);
165 oled_write_P(PSTR("Arrow"), layer_state_is(_ARROW));
166 oled_write_P(PSTR("Macro"), layer_state_is(_MACRO));
167 oled_write_P(PSTR("Adjus"), layer_state_is(_ADJUST));
168 oled_write_P(PSTR(" "), false);
169}
170
171void render_keylock_status(led_t led_state) {
172 oled_write_P(PSTR("NumL "), led_state.num_lock);
173}
174
175void render_layer_messages(void) {
176 oled_write_P(PSTR("GETtA 25 For Your Good Job. "), false);
177}
178
179void render_status(void) {
180 /* Show Keyboard Layout */
181 render_layer_state();
182 render_keylock_status(host_keyboard_led_state());
183}
184
185void oled_task_user(void) {
186 static const char PROGMEM font_logo[] = {
187 0x80,0x81,0x82,0x83,0x84,
188 0xa0,0xa1,0xa2,0xa3,0xa4,
189 0xc0,0xc1,0xc2,0xc3,0xc4,
190
191 0x85,0x86,0x87,0x88,0x89,
192 0xa5,0xa6,0xa7,0xa8,0xa9,
193 0xc5,0xc6,0xc7,0xc8,0xc9,
194
195 0x8a,0x8b,0x8c,0x8d,0x8e,
196 0xaa,0xab,0xac,0xad,0xae,
197 0xca,0xcb,0xcc,0xcd,0xce,0
198 };
199 oled_write_P(font_logo, false);
200
201 render_status(); // Renders the current keyboard state (layer, lock)
202}
203
204#endif
diff --git a/keyboards/getta25/readme.md b/keyboards/getta25/readme.md
new file mode 100644
index 000000000..886e52a2e
--- /dev/null
+++ b/keyboards/getta25/readme.md
@@ -0,0 +1,17 @@
1# getta25
2
3![getta25](https://cdn-ak.f.st-hatena.com/images/fotolife/S/Salicylic_acid3/20191127/20191127005608.png)
4
5This is 25 keys tenkeypad.
6
7* Keyboard Maintainer: [Salicylic_acid3](https://github.com/Salicylic-acid3)
8* Hardware Supported: Getta25 PCB, Pro Micro
9* Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_Data), [Booth Shop](https://salicylic-acid3.booth.pm/items/1700006)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make getta25:default
14
15See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
16
17[Build guide](https://salicylic-acid3.hatenablog.com/entry/getta25-rev2-build-guide)
diff --git a/keyboards/getta25/rev1/config.h b/keyboards/getta25/rev1/config.h
new file mode 100644
index 000000000..e7b198c57
--- /dev/null
+++ b/keyboards/getta25/rev1/config.h
@@ -0,0 +1,73 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0xFEED
23#define PRODUCT_ID 0x3060
24#define DEVICE_VER 0x0013
25#define MANUFACTURER Salicylic_Acid
26#define PRODUCT getta25
27#define DESCRIPTION A custom keyboard
28
29/* key matrix size */
30#define MATRIX_ROWS 5
31#define MATRIX_COLS 6
32
33// wiring of each half
34#define MATRIX_ROW_PINS { D4, C6, D7, E6, B2 }
35#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
36
37/* Set 0 if debouncing isn't needed */
38#define DEBOUNCE 5
39
40/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
41#define LOCKING_SUPPORT_ENABLE
42/* Locking resynchronize hack */
43#define LOCKING_RESYNC_ENABLE
44
45/* ws2812 RGB LED */
46#define RGB_DI_PIN D3
47
48#define RGBLED_NUM 9 // Number of LEDs
49#define RGBLIGHT_ANIMATIONS
50
51#ifndef IOS_DEVICE_ENABLE
52 #define RGBLIGHT_LIMIT_VAL 180
53 #define RGBLIGHT_VAL_STEP 17
54#else
55 #define RGBLIGHT_LIMIT_VAL 50
56 #define RGBLIGHT_VAL_STEP 4
57#endif
58#define RGBLIGHT_HUE_STEP 10
59#define RGBLIGHT_SAT_STEP 17
60
61#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
62// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
63// 120 RGBoff, OLEDoff
64// 120 OLED
65// 330 RGB 6
66// 300 RGB 32
67// 310 OLED & RGB 32
68 #define USB_MAX_POWER_CONSUMPTION 400
69#else
70 // fix iPhone and iPad power adapter issue
71 // iOS device need lessthan 100
72 #define USB_MAX_POWER_CONSUMPTION 100
73#endif
diff --git a/keyboards/getta25/rev1/rev1.c b/keyboards/getta25/rev1/rev1.c
new file mode 100644
index 000000000..520a869e5
--- /dev/null
+++ b/keyboards/getta25/rev1/rev1.c
@@ -0,0 +1 @@
#include "rev1.h"
diff --git a/keyboards/getta25/rev1/rev1.h b/keyboards/getta25/rev1/rev1.h
new file mode 100644
index 000000000..98f4318a6
--- /dev/null
+++ b/keyboards/getta25/rev1/rev1.h
@@ -0,0 +1,35 @@
1#pragma once
2
3#include "getta25.h"
4
5/*
6 * ,-----------------------.
7 * | L05 | L15 | L25 | L35 |
8 * |-----------------------+
9 * | L04 | L14 | L24 | L34 |
10 * |-----------------------------+
11 * | L03 | L13 | L23 | | L43 |
12 * |-----------------------------+
13 * | L02 | L12 | L22 | L32 | L42 |
14 * |-----------------------------+
15 * | L01 | L11 | L21 | | L41 |
16 * |-----------------------------+
17 * | L00 | | L20 | L30 | L40 |
18 * ,-----------------------------'
19 */
20
21#define LAYOUT( \
22 L05, L15, L25, L35, \
23 L04, L14, L24, L34, \
24 L03, L13, L23, L43, \
25 L02, L12, L22, L32, L42, \
26 L01, L11, L21, L41, \
27 L00, L20, L30, L40 \
28 ) \
29 { \
30 { L00, L01, L02, L03, L04, L05 }, \
31 {KC_NO, L11, L12, L13, L14, L15 }, \
32 { L20, L21, L22, L23, L24, L25 }, \
33 { L30,KC_NO, L32,KC_NO, L34, L35 }, \
34 { L40, L41, L42, L43,KC_NO,KC_NO } \
35 }
diff --git a/keyboards/getta25/rules.mk b/keyboards/getta25/rules.mk
new file mode 100644
index 000000000..65aca7613
--- /dev/null
+++ b/keyboards/getta25/rules.mk
@@ -0,0 +1,33 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = caterina
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
23BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
24MIDI_ENABLE = no # MIDI controls
25AUDIO_ENABLE = no # Audio output on port C6
26UNICODE_ENABLE = no # Unicode
27BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
28RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
29OLED_DRIVER_ENABLE = yes
30# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
31SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
32
33DEFAULT_FOLDER = getta25/rev1