aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/latinpadble/config.h101
-rw-r--r--keyboards/latinpadble/info.json34
-rw-r--r--keyboards/latinpadble/keymaps/default/keymap.c52
-rw-r--r--keyboards/latinpadble/keymaps/via/keymap.c81
-rw-r--r--keyboards/latinpadble/keymaps/via/rules.mk2
-rw-r--r--keyboards/latinpadble/latinpadble.c17
-rw-r--r--keyboards/latinpadble/latinpadble.h33
-rw-r--r--keyboards/latinpadble/lib/glcdfont.c243
-rw-r--r--keyboards/latinpadble/readme.md14
-rw-r--r--keyboards/latinpadble/rules.mk44
10 files changed, 621 insertions, 0 deletions
diff --git a/keyboards/latinpadble/config.h b/keyboards/latinpadble/config.h
new file mode 100644
index 000000000..9c055d9b7
--- /dev/null
+++ b/keyboards/latinpadble/config.h
@@ -0,0 +1,101 @@
1/*
2Copyright 2021 haierwangwei2005
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.*/
16
17#pragma once
18
19#include "config_common.h"
20#define VENDOR_ID 0x7C88 // "hw" = haierwangwei2005
21#define PRODUCT_ID 0x7C98 // "lp" = latinpadble
22#define DEVICE_VER 0x0001
23#define MANUFACTURER haierwangwei2005
24#define PRODUCT latinpadble
25
26// #define NO_ACTION_LAYER
27// #define NO_ACTION_TAPPING
28// #define NO_ACTION_ONESHOT
29#define NO_ACTION_MACRO
30#define NO_ACTION_FUNCTION
31
32
33
34/* key matrix size */
35#define MATRIX_ROWS 5
36#define MATRIX_COLS 4
37#define MATRIX_ROW_PINS { F0, F6, F5, F4, F1 }
38#define MATRIX_COL_PINS { D6, D7, B5, B6 }
39#define UNUSED_PINS
40
41#define DIODE_DIRECTION ROW2COL
42
43#define SSD1306OLED
44#define RGB_DI_PIN B7
45
46#define RGBLED_NUM 4
47#define DRIVER_LED_TOTAL RGBLED_NUM
48
49/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
50#define DEBOUNCE 5
51
52
53#define RGBLIGHT_VAL_STEP 25
54#define RGBLIGHT_LIMIT_VAL 255
55#define RGBLIGHT_EFFECT_KNIGHT_OFFSET 20
56//#define RGBLIGHT_ANIMATIONS // Run RGB animations
57#define DISABLE_RGB_MATRIX_ALPHAS_MODS
58#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
59#define DISABLE_RGB_MATRIX_BREATHING
60#define DISABLE_RGB_MATRIX_BAND_SAT
61#define DISABLE_RGB_MATRIX_BAND_VAL
62#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
63#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
64#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
65#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
66#define DISABLE_RGB_MATRIX_CYCLE_ALL
67#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
68#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
69#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
70#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
71#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
72#define DISABLE_RGB_MATRIX_DUAL_BEACON
73#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
74#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
75#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
76#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
77#define DISABLE_RGB_MATRIX_RAINDROPS
78#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
79#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
80#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
81#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
82#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
83#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
84#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
85#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
86#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
87#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
88#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
89#define DISABLE_RGB_MATRIX_SPLASH
90#define DISABLE_RGB_MATRIX_MULTISPLASH
91#define DISABLE_RGB_MATRIX_SOLID_SPLASH
92#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
93
94
95
96#define OLED_FONT_H "./lib/glcdfont.c"
97
98#define ENCODERS_PAD_A { C7 }
99#define ENCODERS_PAD_B { F7 }
100
101#define ENCODER_RESOLUTION 4
diff --git a/keyboards/latinpadble/info.json b/keyboards/latinpadble/info.json
new file mode 100644
index 000000000..d650dc9f6
--- /dev/null
+++ b/keyboards/latinpadble/info.json
@@ -0,0 +1,34 @@
1{
2 "keyboard_name": "latinpadble",
3 "url": "https://github.com/latincompass/2-RotaryEncoder-pad",
4 "maintainer": "haierwangwei2005",
5
6 "width": 4,
7 "height": 5,
8 "layouts": {
9
10 "LAYOUT": {
11 "layout": [
12 {"label":"Num Lock", "x":0, "y":0, "w":0.8, "h":0.8},
13 {"label":"/", "x":0.8, "y":0, "w":0.8, "h":0.8},
14
15 {"label":"7", "x":0, "y":1},
16 {"label":"8", "x":1, "y":1},
17 {"label":"9", "x":2, "y":1},
18 {"label":"+", "x":3, "y":1},
19 {"label":"4", "x":0, "y":2},
20 {"label":"5", "x":1, "y":2},
21 {"label":"6", "x":2, "y":2},
22 {"label":"+", "x":3, "y":2},
23 {"label":"1", "x":0, "y":3},
24 {"label":"2", "x":1, "y":3},
25 {"label":"3", "x":2, "y":3},
26 {"label":"Enter", "x":3, "y":3},
27 {"label":"0", "x":0, "y":4},
28 {"label":"0", "x":1, "y":4},
29 {"label":".", "x":2, "y":4},
30 {"label":"Enter", "x":3, "y":4}
31 ]
32 }
33 }
34}
diff --git a/keyboards/latinpadble/keymaps/default/keymap.c b/keyboards/latinpadble/keymaps/default/keymap.c
new file mode 100644
index 000000000..e20568540
--- /dev/null
+++ b/keyboards/latinpadble/keymaps/default/keymap.c
@@ -0,0 +1,52 @@
1 /* Copyright 2021 haierwangwei2005
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#include QMK_KEYBOARD_H
17const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
18 [0] = LAYOUT_pad(
19 KC_PGUP,
20 KC_KP_7, KC_KP_8, KC_KP_9, MO(1),
21 KC_P4, KC_P5, KC_P6, KC_KP_PLUS,
22 KC_P1, KC_P2, KC_P3, KC_KP_MINUS,
23 KC_P0, KC_PDOT,KC_DELETE, KC_KP_ENTER),
24 [1] = LAYOUT_pad(
25 KC_NUMLOCK,
26 RGB_TOG, RGB_MOD, RGB_M_K, RGB_M_X,
27 RGB_SAI, RGB_SAD, RGB_HUI, RGB_HUD,
28 RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD,
29 RGB_SPI, RGB_SPD, RGB_TOG, KC_TRNS),
30};
31
32static void render_logo(void) {
33 static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0};
34 oled_write_P(qmk_logo, false);
35}
36
37#ifdef OLED_DRIVER_ENABLE
38void oled_task_user(void) { render_logo(); }
39#endif
40
41void encoder_update_user(uint8_t index, bool clockwise) {
42 if (index == 0) { /* First encoder */
43 if (clockwise) {
44 tap_code(KC_PGDN);
45 } else {
46 tap_code(KC_PGUP);
47 }
48 }
49}
50
51
52void matrix_init_user(void) { render_logo(); }
diff --git a/keyboards/latinpadble/keymaps/via/keymap.c b/keyboards/latinpadble/keymaps/via/keymap.c
new file mode 100644
index 000000000..45ebdb493
--- /dev/null
+++ b/keyboards/latinpadble/keymaps/via/keymap.c
@@ -0,0 +1,81 @@
1 /* Copyright 2021 haierwangwei2005
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/* Keymap _0: (Base Layer) Default Layer
17
18 * .----.
19 * |PGUP|
20 * |-----------------------.
21 * | 7 | 8 | 9 | MO1 |
22 * |-----|-----|-----|-----|
23 * | 4 | 5 | 6 | + |
24 * |-----|-----|-----|-----|
25 * | 1 | 2 | 3 | — |
26 * |-----|-----|-----|-----|
27 * | 0 | . | DEL |Enter|
28 * .-----------------------.
29 */
30 /* Keymap _1: (Second Layer) second Layer
31
32 * .--------.
33 * |NUMLOCK|
34 * |--------------------------------.
35 * |RGB_TOG|RGB_MOD|RGB_M_K|RGB_M_X |
36 * |-------|-------|-------|--------|
37 * |RGB_SAI|RGB_SAD|RGB_HUI|RGB_HUD |
38 * |-------|-------|-------|--------|
39 * |RGB_VAI|RGB_VAD|RGB_SPI|RGB_SPD |
40 * |-------|-------|-------|--------|
41 * |RGB_SPI|RGB_SPD|RGB_TOG|KC_TRNS |
42 * .--------------------------------.
43*/
44
45#include QMK_KEYBOARD_H
46const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
47 [0] = LAYOUT_pad(
48 KC_PGUP,
49 KC_KP_7, KC_KP_8, KC_KP_9, MO(1),
50 KC_P4, KC_P5, KC_P6, KC_KP_PLUS,
51 KC_P1, KC_P2, KC_P3, KC_KP_MINUS,
52 KC_P0, KC_PDOT,KC_DELETE, KC_KP_ENTER),
53 [1] = LAYOUT_pad(
54 KC_NUMLOCK,
55 RGB_TOG, RGB_MOD, RGB_M_K, RGB_M_X,
56 RGB_SAI, RGB_SAD, RGB_HUI, RGB_HUD,
57 RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD,
58 RGB_SPI, RGB_SPD, RGB_TOG, KC_TRNS),
59};
60
61static void render_logo(void) {
62 static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0};
63 oled_write_P(qmk_logo, false);
64}
65
66#ifdef OLED_DRIVER_ENABLE
67void oled_task_user(void) { render_logo(); }
68#endif
69
70void encoder_update_user(uint8_t index, bool clockwise) {
71 if (index == 0) { /* First encoder */
72 if (clockwise) {
73 tap_code(KC_PGDN);
74 } else {
75 tap_code(KC_PGUP);
76 }
77 }
78}
79
80
81void matrix_init_user(void) { render_logo(); }
diff --git a/keyboards/latinpadble/keymaps/via/rules.mk b/keyboards/latinpadble/keymaps/via/rules.mk
new file mode 100644
index 000000000..36b7ba9cb
--- /dev/null
+++ b/keyboards/latinpadble/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2LTO_ENABLE = yes
diff --git a/keyboards/latinpadble/latinpadble.c b/keyboards/latinpadble/latinpadble.c
new file mode 100644
index 000000000..c40c3ff73
--- /dev/null
+++ b/keyboards/latinpadble/latinpadble.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 haierwangwei2005
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#include "latinpadble.h"
17
diff --git a/keyboards/latinpadble/latinpadble.h b/keyboards/latinpadble/latinpadble.h
new file mode 100644
index 000000000..2e3d1be5f
--- /dev/null
+++ b/keyboards/latinpadble/latinpadble.h
@@ -0,0 +1,33 @@
1/* Copyright 2021 haierwangwei2005
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#pragma once
17
18#include "quantum.h"
19
20#define LAYOUT_pad( \
21 K40, \
22 K00, K01, K02, K03, \
23 K10, K11, K12, K13, \
24 K20, K21, K22, K23, \
25 K30, K31, K32, K33 \
26) { \
27 { K40 },\
28 { K00, K01, K02, K03 }, \
29 { K10, K11, K12, K13 }, \
30 { K20, K21, K22, K23 }, \
31 { K30, K31, K32, K33 } \
32}
33
diff --git a/keyboards/latinpadble/lib/glcdfont.c b/keyboards/latinpadble/lib/glcdfont.c
new file mode 100644
index 000000000..32891cbf8
--- /dev/null
+++ b/keyboards/latinpadble/lib/glcdfont.c
@@ -0,0 +1,243 @@
1/* Copyright 2021 haierwangwei2005
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#include "progmem.h"
17// Standard ASCII 5x7 font
18const unsigned char font[] PROGMEM = {
19 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
21 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
22 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
23 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
24 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
25 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
26 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
27 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
28 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
29 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
30 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
31 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
32 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
33 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
34 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
35 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
36 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
37 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
38 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
39 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
40 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
41 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
42 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
43 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
44 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
45 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
46 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
47 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
48 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
49 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
50 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
51 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
52 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
53 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
54 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
55 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
56 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
57 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
58 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
59 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
60 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
61 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
62 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
63 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
64 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
65 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
66 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
67 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
68 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
69 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
70 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
71 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
72 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
73 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
74 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
75 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
76 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
77 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
78 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
79 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
80 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
81 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
82 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
83 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
84 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
85 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
86 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
87 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
88 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
89 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
90 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
91 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
92 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
93 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
94 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
95 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
96 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
97 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
98 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
99 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
100 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
101 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
102 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
103 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
104 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
105 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
106 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
107 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
108 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
109 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
110 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
111 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
112 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
113 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
114 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
115 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
116 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
117 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
118 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
119 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
120 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
121 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
122 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
123 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
124 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
125 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
126 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
127 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
128 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
129 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
130 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
131 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
132 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
133 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
134 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
135 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
136 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
137 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
138 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
139 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
140 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
141 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
142 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
143 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
144 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
145 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
146 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
147 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148 0x00, 0xF8, 0xF8, 0x58, 0x58, 0x5E,
149 0xDA, 0x5A, 0x5B, 0x59, 0xDB, 0x5A,
150 0x5B, 0x58, 0xD8, 0x58, 0x58, 0x58,
151 0xD8, 0x58, 0x58, 0x58, 0xD8, 0x58,
152 0x58, 0x58, 0xD8, 0x58, 0x58, 0x58,
153 0xD8, 0x58, 0x58, 0x78, 0xF8, 0xF8,
154 0xF8, 0x78, 0x78, 0x78, 0xF8, 0x00,
155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
166 0x00, 0x44, 0x28, 0xFF, 0x5A, 0x24,
167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180 0x00, 0xFF, 0xFF, 0x44, 0x55, 0x44,
181 0xFF, 0x44, 0x55, 0x44, 0xFF, 0x44,
182 0x55, 0x44, 0xFF, 0x44, 0x55, 0x44,
183 0xFF, 0x44, 0x55, 0x44, 0xFF, 0x44,
184 0x55, 0x44, 0xFF, 0x44, 0x55, 0x44,
185 0xFF, 0x44, 0x55, 0x44, 0xFF, 0xFF,
186 0xFF, 0xC4, 0xD5, 0xC4, 0xFF, 0x00,
187 0x00, 0xFE, 0x21, 0x61, 0xA1, 0x1E,
188 0x00, 0xFE, 0x01, 0x21, 0x21, 0xEF,
189 0x00, 0xFF, 0x11, 0x11, 0x11, 0xFE,
190 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191 0xFF, 0x11, 0x11, 0x11, 0xFE, 0x00,
192 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
193 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00,
194 0xFF, 0x11, 0x11, 0x11, 0x01, 0x00,
195 0x01, 0x01, 0xFF, 0x01, 0x01, 0x00,
196 0xFF, 0x01, 0x01, 0xFF, 0x00, 0xFF,
197 0x01, 0x01, 0xFF, 0x00, 0x01, 0x01,
198 0xFF, 0x01, 0x01, 0x00, 0xFF, 0x20,
199 0x20, 0x20, 0xFF, 0x00, 0x00, 0x00,
200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
202 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
203 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
204 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
205 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
206 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 0x00, 0x7F, 0x7F, 0x44, 0x55, 0x44,
213 0x7F, 0x44, 0x55, 0x54, 0x57, 0x54,
214 0x55, 0x54, 0x57, 0x54, 0x55, 0x54,
215 0x57, 0x54, 0x55, 0x54, 0x57, 0x54,
216 0x45, 0x7C, 0x47, 0x54, 0x45, 0x7C,
217 0x7F, 0x7C, 0x45, 0x54, 0x57, 0x50,
218 0x5E, 0x50, 0x57, 0x47, 0x7F, 0x00,
219 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
220 0x00, 0x01, 0x02, 0x02, 0x02, 0x03,
221 0x00, 0x03, 0x02, 0x02, 0x02, 0x01,
222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223 0x03, 0x02, 0x02, 0x02, 0x01, 0x00,
224 0x03, 0x02, 0x02, 0x02, 0x02, 0x00,
225 0x03, 0x02, 0x02, 0x02, 0x03, 0x00,
226 0x03, 0x02, 0x02, 0x02, 0x02, 0x00,
227 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
228 0x03, 0x02, 0x02, 0x03, 0x00, 0x03,
229 0x02, 0x02, 0x03, 0x00, 0x00, 0x30,
230 0x2B, 0x7C, 0x20, 0x40, 0x03, 0x7C,
231 0x44, 0x7C, 0x03, 0x00, 0x00, 0x00,
232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
233 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
235 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
237 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
243};
diff --git a/keyboards/latinpadble/readme.md b/keyboards/latinpadble/readme.md
new file mode 100644
index 000000000..324a28feb
--- /dev/null
+++ b/keyboards/latinpadble/readme.md
@@ -0,0 +1,14 @@
1# Latinpadble
2
3![Latinpadble](https://github.com/haierwangwei2005/latinpadble/blob/main/Latinpadble%20(1).JPG)
4
5Panasonic rotary encoder BLE pad
6
7* Keyboard Maintainer: [haierwangwei2005](https://github.com/haierwangwei2005)
8* Hardware Availability: https://github.com/haierwangwei2005/latinpadble/blob/main/Latinpadble%20(1).JPG
9
10Make example for this keyboard (after setting up your build environment):
11
12 make latinpadble:default
13
14See 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).
diff --git a/keyboards/latinpadble/rules.mk b/keyboards/latinpadble/rules.mk
new file mode 100644
index 000000000..cb9789aca
--- /dev/null
+++ b/keyboards/latinpadble/rules.mk
@@ -0,0 +1,44 @@
1
2# MCU name
3MCU = atmega32u4
4
5# Bootloader selection
6# Teensy halfkay
7# Pro Micro caterina
8# Atmel DFU atmel-dfu
9# LUFA DFU lufa-dfu
10# QMK DFU qmk-dfu
11# ATmega32A bootloadHID
12# ATmega328P USBasp
13BOOTLOADER = caterina
14F_CPU = 8000000
15
16
17# Feather uses the caterina bootloader
18OPT_DEFS += -DBOOTLOADER_SIZE=4096 -DCATERINA_BOOTLOADER
19
20# Build Options
21# change yes to no to disable
22#
23
24# Build Options
25# change yes to no to disable
26BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
27MOUSEKEY_ENABLE = yes # Mouse keys
28EXTRAKEY_ENABLE = yes # Audio control and System control
29CONSOLE_ENABLE = no # Console for debug
30COMMAND_ENABLE = no # Commands for debug and configuration
31# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
32SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
33# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
34NKRO_ENABLE = no # USB Nkey Rollover
35BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
36MIDI_ENABLE = no # MIDI controls
37UNICODE_ENABLE = no # Unicode
38AUDIO_ENABLE = no # Audio output on port C6
39BLUETOOTH = AdafruitBLE
40LAYOUTS = pad
41RGBLIGHT_ENABLE = yes
42OLED_DRIVER_ENABLE = yes
43ENCODER_ENABLE = yes
44