aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-10-27 15:09:58 +0000
committerQMK Bot <hello@qmk.fm>2021-10-27 15:09:58 +0000
commitdb0d2a5cd9f21e9f64e9f330a4e55cb1677ed8ba (patch)
treea9fd5ac3642ea1eea19affb11f21f4862b173669
parent64db3ae3a9795ea96bf6f270d378e3b92e757ea9 (diff)
parent128b4eb005c2d8dcedb715e0168bde3beb591bac (diff)
downloadqmk_firmware-db0d2a5cd9f21e9f64e9f330a4e55cb1677ed8ba.tar.gz
qmk_firmware-db0d2a5cd9f21e9f64e9f330a4e55cb1677ed8ba.zip
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/kprepublic/bm65rgb/keymaps/default/keymap.c34
-rw-r--r--keyboards/kprepublic/bm65rgb/keymaps/default/readme.md1
-rw-r--r--keyboards/kprepublic/bm65rgb/readme.md24
-rw-r--r--keyboards/kprepublic/bm65rgb/rev1/config.h122
-rw-r--r--keyboards/kprepublic/bm65rgb/rev1/info.json78
-rw-r--r--keyboards/kprepublic/bm65rgb/rev1/readme.md24
-rw-r--r--keyboards/kprepublic/bm65rgb/rev1/rev1.c44
-rw-r--r--keyboards/kprepublic/bm65rgb/rev1/rev1.h41
-rw-r--r--keyboards/kprepublic/bm65rgb/rev1/rules.mk26
-rw-r--r--keyboards/lily58/keymaps/pttbx/config.h46
-rw-r--r--keyboards/lily58/keymaps/pttbx/keymap.c164
-rw-r--r--keyboards/lily58/keymaps/pttbx/rules.mk5
12 files changed, 609 insertions, 0 deletions
diff --git a/keyboards/kprepublic/bm65rgb/keymaps/default/keymap.c b/keyboards/kprepublic/bm65rgb/keymaps/default/keymap.c
new file mode 100644
index 000000000..dadeb9c14
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/keymaps/default/keymap.c
@@ -0,0 +1,34 @@
1/* Copyright 2021 bytesapart
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
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_65_ansi_blocker(
20 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
21 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
22 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
23 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
25 ),
26 [1] = LAYOUT_65_ansi_blocker(
27 KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
28 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______
32 ),
33
34};
diff --git a/keyboards/kprepublic/bm65rgb/keymaps/default/readme.md b/keyboards/kprepublic/bm65rgb/keymaps/default/readme.md
new file mode 100644
index 000000000..72171ee89
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for bm65rgb
diff --git a/keyboards/kprepublic/bm65rgb/readme.md b/keyboards/kprepublic/bm65rgb/readme.md
new file mode 100644
index 000000000..3a87afabf
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/readme.md
@@ -0,0 +1,24 @@
1# bm65rgb
2
3![bm65rgb](https://i.imgur.com/DskSCve.jpeg)
4
5A 65% hotswap in switch RGB keyboard from KPRepublic.
6
7* Keyboard Maintainer: [bytesapart](https://github.com/bytesapart)
8* Hardware Supported: BM65 RGB
9* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm65rgb-bm65-rgb-65-hot-swappable-custom-mechanical-keyboard-pcb-programmed-qmk-via-firmware-full-rgb-switch-underglow-type-c?_pos=1&_sid=5b9a6a5d0&_ss=r)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make kprepublic/bm65rgb:default
14
15Flashing example for this keyboard:
16
17 make kprepublic/bm65rgb:default:flash
18
19To reset the board into bootloader mode, do one of the following:
20
21* Short the two-pad footprint to the left of the spacebar switch while the board is plugged in
22* Hold the Esc key while connecting the USB cable (also erases persistent settings)
23
24See 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/kprepublic/bm65rgb/rev1/config.h b/keyboards/kprepublic/bm65rgb/rev1/config.h
new file mode 100644
index 000000000..21624b9f1
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/rev1/config.h
@@ -0,0 +1,122 @@
1/*
2Copyright 2021 bytesapart
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
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x4B50 //KP
24#define PRODUCT_ID 0xEF6E
25#define DEVICE_VER 0x0001
26#define MANUFACTURER KPRepublic
27#define PRODUCT BM65 RGB
28
29/* key matrix size */
30#define MATRIX_ROWS 5
31#define MATRIX_COLS 15
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { B0, \
44 B1, \
45 B2, \
46 B3, \
47 E6 }
48#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 }
49#define UNUSED_PINS
50
51/* COL2ROW, ROW2COL */
52#define DIODE_DIRECTION COL2ROW
53
54// The pin connected to the data pin of the LEDs
55#define RGB_DI_PIN E2
56// The number of LEDs connected
57#define DRIVER_LED_TOTAL 73
58#ifdef RGB_DI_PIN
59 #define RGBLED_NUM 73
60 #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
61#endif
62
63/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
64#define DEBOUNCE 5
65
66/* define if matrix has ghost (lacks anti-ghosting diodes) */
67//#define MATRIX_HAS_GHOST
68
69/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
70#define LOCKING_SUPPORT_ENABLE
71/* Locking resynchronize hack */
72#define LOCKING_RESYNC_ENABLE
73
74/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
75 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
76 */
77//#define GRAVE_ESC_CTRL_OVERRIDE
78
79/*
80 * Force NKRO
81 *
82 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
83 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
84 * makefile for this to work.)
85 *
86 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
87 * until the next keyboard reset.
88 *
89 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
90 * fully operational during normal computer usage.
91 *
92 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
93 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
94 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
95 * power-up.
96 *
97 */
98//#define FORCE_NKRO
99
100/*
101 * Feature disable options
102 * These options are also useful to firmware size reduction.
103 */
104
105/* disable debug print */
106//#define NO_DEBUG
107
108/* disable print */
109//#define NO_PRINT
110
111/* disable action features */
112//#define NO_ACTION_LAYER
113//#define NO_ACTION_TAPPING
114//#define NO_ACTION_ONESHOT
115
116/* disable these deprecated features by default */
117#define NO_ACTION_MACRO
118#define NO_ACTION_FUNCTION
119
120/* Bootmagic Lite key configuration */
121//#define BOOTMAGIC_LITE_ROW 0
122//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/kprepublic/bm65rgb/rev1/info.json b/keyboards/kprepublic/bm65rgb/rev1/info.json
new file mode 100644
index 000000000..444d8cee8
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/rev1/info.json
@@ -0,0 +1,78 @@
1{
2 "keyboard_name": "bm65rgb",
3 "url": "",
4 "maintainer": "bytesapart",
5 "layouts": {
6 "LAYOUT_65_ansi": {
7 "layout": [
8 {"label":"K00 (B0,D0)", "x":0, "y":0},
9 {"label":"K01 (B0,D1)", "x":1, "y":0},
10 {"label":"K02 (B0,D2)", "x":2, "y":0},
11 {"label":"K03 (B0,D3)", "x":3, "y":0},
12 {"label":"K04 (B0,D5)", "x":4, "y":0},
13 {"label":"K05 (B0,D4)", "x":5, "y":0},
14 {"label":"K06 (B0,D6)", "x":6, "y":0},
15 {"label":"K07 (B0,D7)", "x":7, "y":0},
16 {"label":"K08 (B0,B4)", "x":8, "y":0},
17 {"label":"K09 (B0,B5)", "x":9, "y":0},
18 {"label":"K0A (B0,B6)", "x":10, "y":0},
19 {"label":"K0B (B0,C6)", "x":11, "y":0},
20 {"label":"K0C (B0,C7)", "x":12, "y":0},
21 {"label":"K0D (B0,F7)", "x":13, "y":0, "w":2},
22 {"label":"K0E (B0,F6)", "x":15, "y":0},
23 {"label":"K10 (B1,D0)", "x":0, "y":1, "w":1.5},
24 {"label":"K11 (B1,D1)", "x":1.5, "y":1},
25 {"label":"K12 (B1,D2)", "x":2.5, "y":1},
26 {"label":"K13 (B1,D3)", "x":3.5, "y":1},
27 {"label":"K14 (B1,D5)", "x":4.5, "y":1},
28 {"label":"K15 (B1,D4)", "x":5.5, "y":1},
29 {"label":"K16 (B1,D6)", "x":6.5, "y":1},
30 {"label":"K17 (B1,D7)", "x":7.5, "y":1},
31 {"label":"K18 (B1,B4)", "x":8.5, "y":1},
32 {"label":"K19 (B1,B5)", "x":9.5, "y":1},
33 {"label":"K1A (B1,B6)", "x":10.5, "y":1},
34 {"label":"K1B (B1,C6)", "x":11.5, "y":1},
35 {"label":"K1C (B1,C7)", "x":12.5, "y":1},
36 {"label":"K1D (B1,F7)", "x":13.5, "y":1, "w":1.5},
37 {"label":"K1E (B1,F6)", "x":15, "y":1},
38 {"label":"K20 (B2,D0)", "x":0, "y":2, "w":1.75},
39 {"label":"K22 (B2,D2)", "x":1.75, "y":2},
40 {"label":"K23 (B2,D3)", "x":2.75, "y":2},
41 {"label":"K24 (B2,D5)", "x":3.75, "y":2},
42 {"label":"K25 (B2,D4)", "x":4.75, "y":2},
43 {"label":"K26 (B2,D6)", "x":5.75, "y":2},
44 {"label":"K27 (B2,D7)", "x":6.75, "y":2},
45 {"label":"K28 (B2,B4)", "x":7.75, "y":2},
46 {"label":"K29 (B2,B5)", "x":8.75, "y":2},
47 {"label":"K2A (B2,B6)", "x":9.75, "y":2},
48 {"label":"K2B (B2,C6)", "x":10.75, "y":2},
49 {"label":"K2C (B2,C7)", "x":11.75, "y":2},
50 {"label":"K2D (B2,F7)", "x":12.75, "y":2, "w":2.25},
51 {"label":"K2E (B2,F6)", "x":15, "y":2},
52 {"label":"K31 (B3,D1)", "x":0, "y":3, "w":2.25},
53 {"label":"K32 (B3,D2)", "x":2.25, "y":3},
54 {"label":"K33 (B3,D3)", "x":3.25, "y":3},
55 {"label":"K34 (B3,D5)", "x":4.25, "y":3},
56 {"label":"K35 (B3,D4)", "x":5.25, "y":3},
57 {"label":"K36 (B3,D6)", "x":6.25, "y":3},
58 {"label":"K37 (B3,D7)", "x":7.25, "y":3},
59 {"label":"K38 (B3,B4)", "x":8.25, "y":3},
60 {"label":"K39 (B3,B5)", "x":9.25, "y":3},
61 {"label":"K3A (B3,B6)", "x":10.25, "y":3},
62 {"label":"K3B (B3,C6)", "x":11.25, "y":3},
63 {"label":"K3C (B3,C7)", "x":12.25, "y":3, "w":1.75},
64 {"label":"K3D (B3,F7)", "x":14, "y":3},
65 {"label":"K3E (B3,F6)", "x":15, "y":3},
66 {"label":"K40 (E6,D0)", "x":0, "y":4, "w":1.25},
67 {"label":"K41 (E6,D1)", "x":1.25, "y":4, "w":1.25},
68 {"label":"K42 (E6,D2)", "x":2.5, "y":4, "w":1.25},
69 {"label":"K46 (E6,D6)", "x":3.75, "y":4, "w":6.25},
70 {"label":"K49 (E6,B5)", "x":10, "y":4},
71 {"label":"K4A (E6,B6)", "x":11, "y":4},
72 {"label":"K49 (E6,B5)", "x":10, "y":4, "w":1.25},
73 {"label":"K4A (E6,B6)", "x":11.25, "y":4, "w":1.25},
74 {"label":"K4E (E6,F6)", "x":15, "y":4}
75 ]
76 }
77 }
78}
diff --git a/keyboards/kprepublic/bm65rgb/rev1/readme.md b/keyboards/kprepublic/bm65rgb/rev1/readme.md
new file mode 100644
index 000000000..119d05d20
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/rev1/readme.md
@@ -0,0 +1,24 @@
1# bm65rgb
2
3![bm65rgb](https://i.imgur.com/DskSCve.jpeg)
4
5A 65% hotswap in switch RGB keyboard from KPRepublic.
6
7* Keyboard Maintainer: [bytesapart](https://github.com/bytesapart)
8* Hardware Supported: BM65 RGB
9* Hardware Availability: [KP Republic](https://kprepublic.com/products/bm65rgb-bm65-rgb-65-hot-swappable-custom-mechanical-keyboard-pcb-programmed-qmk-via-firmware-full-rgb-switch-underglow-type-c?_pos=1&_sid=5b9a6a5d0&_ss=r)
10
11Make example for this keyboard (after setting up your build environment):
12
13 make kprepublic/bm65rgb/rev1:default
14
15Flashing example for this keyboard:
16
17 make kprepublic/bm65rgb/rev1:default:flash
18
19To reset the board into bootloader mode, do one of the following:
20
21* Short the two-pad footprint to the left of the spacebar switch while the board is plugged in
22* Hold the Esc key while connecting the USB cable (also erases persistent settings)
23
24See 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/kprepublic/bm65rgb/rev1/rev1.c b/keyboards/kprepublic/bm65rgb/rev1/rev1.c
new file mode 100644
index 000000000..6f85f256e
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/rev1/rev1.c
@@ -0,0 +1,44 @@
1/* Copyright 2021 bytesapart
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#include "rev1.h"
18
19#ifdef RGB_MATRIX_ENABLE
20led_config_t g_led_config = { {
21 // Key Matrix to LED Index
22 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
23 { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
24 { 30, NO_LED, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 },
25 { NO_LED, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
26 { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, NO_LED, 64, 65, 66 }
27}, {
28 // LED Index to Physical Position
29 { 0, 0}, { 15, 0}, { 30, 0}, { 45, 0}, { 60, 0}, { 75, 0}, { 90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {202, 0}, {225, 0}, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete
30 { 4, 16}, { 22, 16}, { 37, 16}, { 52, 16}, { 67, 16}, { 82, 16}, { 97, 16}, {112, 16}, {127, 16}, {142, 16}, {157, 16}, {172, 16}, {187, 16}, {206, 16}, {225, 16}, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home
31 { 6, 32}, { 26, 32}, { 41, 32}, { 56, 32}, { 71, 32}, { 86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {225, 32}, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up
32 { 9, 48}, { 34, 48}, { 49, 48}, { 64, 48}, { 79, 48}, { 94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {208, 48}, {225, 48}, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down
33 { 2, 64}, { 21, 64}, { 39, 64}, { 94, 64}, {148, 64}, {163, 64}, {193, 64}, {208, 64}, {225, 64}, // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right
34 {185, 45}, {160, 45}, {125, 45}, { 95, 45}, { 60, 45}, { 25, 45} // UNDERGLOW
35}, {
36 // LED Index to Flag
37 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete
38 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home
39 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up
40 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down
41 1, 1, 1, 4, 1, 1, 1, 1, 1, // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right
42 2, 2, 2, 2, 2, 2 // UNDERGLOW
43} };
44#endif
diff --git a/keyboards/kprepublic/bm65rgb/rev1/rev1.h b/keyboards/kprepublic/bm65rgb/rev1/rev1.h
new file mode 100644
index 000000000..4bafcf194
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/rev1/rev1.h
@@ -0,0 +1,41 @@
1/* Copyright 2021 bytesapart
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#include "quantum.h"
20
21/* This is a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT_65_ansi_blocker( \
30 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E,\
31 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E,\
32 k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E,\
33 k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E,\
34 k40, k41, k42, k46, k49, k4A, k4C, k4D, k4E\
35) { \
36 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
37 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
38 { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \
39 { KC_NO, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
40 { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, k49, k4A, KC_NO, k4C, k4D, k4E }, \
41}
diff --git a/keyboards/kprepublic/bm65rgb/rev1/rules.mk b/keyboards/kprepublic/bm65rgb/rev1/rules.mk
new file mode 100644
index 000000000..a0e701971
--- /dev/null
+++ b/keyboards/kprepublic/bm65rgb/rev1/rules.mk
@@ -0,0 +1,26 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
22RGB_MATRIX_ENABLE = yes
23RGB_MATRIX_DRIVER = WS2812
24LTO_ENABLE = yes
25
26LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/lily58/keymaps/pttbx/config.h b/keyboards/lily58/keymaps/pttbx/config.h
new file mode 100644
index 000000000..d843f5b1c
--- /dev/null
+++ b/keyboards/lily58/keymaps/pttbx/config.h
@@ -0,0 +1,46 @@
1/*
2This is the c configuration file for the keymap
3
4Copyright 2012 Jun Wako <wakojun@gmail.com>
5Copyright 2015 Jack Humbert
6
7This program is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#pragma once
22
23/* Select hand configuration */
24
25#define MASTER_LEFT
26// #define MASTER_RIGHT
27// #define EE_HANDS
28
29#define TAPPING_FORCE_HOLD
30#define TAPPING_TERM 100
31
32#undef RGBLED_NUM
33#define RGBLIGHT_ANIMATIONS
34#define RGBLED_NUM 27
35#define RGBLIGHT_LIMIT_VAL 120
36#define RGBLIGHT_HUE_STEP 10
37#define RGBLIGHT_SAT_STEP 17
38#define RGBLIGHT_VAL_STEP 17
39
40// Underglow
41/*
42#undef RGBLED_NUM
43#define RGBLED_NUM 14 // Number of LEDs
44#define RGBLIGHT_ANIMATIONS
45#define RGBLIGHT_SLEEP
46*/
diff --git a/keyboards/lily58/keymaps/pttbx/keymap.c b/keyboards/lily58/keymaps/pttbx/keymap.c
new file mode 100644
index 000000000..944794141
--- /dev/null
+++ b/keyboards/lily58/keymaps/pttbx/keymap.c
@@ -0,0 +1,164 @@
1/* Copyright 2021 Paul Tan
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#include QMK_KEYBOARD_H
18
19enum layer_number {
20 _QWERTY = 0,
21 _LOWER,
22 _RAISE,
23 _ADJUST,
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27
28/* QWERTY
29 * ,-----------------------------------------. ,-----------------------------------------.
30 * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
31 * |------+------+------+------+------+------| |------+------+------+------+------+------|
32 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
33 * |------+------+------+------+------+------| |------+------+------+------+------+------|
34 * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
35 * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
36 * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
37 * `-----------------------------------------/ / \ \-----------------------------------------'
38 * | LOWER| LGUI |LAlt | /Space / \Enter \ |BackSP| RGUI |RAISE |
39 * | | | |/ / \ \ | | | |
40 * `----------------------------' '------''--------------------'
41 */
42
43 [_QWERTY] = LAYOUT(
44 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
45 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
46 KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
47 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
48 MO(_LOWER), KC_LGUI, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_RGUI, MO(_RAISE)
49),
50/* LOWER
51 * ,-----------------------------------------. ,-----------------------------------------.
52 * | | | | | | | | | | | | | |
53 * |------+------+------+------+------+------| |------+------+------+------+------+------|
54 * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
55 * |------+------+------+------+------+------| |------+------+------+------+------+------|
56 * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
57 * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
58 * | | | | | | |-------| |-------| | _ | + | { | } | | |
59 * `-----------------------------------------/ / \ \-----------------------------------------'
60 * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
61 * | | | |/ / \ \ | | | |
62 * `----------------------------' '------''--------------------'
63 */
64[_LOWER] = LAYOUT(
65 _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
66 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
67 KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
68 _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
69 _______, _______, _______, _______, _______, _______, _______, _______
70),
71/* RAISE
72 * ,-----------------------------------------. ,-----------------------------------------.
73 * | | | | | | | | | | | | | |
74 * |------+------+------+------+------+------| |------+------+------+------+------+------|
75 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
76 * |------+------+------+------+------+------| |------+------+------+------+------+------|
77 * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
78 * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
79 * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
80 * `-----------------------------------------/ / \ \-----------------------------------------'
81 * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
82 * | | | |/ / \ \ | | | |
83 * `----------------------------' '------''--------------------'
84 */
85
86[_RAISE] = LAYOUT(
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
88 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
89 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
90 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
91 _______, _______, _______, _______, _______, _______, _______, _______
92),
93/* ADJUST
94 * ,-----------------------------------------. ,-----------------------------------------.
95 * | | | | | | | | | | | | | |
96 * |------+------+------+------+------+------| |------+------+------+------+------+------|
97 * | | | | | | | | | | | | | |
98 * |------+------+------+------+------+------| |------+------+------+------+------+------|
99 * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
100 * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
101 * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
102 * `-----------------------------------------/ / \ \-----------------------------------------'
103 * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
104 * | | | |/ / \ \ | | | |
105 * `----------------------------' '------''--------------------'
106 */
107 [_ADJUST] = LAYOUT(
108 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
109 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
110 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
111 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
112 _______, _______, _______, _______, _______, _______, _______, _______
113 )
114};
115
116layer_state_t layer_state_set_user(layer_state_t state) {
117 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
118}
119
120//SSD1306 OLED update loop, make sure to enable OLED_ENABLE=yes in rules.mk
121#ifdef OLED_ENABLE
122
123oled_rotation_t oled_init_user(oled_rotation_t rotation) {
124 if (!is_keyboard_master())
125 return OLED_ROTATION_180; // flips the display 180 degrees if offhand
126 return rotation;
127}
128
129// When you add source files to SRC in rules.mk, you can use functions.
130const char *read_layer_state(void);
131const char *read_logo(void);
132void set_keylog(uint16_t keycode, keyrecord_t *record);
133const char *read_keylog(void);
134const char *read_keylogs(void);
135
136// const char *read_mode_icon(bool swap);
137// const char *read_host_led_state(void);
138// void set_timelog(void);
139// const char *read_timelog(void);
140
141void oled_task_user(void) {
142 if (is_keyboard_master()) {
143 // If you want to change the display of OLED, you need to change here
144 oled_write_ln(read_layer_state(), false);
145 oled_write_ln(read_keylog(), false);
146 oled_write_ln(read_keylogs(), false);
147 //oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
148 //oled_write_ln(read_host_led_state(), false);
149 //oled_write_ln(read_timelog(), false);
150 } else {
151 oled_write(read_logo(), false);
152 }
153}
154#endif // OLED_ENABLE
155
156bool process_record_user(uint16_t keycode, keyrecord_t *record) {
157 if (record->event.pressed) {
158#ifdef OLED_ENABLE
159 set_keylog(keycode, record);
160#endif
161 // set_timelog();
162 }
163 return true;
164}
diff --git a/keyboards/lily58/keymaps/pttbx/rules.mk b/keyboards/lily58/keymaps/pttbx/rules.mk
new file mode 100644
index 000000000..e2c8a6f74
--- /dev/null
+++ b/keyboards/lily58/keymaps/pttbx/rules.mk
@@ -0,0 +1,5 @@
1# If you want to change the display of OLED, you need to change here
2SRC += ./lib/rgb_state_reader.c \
3 ./lib/layer_state_reader.c \
4 ./lib/logo_reader.c \
5 ./lib/keylogger.c