[Keyboard] Add keyboard Getta25 (#7497)
authorSalicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com>
Mon, 20 Jan 2020 22:40:33 +0000 (07:40 +0900)
committerJames Young <18669334+noroadsleft@users.noreply.github.com>
Mon, 20 Jan 2020 22:40:33 +0000 (14:40 -0800)
* [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

14 files changed:
keyboards/getta25/config.h [new file with mode: 0644]
keyboards/getta25/getta25.c [new file with mode: 0644]
keyboards/getta25/getta25.h [new file with mode: 0644]
keyboards/getta25/info.json [new file with mode: 0644]
keyboards/getta25/keymaps/default/config.h [new file with mode: 0644]
keyboards/getta25/keymaps/default/keymap.c [new file with mode: 0644]
keyboards/getta25/keymaps/oled/config.h [new file with mode: 0644]
keyboards/getta25/keymaps/oled/glcdfont.c [new file with mode: 0644]
keyboards/getta25/keymaps/oled/keymap.c [new file with mode: 0644]
keyboards/getta25/readme.md [new file with mode: 0644]
keyboards/getta25/rev1/config.h [new file with mode: 0644]
keyboards/getta25/rev1/rev1.c [new file with mode: 0644]
keyboards/getta25/rev1/rev1.h [new file with mode: 0644]
keyboards/getta25/rules.mk [new file with mode: 0644]

diff --git a/keyboards/getta25/config.h b/keyboards/getta25/config.h
new file mode 100644 (file)
index 0000000..cfb6bf4
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+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
+
+#include "config_common.h"
diff --git a/keyboards/getta25/getta25.c b/keyboards/getta25/getta25.c
new file mode 100644 (file)
index 0000000..4f8cc63
--- /dev/null
@@ -0,0 +1 @@
+#include "getta25.h"
diff --git a/keyboards/getta25/getta25.h b/keyboards/getta25/getta25.h
new file mode 100644 (file)
index 0000000..ff44820
--- /dev/null
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "quantum.h"
+
+#ifdef KEYBOARD_getta25_rev1
+  #include "rev1.h"
+#endif
diff --git a/keyboards/getta25/info.json b/keyboards/getta25/info.json
new file mode 100644 (file)
index 0000000..d3a02f2
--- /dev/null
@@ -0,0 +1,38 @@
+{
+    "keyboard_name": "Getta25", 
+    "url": "https://salicylic-acid3.hatenablog.com/", 
+    "maintainer": "Salicylic_acid3", 
+    "width": 5.25, 
+    "height": 6.25, 
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                 {"label":"ESC", "x":0, "y":0},
+                 {"label":"F2", "x":1, "y":0},
+                 {"label":"=", "x":2, "y":0},
+                 {"label":"DEL", "x":3, "y":0},
+                 {"label":"Num Lock", "x":0, "y":1.25},
+                 {"label":"/", "x":1, "y":1.25},
+                 {"label":"*", "x":2, "y":1.25},
+                 {"label":"-", "x":3, "y":1.25},
+                 {"label":"7", "x":0, "y":2.25},
+                 {"label":"8", "x":1, "y":2.25},
+                 {"label":"9", "x":2, "y":2.25},
+                 {"label":"ESC", "x":4.25, "y":2.25},
+                 {"label":"4", "x":0, "y":3.25},
+                 {"label":"5", "x":1, "y":3.25},
+                 {"label":"6", "x":2, "y":3.25},
+                 {"label":"+", "x":3, "y":2.25, "h":2},
+                 {"label":"F2", "x":4.25, "y":3.25},
+                 {"label":"1", "x":0, "y":4.25},
+                 {"label":"2", "x":1, "y":4.25},
+                 {"label":"3", "x":2, "y":4.25},
+                 {"label":"DEL", "x":4.25, "y":4.25},
+                 {"label":"0", "x":0, "y":5.25, "w":2},
+                 {"label":".", "x":2, "y":5.25},
+                 {"label":"Enter", "x":3, "y":4.25, "h":2},
+                 {"label":"BSPC", "x":4.25, "y":5.25}
+            ]
+        }
+    }
+}
diff --git a/keyboards/getta25/keymaps/default/config.h b/keyboards/getta25/keymaps/default/config.h
new file mode 100644 (file)
index 0000000..8c4e1f5
--- /dev/null
@@ -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 (file)
index 0000000..a70df01
--- /dev/null
@@ -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 (file)
index 0000000..be98891
--- /dev/null
@@ -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 (file)
index 0000000..939db32
--- /dev/null
@@ -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 (file)
index 0000000..4483385
--- /dev/null
@@ -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
diff --git a/keyboards/getta25/readme.md b/keyboards/getta25/readme.md
new file mode 100644 (file)
index 0000000..886e52a
--- /dev/null
@@ -0,0 +1,17 @@
+# getta25
+
+![getta25](https://cdn-ak.f.st-hatena.com/images/fotolife/S/Salicylic_acid3/20191127/20191127005608.png)
+
+This is 25 keys tenkeypad. 
+
+* Keyboard Maintainer: [Salicylic_acid3](https://github.com/Salicylic-acid3)
+* Hardware Supported: Getta25 PCB, Pro Micro
+* Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_Data), [Booth Shop](https://salicylic-acid3.booth.pm/items/1700006)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make getta25:default
+
+See 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).
+
+[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 (file)
index 0000000..e7b198c
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+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
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xFEED
+#define PRODUCT_ID      0x3060
+#define DEVICE_VER      0x0013
+#define MANUFACTURER    Salicylic_Acid
+#define PRODUCT         getta25
+#define DESCRIPTION     A custom keyboard
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D4, C6, D7, E6, B2 }
+#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+
+#define RGBLED_NUM 9    // Number of LEDs
+#define RGBLIGHT_ANIMATIONS
+
+#ifndef IOS_DEVICE_ENABLE
+  #define RGBLIGHT_LIMIT_VAL 180
+  #define RGBLIGHT_VAL_STEP 17
+#else
+  #define RGBLIGHT_LIMIT_VAL 50
+  #define RGBLIGHT_VAL_STEP 4
+#endif
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 17
+
+#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
+// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
+//  120  RGBoff, OLEDoff
+//  120  OLED
+//  330  RGB 6
+//  300  RGB 32
+//  310  OLED & RGB 32
+  #define USB_MAX_POWER_CONSUMPTION 400
+#else
+  // fix iPhone and iPad power adapter issue
+  // iOS device need lessthan 100
+  #define USB_MAX_POWER_CONSUMPTION 100
+#endif
diff --git a/keyboards/getta25/rev1/rev1.c b/keyboards/getta25/rev1/rev1.c
new file mode 100644 (file)
index 0000000..520a869
--- /dev/null
@@ -0,0 +1 @@
+#include "rev1.h"
diff --git a/keyboards/getta25/rev1/rev1.h b/keyboards/getta25/rev1/rev1.h
new file mode 100644 (file)
index 0000000..98f4318
--- /dev/null
@@ -0,0 +1,35 @@
+#pragma once
+
+#include "getta25.h"
+
+/*
+ * ,-----------------------.
+ * | L05 | L15 | L25 | L35 |
+ * |-----------------------+
+ * | L04 | L14 | L24 | L34 |
+ * |-----------------------------+
+ * | L03 | L13 | L23 |     | L43 |
+ * |-----------------------------+
+ * | L02 | L12 | L22 | L32 | L42 |
+ * |-----------------------------+
+ * | L01 | L11 | L21 |     | L41 |
+ * |-----------------------------+
+ * | L00 |     | L20 | L30 | L40 |
+ * ,-----------------------------'
+ */
+
+#define LAYOUT( \
+       L05, L15, L25, L35, \
+       L04, L14, L24, L34, \
+       L03, L13, L23,      L43, \
+       L02, L12, L22, L32, L42, \
+       L01, L11, L21,      L41, \
+       L00,      L20, L30, L40  \
+  ) \
+  { \
+    {  L00,  L01,  L02,  L03,  L04,  L05  },  \
+    {KC_NO,  L11,  L12,  L13,  L14,  L15  },  \
+    {  L20,  L21,  L22,  L23,  L24,  L25  },  \
+    {  L30,KC_NO,  L32,KC_NO,  L34,  L35  },  \
+    {  L40,  L41,  L42,  L43,KC_NO,KC_NO  }   \
+  }
diff --git a/keyboards/getta25/rules.mk b/keyboards/getta25/rules.mk
new file mode 100644 (file)
index 0000000..65aca76
--- /dev/null
@@ -0,0 +1,33 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = caterina
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no        # 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 = no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+MIDI_ENABLE = no            # MIDI controls
+AUDIO_ENABLE = no           # Audio output on port C6
+UNICODE_ENABLE = no         # Unicode
+BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight. 
+OLED_DRIVER_ENABLE = yes
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
+
+DEFAULT_FOLDER = getta25/rev1