mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-09-10 17:15:43 +00:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d953332e0 | ||
|
|
03685309fd | ||
|
|
e09ca63317 | ||
|
|
3dbb7f261d | ||
|
|
93e8a401df | ||
|
|
7f9409bbb3 | ||
|
|
633464acfa | ||
|
|
f744e22b49 | ||
|
|
1a913aa12e | ||
|
|
75f83210f4 | ||
|
|
2170b75b26 | ||
|
|
d1270c9d55 | ||
|
|
546dfce209 | ||
|
|
e0614e4f52 | ||
|
|
49dc332a04 | ||
|
|
60e1910e5b | ||
|
|
4e2ab3a177 | ||
|
|
41f649c9a9 | ||
|
|
d91938c19d |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -92,3 +92,4 @@ GRAPHICS
|
||||
# hex files
|
||||
*.hex binary
|
||||
*.eep binary
|
||||
nix/sources.nix linguist-generated=true
|
||||
|
||||
@@ -15,7 +15,7 @@ The breaking change period is when we will merge PR's that change QMK in dangero
|
||||
|
||||
## When is the next Breaking Change?
|
||||
|
||||
The next Breaking Change is scheduled for February 27, 2021.
|
||||
The next Breaking Change is scheduled for May 29, 2021.
|
||||
|
||||
### Important Dates
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
Split ergonomics meets productivity. Breeze Rev1 is a split keyboard with 6×4 keys, 4 key thumb cluster, arrow keys, and a 6 key macro cluster, with ortholinear column-staggered.
|
||||
|
||||
* Keyboard Maintainer: [Eithan Shavit](https://github.com/eithanshavit)
|
||||
* Keyboard Maintainer: [AfternoonLabs](https://github.com/afternoonlabs)
|
||||
* Hardware Supported: Breeze Rev1 PCB
|
||||
* Hardware Availability: Coming soon
|
||||
* Hardware Availability: [store.afternoonlab.com](https://store.afternoonlabs.com)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ BOOTLOADER = caterina
|
||||
#
|
||||
SPLIT_KEYBOARD = yes
|
||||
BOOTMAGIC_ENABLE = lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
|
||||
22
keyboards/afternoonlabs/oceanbreeze/config.h
Normal file
22
keyboards/afternoonlabs/oceanbreeze/config.h
Normal file
@@ -0,0 +1,22 @@
|
||||
/* Copyright 2021 Afternoon Labs
|
||||
*
|
||||
* 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"
|
||||
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
71
keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c
Normal file
71
keyboards/afternoonlabs/oceanbreeze/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,71 @@
|
||||
/* Copyright 2021 Afternoon Labs
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_MAIN,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_MAIN] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
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, KC_LEFT, KC_DOWN, KC_RIGHT,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
_______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1,5 @@
|
||||
# Default Ocean Breeze Layout
|
||||
|
||||

|
||||
|
||||
This is the default suggested layout for Ocean Breeze Split Keyboard.
|
||||
17
keyboards/afternoonlabs/oceanbreeze/oceanbreeze.c
Normal file
17
keyboards/afternoonlabs/oceanbreeze/oceanbreeze.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2021 Afternoon Labs
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include "oceanbreeze.h"
|
||||
21
keyboards/afternoonlabs/oceanbreeze/oceanbreeze.h
Normal file
21
keyboards/afternoonlabs/oceanbreeze/oceanbreeze.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/* Copyright 2021 Afternoon Labs
|
||||
*
|
||||
* 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
|
||||
|
||||
#ifdef KEYBOARD_afternoonlabs_oceanbreeze_rev1
|
||||
# include "rev1.h"
|
||||
#endif
|
||||
49
keyboards/afternoonlabs/oceanbreeze/rev1/config.h
Normal file
49
keyboards/afternoonlabs/oceanbreeze/rev1/config.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/* Copyright 2021 Afternoon Labs
|
||||
*
|
||||
* 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 0x616C
|
||||
#define PRODUCT_ID 0x0003
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER AfternoonLabs
|
||||
#define PRODUCT OceanBreeze
|
||||
|
||||
/* key matrix size */
|
||||
// Rows are doubled-up
|
||||
#define MATRIX_ROWS 12
|
||||
#define MATRIX_COLS 9
|
||||
|
||||
// wiring of each half
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ F4, F5, F6, F7, B1, B6 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ B2, D1, D0, D4, C6, D7, E6, B4, B5 }
|
||||
|
||||
#define SPLIT_HAND_PIN B3
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
#define SOFT_SERIAL_PIN D2
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define BOOTMAGIC_LITE_ROW_RIGHT 0
|
||||
#define BOOTMAGIC_LITE_COLUMN_RIGHT 5
|
||||
#define BOOTMAGIC_LITE_ROW_LEFT 0
|
||||
#define BOOTMAGIC_LITE_COLUMN_LEFT 5
|
||||
86
keyboards/afternoonlabs/oceanbreeze/rev1/info.json
Normal file
86
keyboards/afternoonlabs/oceanbreeze/rev1/info.json
Normal file
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"keyboard_name": "OceanBreeze",
|
||||
"url": "afternoonlabs.com",
|
||||
"productId": "0x0003",
|
||||
"maintainer": "afternoonlabs",
|
||||
"width": 19,
|
||||
"height": 6,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.375},
|
||||
{"x":1, "y":0.375},
|
||||
{"x":2, "y":0.125},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0.125},
|
||||
{"x":5, "y":0.25},
|
||||
{"x":9.75, "y":0.25},
|
||||
{"x":10.75, "y":0.125},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0.125},
|
||||
{"x":13.75, "y":0.375},
|
||||
{"x":14.75, "y":0.375},
|
||||
{"x":16, "y":0.375},
|
||||
{"x":17, "y":0.375},
|
||||
{"x":18, "y":0.375},
|
||||
|
||||
{"x":0, "y":1.375},
|
||||
{"x":1, "y":1.375},
|
||||
{"x":2, "y":1.125},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1.125},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":9.75, "y":1.25},
|
||||
{"x":10.75, "y":1.125},
|
||||
{"x":11.75, "y":1},
|
||||
{"x":12.75, "y":1.125},
|
||||
{"x":13.75, "y":1.375},
|
||||
{"x":14.75, "y":1.375},
|
||||
{"x":16, "y":1.375},
|
||||
{"x":17, "y":1.375},
|
||||
{"x":18, "y":1.375},
|
||||
|
||||
{"x":0, "y":2.375},
|
||||
{"x":1, "y":2.375},
|
||||
{"x":2, "y":2.125},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2.125},
|
||||
{"x":5, "y":2.25},
|
||||
{"x":9.75, "y":2.25},
|
||||
{"x":10.75, "y":2.125},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2.125},
|
||||
{"x":13.75, "y":2.375},
|
||||
{"x":14.75, "y":2.375},
|
||||
{"x":17, "y":2.375},
|
||||
|
||||
{"x":0, "y":3.375},
|
||||
{"x":1, "y":3.375},
|
||||
{"x":2, "y":3.125},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3.125},
|
||||
{"x":5, "y":3.25},
|
||||
{"x":6.25, "y":3.75},
|
||||
{"x":8.5, "y":3.75},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.125},
|
||||
{"x":11.75, "y":3},
|
||||
{"x":12.75, "y":3.125},
|
||||
{"x":13.75, "y":3.375},
|
||||
{"x":14.75, "y":3.375},
|
||||
{"x":16, "y":3.375},
|
||||
{"x":17, "y":3.375},
|
||||
{"x":18, "y":3.375},
|
||||
|
||||
{"x":2.5, "y":4.25},
|
||||
{"x":3.5, "y":4.25},
|
||||
{"x":4.5, "y":4.5},
|
||||
{"x":6.25, "y":4.75},
|
||||
{"x":8.5, "y":4.75},
|
||||
{"x":10.25, "y":4.5},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
15
keyboards/afternoonlabs/oceanbreeze/rev1/readme.md
Normal file
15
keyboards/afternoonlabs/oceanbreeze/rev1/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Breeze
|
||||
|
||||

|
||||
|
||||
Special Edition of the [Breeze](https://afternoonlabs.com). This one has two 1Us instead of the larger 2U on the thumb cluster.
|
||||
|
||||
* Keyboard Maintainer: [AfternoonLabs](https://github.com/afternoonlabs)
|
||||
* Hardware Supported: Ocean Breeze Rev1 PCB
|
||||
* Hardware Availability: [store.afternoonlab.com](https://store.afternoonlabs.com)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make afternoonlabs/oceanbreeze/rev1: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).
|
||||
17
keyboards/afternoonlabs/oceanbreeze/rev1/rev1.c
Normal file
17
keyboards/afternoonlabs/oceanbreeze/rev1/rev1.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2021 Afternoon Labs
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include "oceanbreeze.h"
|
||||
44
keyboards/afternoonlabs/oceanbreeze/rev1/rev1.h
Normal file
44
keyboards/afternoonlabs/oceanbreeze/rev1/rev1.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/* Copyright 2021 Afternoon Labs
|
||||
*
|
||||
* 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 "oceanbreeze.h"
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
#define LAYOUT( \
|
||||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, MC0, MC1, MC2, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, MC3, MC4, MC5, \
|
||||
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, AUP, \
|
||||
L30, L31, L32, L33, L34, L35, LT4, RT1, R30, R31, R32, R33, R34, R35, ALT, ADN, ART, \
|
||||
LT0, LT1, LT2, LT3, RT2, RT3, RT4, RT5 \
|
||||
) { \
|
||||
{ L05, L04, L03, L02, L01, L00, XXX, XXX, XXX }, \
|
||||
{ L15, L14, L13, L12, L11, L10, XXX, XXX, XXX }, \
|
||||
{ L25, L24, L23, L22, L21, L20, XXX, XXX, XXX }, \
|
||||
{ L35, L34, L33, L32, L31, L30, XXX, XXX, XXX }, \
|
||||
{ LT3, LT2, LT1, LT0, XXX, XXX, XXX, XXX, XXX }, \
|
||||
{ LT4, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
|
||||
{ R00, R01, R02, R03, R04, R05, MC0, MC1, MC2 }, \
|
||||
{ R10, R11, R12, R13, R14, R15, MC3, MC4, MC5 }, \
|
||||
{ R20, R21, R22, R23, R24, R25, XXX, AUP, XXX }, \
|
||||
{ R30, R31, R32, R33, R34, R35, ALT, ADN, ART }, \
|
||||
{ RT2, RT3, RT4, RT5, XXX, XXX, XXX, XXX, XXX }, \
|
||||
{ RT1, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
|
||||
}
|
||||
23
keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk
Normal file
23
keyboards/afternoonlabs/oceanbreeze/rev1/rules.mk
Normal file
@@ -0,0 +1,23 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
SPLIT_KEYBOARD = yes
|
||||
82
keyboards/ck60i/info.json
Normal file
82
keyboards/ck60i/info.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"keyboard_name": "CK60i",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0, "w":2},
|
||||
|
||||
{"x":0, "y":1, "w":1.5},
|
||||
{"x":1.5, "y":1},
|
||||
{"x":2.5, "y":1},
|
||||
{"x":3.5, "y":1},
|
||||
{"x":4.5, "y":1},
|
||||
{"x":5.5, "y":1},
|
||||
{"x":6.5, "y":1},
|
||||
{"x":7.5, "y":1},
|
||||
{"x":8.5, "y":1},
|
||||
{"x":9.5, "y":1},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1},
|
||||
{"x":12.5, "y":1},
|
||||
{"x":13.5, "y":1, "w":1.5},
|
||||
|
||||
{"x":0, "y":2, "w":1.75},
|
||||
{"x":1.75, "y":2},
|
||||
{"x":2.75, "y":2},
|
||||
{"x":3.75, "y":2},
|
||||
{"x":4.75, "y":2},
|
||||
{"x":5.75, "y":2},
|
||||
{"x":6.75, "y":2},
|
||||
{"x":7.75, "y":2},
|
||||
{"x":8.75, "y":2},
|
||||
{"x":9.75, "y":2},
|
||||
{"x":10.75, "y":2},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2},
|
||||
{"x":13.75, "y":2, "w":1.25},
|
||||
|
||||
{"x":0, "y":3, "w":1.25},
|
||||
{"x":1.25, "y":3},
|
||||
{"x":2.25, "y":3},
|
||||
{"x":3.25, "y":3},
|
||||
{"x":4.25, "y":3},
|
||||
{"x":5.25, "y":3},
|
||||
{"x":6.25, "y":3},
|
||||
{"x":7.25, "y":3},
|
||||
{"x":8.25, "y":3},
|
||||
{"x":9.25, "y":3},
|
||||
{"x":10.25, "y":3},
|
||||
{"x":11.25, "y":3},
|
||||
{"x":12.25, "y":3, "w":1.75},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4, "w":1.25},
|
||||
{"x":1.25, "y":4, "w":1.25},
|
||||
{"x":2.5, "y":4, "w":1.25},
|
||||
{"x":3.75, "y":4, "w":6.25},
|
||||
{"x":10, "y":4},
|
||||
{"x":11, "y":4},
|
||||
{"x":12, "y":4},
|
||||
{"x":13, "y":4},
|
||||
{"x":14, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,25 +1,25 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
#pragma once
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
// #define MASTER_LEFT
|
||||
#define MASTER_RIGHT
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#define SSD1306OLED
|
||||
#define SWAP_SCLN
|
||||
|
||||
// #define TAPPING_FORCE_HOLD
|
||||
#define TAPPING_TERM 300
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLED_NUM 27
|
||||
#define RGBLIGHT_LIMIT_VAL 100
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
# undef RGBLED_NUM
|
||||
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
# define RGBLED_NUM 27
|
||||
# define RGBLIGHT_LIMIT_VAL 100
|
||||
# define RGBLIGHT_HUE_STEP 10
|
||||
# define RGBLIGHT_SAT_STEP 17
|
||||
# define RGBLIGHT_VAL_STEP 17
|
||||
#endif // RGBLIGHT_ENABLE
|
||||
|
||||
#endif // CONFIG_USER_H
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#ifdef PROTOCOL_LUFA
|
||||
#include "split_util.h"
|
||||
#endif
|
||||
#ifdef SSD1306OLED
|
||||
#include "oled.h"
|
||||
# include "split_util.h"
|
||||
#endif
|
||||
|
||||
#include "edvorakjp.h"
|
||||
@@ -14,85 +11,63 @@
|
||||
* };
|
||||
*/
|
||||
|
||||
#define KC_ KC_TRNS
|
||||
|
||||
#define KC_TMB1 KC_LA(TAB)
|
||||
#define KC_TMB2 KC_LS(SPC)
|
||||
#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
|
||||
#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
|
||||
#define KC_TMB5 KC_RC(BSPC)
|
||||
#define KC_TMB6 KC_RG(ENT)
|
||||
#define KC_TMB7 KC_RC(DEL)
|
||||
#define LAYOUT_wrapper(...) LAYOUT_split_3x6_3(__VA_ARGS__)
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_EDVORAK] = LAYOUT_kc(
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
ESC ,SCLN, X , C , V , Z , H , J , K , L , B ,SLSH,
|
||||
//`----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----'
|
||||
TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6
|
||||
// `-----+----+----' `----+----+-----'
|
||||
[L_EDVORAKJP_BASE] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_ESC, __EDVORAKJP_BASE_L3__ , __EDVORAKJP_BASE_R3__ , KC_SLSH,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_kc(
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
, , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , ,
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
PSCR, , HOME , PGDN , PGUP ,END , LEFT, DOWN , UP , RGHT , , ,
|
||||
//`----+----+------+------+------+----+----| |----+----+------+------+-------+----+----'
|
||||
, , NO , MAC ,TMB7,
|
||||
// `-----+----+----' `----+----+-----'
|
||||
[L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
__EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ ,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_kc(
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
, ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , ,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
, 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , ,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
PSCR, ,HOME ,PGDN ,PGUP ,END , LEFT,DOWN , UP ,RGHT , , ,
|
||||
//`----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----'
|
||||
, ,WIN , NO , ,
|
||||
// `-----+----+----' `----+----+----'
|
||||
[L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS
|
||||
//`--------------------------' `--------------------------'
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef SSD1306OLED
|
||||
void matrix_init_keymap(void) {
|
||||
//SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
|
||||
#ifdef MASTER_RIGHT
|
||||
iota_gfx_init(has_usb()); // turns on the display
|
||||
#else
|
||||
iota_gfx_init(!has_usb());
|
||||
#endif // MASTER_RIGHT
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
iota_gfx_task(); // this is what updates the display continuously
|
||||
}
|
||||
#endif
|
||||
// clang-format on
|
||||
|
||||
#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
uint32_t layer_state_set_keymap(uint32_t state) {
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (biton32(state)) {
|
||||
case _LOWER:
|
||||
rgblight_sethsv_noeeprom_red();
|
||||
break;
|
||||
case _RAISE:
|
||||
rgblight_sethsv_noeeprom_green();
|
||||
break;
|
||||
default: // for any other layers, or the default layer
|
||||
rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
|
||||
rgblight_sethsv_red();
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (biton32(state)) {
|
||||
case L_EDVORAKJP_LOWER:
|
||||
rgblight_sethsv_noeeprom_red();
|
||||
break;
|
||||
case L_EDVORAKJP_RAISE:
|
||||
rgblight_sethsv_noeeprom_green();
|
||||
break;
|
||||
default: // for any other layers, or the default layer
|
||||
rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
|
||||
rgblight_sethsv_red();
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,76 +1,55 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "oled.h"
|
||||
|
||||
// NOTE: Redefined to avoid to use snprintf(); It makes size of firmware big.
|
||||
const char *read_mode_icon(bool windows_mode) {
|
||||
static const char logo[][2][3] = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}};
|
||||
static char mode_icon[10];
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
void render_host_led_state(void) { oled_write(read_host_led_state(), false); }
|
||||
|
||||
int mode_number = windows_mode ? 1 : 0;
|
||||
strcpy(mode_icon, logo[mode_number][0]);
|
||||
void render_layer_state(void) {
|
||||
char layer_name[17];
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
strcat(mode_icon, "\n");
|
||||
strcat(mode_icon, logo[mode_number][1]);
|
||||
|
||||
return mode_icon;
|
||||
switch (biton32(layer_state)) {
|
||||
case L_EDVORAKJP_BASE:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
break;
|
||||
case L_EDVORAKJP_LOWER:
|
||||
oled_write_ln_P(PSTR("Lower"), false);
|
||||
break;
|
||||
case L_EDVORAKJP_RAISE:
|
||||
oled_write_ln_P(PSTR("Raise"), false);
|
||||
break;
|
||||
default:
|
||||
snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state);
|
||||
oled_write_ln(layer_name, false);
|
||||
}
|
||||
}
|
||||
|
||||
const char *read_layer_state(void) {
|
||||
static char layer_state_str[24];
|
||||
char layer_name[17];
|
||||
void render_logo(void) { oled_write(read_logo(), false); }
|
||||
|
||||
switch (biton32(layer_state)) {
|
||||
case L_BASE:
|
||||
strcpy(layer_name, "Default");
|
||||
break;
|
||||
case _RAISE:
|
||||
strcpy(layer_name, "Raise");
|
||||
break;
|
||||
case _LOWER:
|
||||
strcpy(layer_name, "Lower");
|
||||
break;
|
||||
default:
|
||||
snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state);
|
||||
}
|
||||
void render_mode_icon(bool is_windows) {
|
||||
static const char logo[][2][3] = {
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
|
||||
};
|
||||
static char mode_icon[10];
|
||||
|
||||
strcpy(layer_state_str, "Layer: ");
|
||||
|
||||
strcat(layer_state_str, layer_name);
|
||||
strcat(layer_state_str, "\n");
|
||||
return layer_state_str;
|
||||
snprintf(mode_icon, sizeof(mode_icon), "%s\n%s ", logo[is_windows][0], logo[is_windows][1]);
|
||||
oled_write(mode_icon, false);
|
||||
}
|
||||
|
||||
const char *read_host_led_state(void) {
|
||||
static char led_str[24];
|
||||
strcpy(led_str, (host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NMLK" : " ");
|
||||
strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? " CAPS" : " ");
|
||||
strcat(led_str, (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? " SCLK" : " ");
|
||||
return led_str;
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
// flips the display 180 degrees if offhand
|
||||
return is_keyboard_left() ? rotation : rotation ^ OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
void matrix_update(struct CharacterMatrix *dest,
|
||||
const struct CharacterMatrix *source) {
|
||||
if (memcmp(dest->display, source->display, sizeof(dest->display))) {
|
||||
memcpy(dest->display, source->display, sizeof(dest->display));
|
||||
dest->dirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
void iota_gfx_task_user(void) {
|
||||
struct CharacterMatrix matrix;
|
||||
|
||||
matrix_clear(&matrix);
|
||||
#ifdef MASTER_RIGHT
|
||||
if (!is_master) {
|
||||
#else
|
||||
if (is_master) {
|
||||
#endif // MASTER_RIGHT
|
||||
matrix_write(&matrix, read_mode_icon(!get_enable_kc_lang()));
|
||||
matrix_write(&matrix, " ");
|
||||
matrix_write(&matrix, read_layer_state());
|
||||
matrix_write(&matrix, read_host_led_state());
|
||||
} else {
|
||||
matrix_write(&matrix, read_logo());
|
||||
}
|
||||
matrix_update(&display, &matrix);
|
||||
void oled_task_user(void) {
|
||||
if (is_keyboard_left()) {
|
||||
render_mode_icon(!get_enable_kc_lang());
|
||||
render_layer_state();
|
||||
render_host_led_state();
|
||||
} else {
|
||||
render_logo();
|
||||
}
|
||||
}
|
||||
#endif // OLED_DRIVER_ENABLE
|
||||
|
||||
@@ -1,24 +1,17 @@
|
||||
#ifndef OLED_USER_H
|
||||
#define OLED_USER_H
|
||||
#pragma once
|
||||
|
||||
//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
|
||||
#include "ssd1306.h"
|
||||
#include "edvorakjp.h"
|
||||
|
||||
//assign the right code to your layers for OLED display
|
||||
#define L_BASE 0
|
||||
|
||||
extern uint8_t is_master;
|
||||
extern bool japanese_mode;
|
||||
|
||||
// method prototypes defined in crkbd/lib
|
||||
extern const char *read_host_led_state(void);
|
||||
extern const char *read_logo(void);
|
||||
extern const char *read_mode_icon(bool swap);
|
||||
|
||||
const char *read_mode_icon(bool swap);
|
||||
const char *read_layer_state(void);
|
||||
const char *read_host_led_state(void);
|
||||
void matrix_update(struct CharacterMatrix *dest,
|
||||
const struct CharacterMatrix *source);
|
||||
void iota_gfx_task_user(void);
|
||||
|
||||
#endif // OLED_CONFIG_USER_H
|
||||
void render_host_led_state(void);
|
||||
void render_layer_state(void);
|
||||
void render_logo(void);
|
||||
void render_mode_icon(bool is_windows);
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation);
|
||||
void oled_task_user(void);
|
||||
|
||||
@@ -16,17 +16,13 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
TAP_DANCE_ENABLE = yes
|
||||
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
|
||||
|
||||
# If you want to change the display of OLED, you need to change here
|
||||
SRC += ./lib/glcdfont.c \
|
||||
SRC += ./lib/host_led_state_reader.c \
|
||||
./lib/logo_reader.c \
|
||||
oled.c \
|
||||
# ./lib/rgb_state_reader.c \
|
||||
# ./lib/layer_state_reader.c \
|
||||
# ./lib/keylogger.c \
|
||||
# ./lib/mode_icon_reader.c \
|
||||
# ./lib/host_led_state_reader.c \
|
||||
# ./lib/timelogger.c \
|
||||
./lib/mode_icon_reader.c \
|
||||
oled.c
|
||||
|
||||
@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xBEEF
|
||||
#define PRODUCT_ID 0xFEED
|
||||
#define VENDOR_ID 0x434B
|
||||
#define PRODUCT_ID 0xE590
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER reggalicious
|
||||
#define PRODUCT ergosaurus
|
||||
@@ -58,24 +58,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// #define BACKLIGHT_BREATHING
|
||||
// #define BACKLIGHT_LEVELS 3
|
||||
|
||||
// #ifdef RGBLIGHT_ENABLE
|
||||
// #define RGB_DI_PIN B6
|
||||
// #define RGBLED_NUM 16
|
||||
// #define RGBLIGHT_HUE_STEP 8
|
||||
// #define RGBLIGHT_SAT_STEP 8
|
||||
// #define RGBLIGHT_VAL_STEP 8
|
||||
// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
# define RGB_DI_PIN B6
|
||||
#define RGBLED_NUM 32
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 200 /* The maximum brightness level */
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
// /*== all animations enable ==*/
|
||||
// #define RGBLIGHT_ANIMATIONS
|
||||
// /*== or choose animations ==*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
// #define RGBLIGHT_EFFECT_SNAKE
|
||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
// /*== customize breathing effect ==*/
|
||||
@@ -84,7 +84,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// /*==== use exp() and sin() ====*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||
// #endif
|
||||
#endif
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
@@ -198,6 +198,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* MIDI options
|
||||
*/
|
||||
|
||||
|
||||
/* enable basic MIDI features:
|
||||
- MIDI notes can be sent when in Music mode is on
|
||||
*/
|
||||
|
||||
51
keyboards/ergosaurus/keymaps/default/via/keymap.c
Normal file
51
keyboards/ergosaurus/keymaps/default/via/keymap.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/* Copyright 2021 littleferris
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_alice_split_bs(
|
||||
KC_GRV, 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_BSLS, KC_DEL,
|
||||
KC_PGUP, 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_BSPC,
|
||||
KC_PGDN, KC_LCTL, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LGUI, KC_LALT, KC_ENT, MO(2), KC_SPC, KC_RALT, KC_RCTL
|
||||
),
|
||||
|
||||
[1] = LAYOUT_alice_split_bs(
|
||||
_______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[2] = LAYOUT_alice_split_bs(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, RESET
|
||||
),
|
||||
|
||||
[3] = LAYOUT_alice_split_bs(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, RESET
|
||||
)
|
||||
};
|
||||
2
keyboards/ergosaurus/keymaps/default/via/rules.mk
Normal file
2
keyboards/ergosaurus/keymaps/default/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
@@ -1,12 +1,61 @@
|
||||
{
|
||||
"keyboard_name": "cornelius",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 7.55,
|
||||
"height": 6.11,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"E", "x":2.5, "y":0}, {"label":"R", "x":3.5, "y":0.125}, {"label":"W", "x":1.5, "y":0.25}, {"label":"T", "x":4.5, "y":0.25}, {"label":"Tab", "x":-0.5, "y":0.625}, {"label":"Q", "x":0.5, "y":0.625}, {"label":"D", "x":2.5, "y":1}, {"label":"F", "x":3.5, "y":1.125}, {"label":"S", "x":1.5, "y":1.25}, {"label":"G", "x":4.5, "y":1.25}, {"label":"Esc", "x":-0.5, "y":1.625}, {"label":"A", "x":0.5, "y":1.625}, {"label":"C", "x":2.5, "y":2}, {"label":"V", "x":3.5, "y":2.125}, {"label":"X", "x":1.5, "y":2.25}, {"label":"B", "x":4.5, "y":2.25}, {"label":"Shift", "x":-0.5, "y":2.625}, {"label":"Z", "x":0.5, "y":2.625}, {"label":"Win", "x":1.5, "y":3.25}, {"label":"Alt", "x":3, "y":3.25}, {"label":"Fn", "x":-0.5, "y":3.625}, {"label":"Ctrl", "x":0.5, "y":3.625}, {"label":"Lower", "x":4.97, "y":2.11}, {"x":6.55, "y":0.48}, {"x":-7.55, "y":1.94}, {"label":"Raise", "x":-5.95, "y":3.58}, {"label":"I", "x":-3.5, "y":1.48}, {"label":"U", "x":-4.5, "y":1.605}, {"label":"Y", "x":-5.5, "y":1.73}, {"label":"O", "x":-2.5, "y":1.73}, {"label":"P", "x":-1.5, "y":2.105}, {"label":"Bksp", "x":-0.5, "y":2.105}, {"label":"K", "x":-3.5, "y":2.48}, {"label":"J", "x":-4.5, "y":2.605}, {"label":"H", "x":-5.5, "y":2.73}, {"label":"L", "x":-2.5, "y":2.73}, {"label":":", "x":-1.5, "y":3.105}, {"label":"\"", "x":-0.5, "y":3.105}, {"label":"<", "x":-3.5, "y":3.48}, {"label":"M", "x":-4.5, "y":3.605}, {"label":"N", "x":-5.5, "y":3.73}, {"label":">", "x":-2.5, "y":3.73}, {"label":"?", "x":-1.5, "y":4.105}, {"label":"Shift", "x":-0.5, "y":4.105}, {"label":"Alt", "x":-4, "y":4.73}, {"label":"Win", "x":-2.5, "y":4.73}, {"label":"Ctrl", "x":-1.5, "y":5.105}, {"label":"Fn", "x":-0.5, "y":5.105}]
|
||||
"keyboard_name":"cornelius",
|
||||
"url":"",
|
||||
"maintainer":"foostan",
|
||||
"width":14,
|
||||
"height":8.5,
|
||||
"layouts":{
|
||||
"LAYOUT":{
|
||||
"layout":[
|
||||
{"label":"Tab", "x":0,"y":0.625},
|
||||
{"label":"Q", "x":1,"y":0.625},
|
||||
{"label":"W", "x":2,"y":0.25},
|
||||
{"label":"E", "x":3,"y":0},
|
||||
{"label":"R", "x":4,"y":0.125},
|
||||
{"label":"T", "x":5,"y":0.25},
|
||||
{"label":"Y", "x":8,"y":0.25},
|
||||
{"label":"U", "x":9,"y":0.125},
|
||||
{"label":"I", "x":10,"y":0},
|
||||
{"label":"O", "x":11,"y":0.25},
|
||||
{"label":"P", "x":12,"y":0.625},
|
||||
{"label":"Bksp", "x":13,"y":0.625},
|
||||
{"label":"Esc", "x":0,"y":1.625},
|
||||
{"label":"A", "x":1,"y":1.625},
|
||||
{"label":"S", "x":2,"y":1.25},
|
||||
{"label":"D", "x":3,"y":1},
|
||||
{"label":"F", "x":4,"y":1.125},
|
||||
{"label":"G", "x":5,"y":1.25},
|
||||
{"label":"H", "x":8,"y":1.25},
|
||||
{"label":"J", "x":9,"y":1.125},
|
||||
{"label":"K", "x":10,"y":1},
|
||||
{"label":"L", "x":11,"y":1.25},
|
||||
{"label":":", "x":12,"y":1.625},
|
||||
{"label":"\"", "x":13,"y":1.625},
|
||||
{"label":"Shift", "x":0,"y":2.625},
|
||||
{"label":"Z", "x":1,"y":2.625},
|
||||
{"label":"X", "x":2,"y":2.25},
|
||||
{"label":"C", "x":3,"y":2},
|
||||
{"label":"V", "x":4,"y":2.125},
|
||||
{"label":"B", "x":5,"y":2.25},
|
||||
{"label":"N", "x":8,"y":2.25},
|
||||
{"label":"M", "x":9,"y":2.125},
|
||||
{"label":"<", "x":10,"y":2},
|
||||
{"label":">", "x":11,"y":2.25},
|
||||
{"label":"?", "x":12,"y":2.625},
|
||||
{"label":"Shift", "x":13,"y":2.625},
|
||||
{"label":"Fn", "x":0,"y":3.625},
|
||||
{"label":"Ctrl", "x":1,"y":3.625},
|
||||
{"label":"Win", "x":2,"y":3.25},
|
||||
{"label":"Alt", "x":3.5,"y":3.25},
|
||||
{"label":"Lower", "x":4.5,"y":3.5},
|
||||
{"x":5.5,"y":3.75},
|
||||
{"x":7.5,"y":3.75},
|
||||
{"label":"Raise", "x":8.5,"y":3.5},
|
||||
{"label":"Alt", "x":9.5,"y":3.25},
|
||||
{"label":"Win", "x":11,"y":3.25},
|
||||
{"label":"Ctrl", "x":12,"y":3.625},
|
||||
{"label":"Fn", "x":13,"y":3.625}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
57
keyboards/handwired/ergocheap/chconf.h
Normal file
57
keyboards/handwired/ergocheap/chconf.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confupdate -i keyboards/handwired/ergocheap/chconf.h -r platforms/chibios/common/configs/chconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define CH_CFG_ST_TIMEDELTA 0
|
||||
|
||||
#define CH_CFG_USE_TM FALSE
|
||||
|
||||
#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
|
||||
|
||||
#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
|
||||
|
||||
#define CH_CFG_USE_MEMPOOLS FALSE
|
||||
|
||||
#define CH_CFG_USE_OBJ_FIFOS FALSE
|
||||
|
||||
#define CH_CFG_USE_PIPES FALSE
|
||||
|
||||
#define CH_CFG_USE_DYNAMIC FALSE
|
||||
|
||||
#define CH_CFG_USE_FACTORY FALSE
|
||||
|
||||
#define CH_CFG_FACTORY_OBJECTS_REGISTRY FALSE
|
||||
|
||||
#define CH_CFG_FACTORY_GENERIC_BUFFERS FALSE
|
||||
|
||||
#define CH_CFG_FACTORY_SEMAPHORES FALSE
|
||||
|
||||
#define CH_CFG_FACTORY_MAILBOXES FALSE
|
||||
|
||||
#define CH_CFG_FACTORY_OBJ_FIFOS FALSE
|
||||
|
||||
#define CH_CFG_FACTORY_PIPES FALSE
|
||||
|
||||
#define CH_DBG_ENABLE_STACK_CHECK FALSE
|
||||
|
||||
#include_next <chconf.h>
|
||||
|
||||
67
keyboards/handwired/ergocheap/config.h
Normal file
67
keyboards/handwired/ergocheap/config.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
Copyright 2021 xSteins <itsmesteins@gmail.com>
|
||||
|
||||
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 0xFEDE //0xFEED
|
||||
#define PRODUCT_ID 0x6942 //0x6465
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER xSteins
|
||||
#define PRODUCT ERGOCHEAP
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
#define MATRIX_COL_PINS { A8, A9, B14, B12, B13, B15, B3, B11, A4, A5, A6, A7, B0, B1, B10 }
|
||||
#define MATRIX_ROW_PINS { B5, B6, B7, B9, B8 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* key led setting */
|
||||
//#define BACKLIGHT_PIN A8
|
||||
//#define BACKLIGHT_PWM_DRIVER PWMD1
|
||||
//#define BACKLIGHT_PWM_CHANNEL 1
|
||||
//#define BACKLIGHT_LEVELS 6
|
||||
//#define BACKLIGHT_BREATHING
|
||||
//#define BREATHING_PERIOD 6
|
||||
|
||||
/* define if matrix has ghost */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
#define TAPPING_TERM 500
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
16
keyboards/handwired/ergocheap/ergocheap.c
Normal file
16
keyboards/handwired/ergocheap/ergocheap.c
Normal file
@@ -0,0 +1,16 @@
|
||||
/* Copyright 2021 xSteins <itsmesteins@gmail.com>
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include "ergocheap.h"
|
||||
42
keyboards/handwired/ergocheap/ergocheap.h
Normal file
42
keyboards/handwired/ergocheap/ergocheap.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
Copyright 2021 xSteins <itsmesteins@gmail.com>
|
||||
|
||||
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 "quantum.h"
|
||||
|
||||
/*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the Keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
|
||||
#define LAYOUT( \
|
||||
K00, K01, K02, K0B, K0D, K0E, K0F, \
|
||||
K10, K11, K03, K04, K05, K06, K07, K08, K09, K0A, K1B, K1D, K1E, K1F, \
|
||||
K20, K21,K12, K13, K14, K15, K16, K17, K18, K19, K1A, K2B, K2D, K2E, K2F, \
|
||||
K30, K31,K22, K23, K24, K25, K26, K27, K28, K29, K3B, K3D, K3E, K3F, \
|
||||
K40, K32, K33, K34, K35, K36, K37, K38, K39, K4B, K4D, K4E, K4F, \
|
||||
K42, K44, K45, K46, K47, K48 \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0D, K0E, K0F, }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, KC_NO, K2B, K2D, K2E, K2F, }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, KC_NO, K3B, K3D, K3E, K3F, }, \
|
||||
{ K40, KC_NO, K42, KC_NO, K44, K45, K46, K47, K48, KC_NO, KC_NO, K4B, K4D, K4E, K4F } \
|
||||
}
|
||||
37
keyboards/handwired/ergocheap/halconf.h
Normal file
37
keyboards/handwired/ergocheap/halconf.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confupdate -i keyboards/handwired/ergocheap/halconf.h -r platforms/chibios/common/configs/halconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_DAC FALSE
|
||||
|
||||
#define HAL_USE_GPT FALSE
|
||||
|
||||
#define HAL_USE_I2C FALSE
|
||||
|
||||
#define HAL_USE_SERIAL_USB FALSE
|
||||
|
||||
#define PAL_USE_CALLBACKS FALSE
|
||||
|
||||
#define PAL_USE_WAIT FALSE
|
||||
|
||||
#include_next <halconf.h>
|
||||
|
||||
12
keyboards/handwired/ergocheap/info.json
Normal file
12
keyboards/handwired/ergocheap/info.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"keyboard_name": "Ergocheap",
|
||||
"url": "",
|
||||
"maintainer": "xSteins",
|
||||
"width": 17.8,
|
||||
"height": 11.85,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"0,12", "x":13.47, "y":0}, {"label":"0,13", "x":14.5, "y":0, "w":2}, {"label":"0,14", "x":16.5, "y":0}, {"label":"0,0", "x":0.75, "y":0.25}, {"label":"0,1", "x":1.75, "y":0.25}, {"label":"1,11", "x":13.1, "y":1}, {"label":"1,12", "x":14.1, "y":1}, {"label":"1,13", "x":15.1, "y":1, "w":1.5}, {"label":"1,14", "x":16.6, "y":1}, {"label":"1,0", "x":0.5, "y":1.25, "w":1.5}, {"label":"1,1", "x":2, "y":1.25}, {"label":"2,11", "x":13.55, "y":2}, {"label":"2,12", "x":14.55, "y":2, "w":2.25}, {"label":"2,13", "x":16.8, "y":2}, {"label":"2,0", "x":0.25, "y":2.25, "w":1.75}, {"label":"2,1", "x":2, "y":2.25}, {"label":"3,11", "x":13.05, "y":3}, {"label":"3,12", "x":14.05, "y":3, "w":1.75}, {"label":"3,13", "x":15.75, "y":3}, {"label":"3,14", "x":16.75, "y":3}, {"label":"3,0", "x":0.1, "y":3.25, "w":2.25}, {"label":"3,1", "x":2.35, "y":3.25}, {"label":"4,8", "x":13.5, "y":4, "w":1.25}, {"label":"4,12", "x":14.75, "y":4}, {"label":"4,13", "x":15.75, "y":4}, {"label":"4,14", "x":16.75, "y":4}, {"label":"4,0", "x":0.1, "y":4.25, "w":1.25}, {"label":"0,11", "x":2.45, "y":5.25}, {"label":"0,2", "x":-7.25, "y":5.35}, {"label":"0,3", "x":-5.1, "y":4.1}, {"label":"0,4", "x":-4.1, "y":4.1}, {"label":"0,5", "x":-3.0999999999999996, "y":4.1}, {"label":"0,6", "x":-2.0999999999999996, "y":4.1}, {"label":"1,2", "x":-5.7, "y":5.1}, {"label":"1,3", "x":-4.7, "y":5.1}, {"label":"1,4", "x":-3.7, "y":5.1}, {"label":"1,5", "x":-2.7, "y":5.1}, {"label":"2,2", "x":-5.45, "y":6.1}, {"label":"2,3", "x":-4.45, "y":6.1}, {"label":"2,4", "x":-3.45, "y":6.1}, {"label":"2,5", "x":-2.45, "y":6.1}, {"label":"3,2", "x":-4.85, "y":7.1}, {"label":"3,3", "x":-3.8499999999999996, "y":7.1}, {"label":"3,4", "x":-2.8499999999999996, "y":7.1}, {"label":"3,5", "x":-1.8499999999999996, "y":7.1}, {"label":"4,2", "x":-4.9, "y":8.1, "w":1.25}, {"label":"4,4", "x":-3.6500000000000004, "y":8.1, "w":2}, {"label":"4,5", "x":-1.6500000000000004, "y":8.1, "w":1.25}, {"label":"0,7", "x":0.3, "y":6.85}, {"label":"0,8", "x":1.3, "y":6.85}, {"label":"0,9", "x":2.3, "y":6.85}, {"label":"0,10", "x":3.3, "y":6.85}, {"label":"1,6", "x":-0.2, "y":7.85}, {"label":"1,7", "x":0.7999999999999999, "y":7.85}, {"label":"1,8", "x":1.8, "y":7.85}, {"label":"1,9", "x":2.8, "y":7.85}, {"label":"1,10", "x":3.8, "y":7.85}, {"label":"2,6", "x":0.05, "y":8.85}, {"label":"2,7", "x":1.05, "y":8.85}, {"label":"2,8", "x":2.05, "y":8.85}, {"label":"2,9", "x":3.05, "y":8.85}, {"label":"2,10", "x":4, "y":8.85}, {"label":"3,6", "x":0.3, "y":9.85}, {"label":"3,7", "x":1.3, "y":9.85}, {"label":"3,8", "x":2.3, "y":9.85}, {"label":"3,9", "x":3.3, "y":9.85}, {"label":"4,6", "x":-0.2, "y":10.85, "w":2.75}, {"label":"4,7", "x":2.5, "y":10.85, "w":1.25}]
|
||||
}
|
||||
}
|
||||
}
|
||||
42
keyboards/handwired/ergocheap/keymaps/default/keymap.c
Normal file
42
keyboards/handwired/ergocheap/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright 2021 xSteins <itsmesteins@gmail.com>
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN1,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||
KC_CAPS, KC_A, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
|
||||
KC_LSFT, KC_Z, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SLSH, TO(_FN1), KC_UP, KC_END,
|
||||
KC_LCTL, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT,
|
||||
KC_LALT, KC_SPC, MO(_FN1),KC_SPC, KC_SPC, MO(_FN1)
|
||||
),
|
||||
[_FN1] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F11, KC_F12, _______, _______,
|
||||
_______, _______, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UP, _______, _______, _______,
|
||||
KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
KC_LSFT, KC_LEFT, KC_S, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_DOWN, TO(_BASE), KC_MS_WH_UP, _______,
|
||||
_______, KC_UP, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT,
|
||||
KC_LGUI, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
60
keyboards/handwired/ergocheap/keymaps/via/keymap.c
Normal file
60
keyboards/handwired/ergocheap/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,60 @@
|
||||
/* Copyright 2021 xSteins <itsmesteins@gmail.com>
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN1,
|
||||
_FN2,
|
||||
_FN3,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||
KC_CAPS, KC_A, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
|
||||
KC_LSFT, KC_Z, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SLSH, TO(_FN1), KC_UP, KC_END,
|
||||
KC_LCTL, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT,
|
||||
KC_LALT, KC_SPC, MO(_FN1),KC_SPC, KC_SPC, MO(_FN1)
|
||||
),
|
||||
[_FN1] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F11, KC_F12, _______, _______,
|
||||
_______, _______, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UP, _______, _______, _______,
|
||||
KC_LCTL, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
KC_LSFT, KC_LEFT, KC_S, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, KC_DOWN, TO(_BASE), KC_MS_WH_UP, _______,
|
||||
_______, KC_UP, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT,
|
||||
KC_LGUI, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_FN2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_FN3] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
1
keyboards/handwired/ergocheap/keymaps/via/rules.mk
Normal file
1
keyboards/handwired/ergocheap/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
28
keyboards/handwired/ergocheap/mcuconf.h
Normal file
28
keyboards/handwired/ergocheap/mcuconf.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file was auto-generated by:
|
||||
* `qmk chibios-confupdate -i keyboards/handwired/ergocheap/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_PWM_USE_TIM1
|
||||
#define STM32_PWM_USE_TIM1 TRUE
|
||||
|
||||
15
keyboards/handwired/ergocheap/readme.md
Normal file
15
keyboards/handwired/ergocheap/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Ergocheap handwired keyboard
|
||||
|
||||
Ergocheap is an ergonomic keyboard with layout forked from adelheid with some minor adjustment in 13-15th row and standard keycaps size
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: [xSteins](https://github.com/xSteins)
|
||||
* Hardware Supported: bluepill
|
||||
* Hardware Availability: [case files](https://github.com/xSteins/Mechanical-Keyboard/tree/master/ErgoCheap/CASE)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/ergocheap: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).
|
||||
25
keyboards/handwired/ergocheap/rules.mk
Normal file
25
keyboards/handwired/ergocheap/rules.mk
Normal file
@@ -0,0 +1,25 @@
|
||||
# MCU name
|
||||
MCU = STM32F103
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32duino
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@@ -1,5 +1,4 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
#pragma once
|
||||
|
||||
#define SWAP_SCLN
|
||||
|
||||
@@ -12,15 +11,13 @@
|
||||
|
||||
// Selection of RGBLIGHT MODE to use.
|
||||
#if defined(LED_ANIMATIONS)
|
||||
//#define RGBLIGHT_EFFECT_BREATHING
|
||||
//#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
//#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
//#define RGBLIGHT_EFFECT_SNAKE
|
||||
//#define RGBLIGHT_EFFECT_KNIGHT
|
||||
//#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_USER_H */
|
||||
//# define RGBLIGHT_EFFECT_BREATHING
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
//# define RGBLIGHT_EFFECT_SNAKE
|
||||
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif // LED_ANIMATIONS
|
||||
|
||||
@@ -1,38 +1,24 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "split_util.h"
|
||||
#include "keymap_xrows.h"
|
||||
#ifdef SSD1306OLED
|
||||
#include "oled.h"
|
||||
#endif
|
||||
|
||||
// keymaps definitions are moved to keymap_Xrows.c.
|
||||
|
||||
#ifdef SSD1306OLED
|
||||
void matrix_init_keymap(void) {
|
||||
//SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
|
||||
iota_gfx_init(!has_usb()); // turns on the display
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
iota_gfx_task(); // this is what updates the display continuously
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
uint32_t layer_state_set_keymap(uint32_t state) {
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (biton32(state)) {
|
||||
case _LOWER:
|
||||
rgblight_sethsv_noeeprom_red();
|
||||
break;
|
||||
case _RAISE:
|
||||
rgblight_sethsv_noeeprom_blue();
|
||||
break;
|
||||
default: // for any other layers, or the default layer
|
||||
rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
|
||||
rgblight_sethsv_red();
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (biton32(state)) {
|
||||
case L_EDVORAKJP_LOWER:
|
||||
rgblight_sethsv_noeeprom_red();
|
||||
break;
|
||||
case L_EDVORAKJP_RAISE:
|
||||
rgblight_sethsv_noeeprom_green();
|
||||
break;
|
||||
default: // for any other layers, or the default layer
|
||||
rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
|
||||
rgblight_sethsv_red();
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,41 +1,42 @@
|
||||
#include "helix.h"
|
||||
#include "keymap_xrows.h"
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_EDVORAK] = LAYOUT_kc(
|
||||
//,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
|
||||
GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
ESC ,SCLN, X , C , V , Z , H , J , K , L , B ,SLSH,
|
||||
//|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
|
||||
HOME,PGDN,PGUP , END ,TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6 ,LEFT ,DOWN , UP ,RGHT
|
||||
//`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
|
||||
[L_EDVORAKJP_BASE] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_ESC, __EDVORAKJP_BASE_L3__ , __EDVORAKJP_BASE_R3__ , KC_SLSH,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
__EDVORAKJP_PAGE__ , LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT, __EDVORAKJP_CURSOR__
|
||||
//`--------------------------------------------------------------' `--------------------------------------------------------------'
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_kc(
|
||||
//,----+----+------+------+------+----. ,----+------+------+-------+----+----.
|
||||
, , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , ,
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
PSCR, , HOME , PGDN , PGUP ,END , LEFT, DOWN , UP , RGHT , , ,
|
||||
//|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
|
||||
, , , , , , NO , MAC ,TMB7, , , , ,
|
||||
//`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
|
||||
[L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
__EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ ,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
__KC_TRNS_x4__ , KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS, __KC_TRNS_x4__
|
||||
//`--------------------------------------------------------------' `--------------------------------------------------------------'
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_kc(
|
||||
//,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
|
||||
, ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , ,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
, 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , ,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
PSCR, ,HOME ,PGDN ,PGUP ,END , LEFT,DOWN , UP ,RGHT , , ,
|
||||
//|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
|
||||
, , , , , ,WIN , NO , , , , , ,
|
||||
//`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
|
||||
[L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
__KC_TRNS_x4__ , KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS, __KC_TRNS_x4__
|
||||
//`--------------------------------------------------------------' `--------------------------------------------------------------'
|
||||
)
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -1,47 +1,48 @@
|
||||
#include "helix.h"
|
||||
#include "keymap_xrows.h"
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_EDVORAK] = LAYOUT_kc(
|
||||
//,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
|
||||
ESC ,EXLM, AT ,HASH , DLR ,PERC, CIRC,AMPR ,ASTR ,LPRN ,RPRN,BSPC,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
GRV ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS,
|
||||
//|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
|
||||
TAB ,SCLN, X , C , V , Z , NO , NO , H , J , K , L , B ,SLSH,
|
||||
//|----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----|
|
||||
HOME,PGDN,PGUP , END ,TMB1 ,TMB2,TMB3, TMB4,TMB5,TMB6 ,LEFT ,DOWN , UP ,RGHT
|
||||
//`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
|
||||
[L_EDVORAKJP_BASE] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS,
|
||||
//|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_ESC, __EDVORAKJP_BASE_L3__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BASE_R3__ , KC_SLSH,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
__EDVORAKJP_PAGE__ , LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT, __EDVORAKJP_CURSOR__
|
||||
//`--------------------------------------------------------------' `--------------------------------------------------------------'
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_kc(
|
||||
//,----+----+------+------+------+----. ,----+------+------+-------+----+----.
|
||||
PSCR, , , , , , , , , , , ,
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
, , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , ,
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
|
||||
//|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
|
||||
, , HOME , PGDN , PGUP ,END , , ,LEFT, DOWN , UP , RGHT , , ,
|
||||
//|----+----+------+------+------+----+----| |----+----+------+------+-------+----+----|
|
||||
, , , , , , NO , MAC ,TMB7, , , , ,
|
||||
//`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
|
||||
[L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
__KC_TRNS_x6__ , __KC_TRNS_x6__ ,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
__EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ ,
|
||||
//|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , KC_TRNS, KC_TRNS, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
__KC_TRNS_x4__ , KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS, __KC_TRNS_x4__
|
||||
//`--------------------------------------------------------------' `--------------------------------------------------------------'
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_kc(
|
||||
//,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
|
||||
PSCR, , , , , , , , , , , ,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
, ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , ,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
, 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , ,
|
||||
//|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
|
||||
, ,HOME ,PGDN ,PGUP ,END , , ,LEFT,DOWN , UP ,RGHT , , ,
|
||||
//|----+----+-----+-----+-----+----+----| |----+----+-----+-----+-----+----+----|
|
||||
, , , , , ,WIN , NO , , , , , ,
|
||||
//`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
|
||||
[L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
__KC_TRNS_x6__ , __KC_TRNS_x6__ ,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , KC_TRNS, KC_TRNS, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
__KC_TRNS_x4__ , KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS, __KC_TRNS_x4__
|
||||
//`--------------------------------------------------------------' `--------------------------------------------------------------'
|
||||
)
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#ifndef KEYMAP_XROWS_H
|
||||
#define KEYMAP_XROWS_H
|
||||
#pragma once
|
||||
|
||||
#include "edvorakjp.h"
|
||||
/*
|
||||
@@ -8,14 +7,7 @@
|
||||
* };
|
||||
*/
|
||||
|
||||
#define KC_ KC_TRNS
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
|
||||
#define KC_TMB1 KC_LA(TAB)
|
||||
#define KC_TMB2 KC_LS(SPC)
|
||||
#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
|
||||
#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
|
||||
#define KC_TMB5 KC_RC(BSPC)
|
||||
#define KC_TMB6 KC_RG(ENT)
|
||||
#define KC_TMB7 KC_RC(DEL)
|
||||
|
||||
#endif
|
||||
#define __KC_TRNS_x4__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
#define __KC_TRNS_x6__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
|
||||
@@ -1,72 +1,68 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "oled.h"
|
||||
|
||||
static void render_logo(struct CharacterMatrix *matrix) {
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
void render_host_led_state(void) {
|
||||
char led_state_str[24];
|
||||
uint8_t leds = host_keyboard_leds();
|
||||
|
||||
static char 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};
|
||||
matrix_write(matrix, logo);
|
||||
bool is_num_lock_enabled = leds & (1 << USB_LED_NUM_LOCK);
|
||||
bool is_caps_lock_enabled = leds & (1 << USB_LED_CAPS_LOCK);
|
||||
bool is_scroll_lock_enabled = leds & (1 << USB_LED_SCROLL_LOCK);
|
||||
|
||||
snprintf(led_state_str, sizeof(led_state_str), "NL:%s CL:%s SL:%s", is_num_lock_enabled ? "on" : "- ", is_caps_lock_enabled ? "on" : "- ", is_scroll_lock_enabled ? "on" : "- ");
|
||||
oled_write(led_state_str, false);
|
||||
}
|
||||
|
||||
void matrix_update(struct CharacterMatrix *dest,
|
||||
const struct CharacterMatrix *source) {
|
||||
if (memcmp(dest->display, source->display, sizeof(dest->display))) {
|
||||
memcpy(dest->display, source->display, sizeof(dest->display));
|
||||
dest->dirty = true;
|
||||
}
|
||||
void render_layer_state(void) {
|
||||
char layer_name[17];
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (biton32(layer_state)) {
|
||||
case L_EDVORAKJP_BASE:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
break;
|
||||
case L_EDVORAKJP_LOWER:
|
||||
oled_write_ln_P(PSTR("Lower"), false);
|
||||
break;
|
||||
case L_EDVORAKJP_RAISE:
|
||||
oled_write_ln_P(PSTR("Raise"), false);
|
||||
break;
|
||||
default:
|
||||
snprintf(layer_name, sizeof(layer_name), "Undef-%ld", layer_state);
|
||||
oled_write_ln(layer_name, false);
|
||||
}
|
||||
}
|
||||
|
||||
void render_status(struct CharacterMatrix *matrix) {
|
||||
|
||||
// Render to mode icon
|
||||
static char logo[][2][3] = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
|
||||
int mode_number = get_enable_kc_lang() ? 0 : 1;
|
||||
matrix_write(matrix, logo[mode_number][0]);
|
||||
matrix_write(matrix, "\n");
|
||||
matrix_write(matrix, logo[mode_number][1]);
|
||||
|
||||
// Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
|
||||
char buf[40];
|
||||
snprintf(buf,sizeof(buf), "Undef-%ld", layer_state);
|
||||
matrix_write_P(matrix, PSTR("\nLayer: "));
|
||||
switch (biton32(layer_state)) {
|
||||
case L_BASE:
|
||||
matrix_write_P(matrix, PSTR("Default"));
|
||||
break;
|
||||
case _RAISE:
|
||||
matrix_write_P(matrix, PSTR("Raise"));
|
||||
break;
|
||||
case _LOWER:
|
||||
matrix_write_P(matrix, PSTR("Lower"));
|
||||
break;
|
||||
default:
|
||||
matrix_write(matrix, buf);
|
||||
}
|
||||
|
||||
// Host Keyboard LED Status
|
||||
char led[40];
|
||||
snprintf(led, sizeof(led), "\n%s %s %s",
|
||||
(host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NMLK" : " ",
|
||||
(host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? "CAPS" : " ",
|
||||
(host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
|
||||
matrix_write(matrix, led);
|
||||
void render_logo(void) {
|
||||
static const char helix_logo[] PROGMEM = {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};
|
||||
oled_write_P(helix_logo, false);
|
||||
}
|
||||
|
||||
void iota_gfx_task_user(void) {
|
||||
struct CharacterMatrix matrix;
|
||||
void render_mode_icon(bool is_windows) {
|
||||
static const char logo[][2][3] = {
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
|
||||
};
|
||||
static char mode_icon[10];
|
||||
|
||||
#if DEBUG_TO_SCREEN
|
||||
if (debug_enable) { return; }
|
||||
#endif
|
||||
|
||||
matrix_clear(&matrix);
|
||||
if (is_master) {
|
||||
render_status(&matrix);
|
||||
} else {
|
||||
render_logo(&matrix);
|
||||
}
|
||||
matrix_update(&display, &matrix);
|
||||
snprintf(mode_icon, sizeof(mode_icon), "%s\n%s ", logo[is_windows][0], logo[is_windows][1]);
|
||||
oled_write(mode_icon, false);
|
||||
}
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
// flips the display 180 degrees if offhand
|
||||
return is_keyboard_left() ? rotation : rotation ^ OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
void oled_task_user(void) {
|
||||
if (is_keyboard_left()) {
|
||||
render_mode_icon(!get_enable_kc_lang());
|
||||
render_layer_state();
|
||||
render_host_led_state();
|
||||
} else {
|
||||
render_logo();
|
||||
}
|
||||
}
|
||||
#endif // OLED_DRIVER_ENABLE
|
||||
|
||||
@@ -1,19 +1,12 @@
|
||||
#ifndef OLED_USER_H
|
||||
#define OLED_USER_H
|
||||
#pragma once
|
||||
|
||||
//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
|
||||
#include "ssd1306.h"
|
||||
#include "edvorakjp.h"
|
||||
|
||||
//assign the right code to your layers for OLED display
|
||||
#define L_BASE 0
|
||||
|
||||
extern uint8_t is_master;
|
||||
extern bool japanese_mode;
|
||||
|
||||
void matrix_update(struct CharacterMatrix *dest,
|
||||
const struct CharacterMatrix *source);
|
||||
void render_status(struct CharacterMatrix *matrix);
|
||||
void iota_gfx_task_user(void);
|
||||
|
||||
#endif // OLED_CONFIG_USER_H
|
||||
void render_host_led_state(void);
|
||||
void render_layer_state(void);
|
||||
void render_logo(void);
|
||||
void render_mode_icon(bool is_windows);
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation);
|
||||
void oled_task_user(void);
|
||||
|
||||
@@ -18,6 +18,7 @@ TAP_DANCE_ENABLE = yes
|
||||
# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
|
||||
# LED_ANIMATIONS = yes # LED animations
|
||||
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
|
||||
OLED_SELECT = core
|
||||
|
||||
# convert Helix-specific options (that represent combinations of standard options)
|
||||
# into QMK standard options.
|
||||
|
||||
@@ -35,6 +35,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
// If you need more program area, try select and reduce rgblight modes to use.
|
||||
|
||||
#define DISABLE_SYNC_TIMER
|
||||
|
||||
// Selection of RGBLIGHT MODE to use.
|
||||
#undef RGBLIGHT_ANIMATIONS
|
||||
#undef RGBLIGHT_EFFECT_BREATHING
|
||||
|
||||
@@ -42,6 +42,8 @@ enum custom_keycodes {
|
||||
RGBRST
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
|
||||
//Macros
|
||||
@@ -49,24 +51,26 @@ enum custom_keycodes {
|
||||
#define XXXX XXXXXXX
|
||||
#define ____ _______
|
||||
#define KC_ADJ MO(_ADJUST)
|
||||
#define KC_LSMI LSFT(KC_MINS)
|
||||
#define KC_LSEQ LSFT(KC_EQL)
|
||||
#define KC_LSRB LSFT(KC_RBRC)
|
||||
#define KC_LSLB LSFT(KC_LBRC)
|
||||
|
||||
#define _1_2_3_4_5 KC_1, KC_2, KC_3, KC_4, KC_5
|
||||
#define _6_7_8_9_0 KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
#define L_LOWER2_CAPS_LALT_LGUI_SPC_RABS \
|
||||
#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5
|
||||
#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
#define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \
|
||||
KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC)
|
||||
#define R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
#define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \
|
||||
LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_LOWER, KC_LOWER
|
||||
|
||||
#define GRV__QUOT KC_GRV, KC_QUOT
|
||||
|
||||
#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Qwerty */
|
||||
#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G
|
||||
#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||
#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
@@ -78,23 +82,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _Q_W_E_R_T KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define _Y_U_I_O_P KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define _A_S_D_F_G KC_A, KC_S, KC_D, KC_F, KC_G
|
||||
#define _H_J_K_L_SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||
#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
#define _N_M_COMM_DOT_SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
|
||||
[_QWERTY] = LAYOUT_wrapper( \
|
||||
KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
|
||||
KC_TAB, _Q_W_E_R_T, _Y_U_I_O_P, KC_BSLS, \
|
||||
KC_LCTL, _A_S_D_F_G, _H_J_K_L_SCLN, KC_RCTL, \
|
||||
KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _N_M_COMM_DOT_SLSH, KC_RSFT, \
|
||||
L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
[_QWERTY] = LAYOUT_wrapper(
|
||||
KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
|
||||
KC_TAB, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS,
|
||||
KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL,
|
||||
KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, N_____M____COMM__DOT___SLSH, KC_RSFT,
|
||||
LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Colemak */
|
||||
#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G
|
||||
#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
||||
#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D
|
||||
#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O
|
||||
#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
@@ -106,23 +109,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _Q_W_F_P_G KC_Q, KC_W, KC_F, KC_P, KC_G
|
||||
#define _J_L_U_Y_SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
||||
#define _A_R_S_T_D KC_A, KC_R, KC_S, KC_T, KC_D
|
||||
#define _H_N_E_I_O KC_H, KC_N, KC_E, KC_I, KC_O
|
||||
#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
#define _K_M_COMM_DOT_SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
[_COLEMAK] = LAYOUT_wrapper(
|
||||
KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
|
||||
KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS,
|
||||
KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL,
|
||||
KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT,
|
||||
LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
|
||||
),
|
||||
|
||||
[_COLEMAK] = LAYOUT_wrapper( \
|
||||
KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
|
||||
KC_TAB, _Q_W_F_P_G, _J_L_U_Y_SCLN, KC_BSLS, \
|
||||
KC_LCTL, _A_R_S_T_D, _H_N_E_I_O, KC_RCTL, \
|
||||
KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _K_M_COMM_DOT_SLSH, KC_RSFT, \
|
||||
L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
),
|
||||
|
||||
/* Dvorak
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Dvorak */
|
||||
#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
||||
#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L
|
||||
#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I
|
||||
#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S
|
||||
#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X
|
||||
#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z
|
||||
#define GRV__SLSH KC_GRV, KC_SLSH
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ |
|
||||
@@ -134,23 +137,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _QUOT_COMM_DOT_P_Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
||||
#define _F_G_C_R_L KC_F, KC_G, KC_C, KC_R, KC_L
|
||||
#define _A_O_E_U_I KC_A, KC_O, KC_E, KC_U, KC_I
|
||||
#define _D_H_T_N_S KC_D, KC_H, KC_T, KC_N, KC_S
|
||||
#define _SCLN_Q_J_K_X KC_SCLN, KC_Q, KC_J, KC_K, KC_X
|
||||
#define _B_M_W_V_Z KC_B, KC_M, KC_W, KC_V, KC_Z
|
||||
|
||||
[_DVORAK] = LAYOUT_wrapper( \
|
||||
KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
|
||||
KC_TAB, _QUOT_COMM_DOT_P_Y, _F_G_C_R_L, KC_BSLS, \
|
||||
KC_LCTL, _A_O_E_U_I, _D_H_T_N_S, KC_RCTL, \
|
||||
KC_LSFT, _SCLN_Q_J_K_X, KC_GRV, KC_SLSH, _B_M_W_V_Z, KC_RSFT, \
|
||||
L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
[_DVORAK] = LAYOUT_wrapper(
|
||||
KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
|
||||
KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS,
|
||||
KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL,
|
||||
KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT,
|
||||
LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
|
||||
),
|
||||
|
||||
/* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout)
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */
|
||||
#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN
|
||||
#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P
|
||||
#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U
|
||||
#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N
|
||||
#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F
|
||||
#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ |
|
||||
@@ -162,23 +164,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _Q_W_COMM_DOT_SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN
|
||||
#define _M_R_D_Y_P KC_M, KC_R, KC_D, KC_Y, KC_P
|
||||
#define _A_O_E_I_U KC_A, KC_O, KC_E, KC_I, KC_U
|
||||
#define _G_T_K_S_N KC_G, KC_T, KC_K, KC_S, KC_N
|
||||
#define _Z_X_C_V_F KC_Z, KC_X, KC_C, KC_V, KC_F
|
||||
#define _B_H_J_L_SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH
|
||||
[_EUCALYN] = LAYOUT_wrapper(
|
||||
KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
|
||||
KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS,
|
||||
KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL,
|
||||
KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT,
|
||||
LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
|
||||
),
|
||||
|
||||
[_EUCALYN] = LAYOUT_wrapper( \
|
||||
KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
|
||||
KC_TAB, _Q_W_COMM_DOT_SCLN, _M_R_D_Y_P, KC_BSLS, \
|
||||
KC_LCTL, _A_O_E_I_U, _G_T_K_S_N, KC_RCTL, \
|
||||
KC_LSFT, _Z_X_C_V_F, KC_GRV, KC_QUOT, _B_H_J_L_SLSH, KC_RSFT, \
|
||||
L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
),
|
||||
|
||||
/* Keypad
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Keypad */
|
||||
#define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST
|
||||
#define KP__7_____8_____9 KC_KP_7, KC_KP_8, KC_KP_9
|
||||
#define KP__4_____5_____6 KC_KP_4, KC_KP_5, KC_KP_6
|
||||
#define KP__1_____2_____3 KC_KP_1, KC_KP_2, KC_KP_3
|
||||
#define KP__0___COMM_PDOT KC_KP_0, KC_COMM, KC_PDOT
|
||||
#define F1___F6 KC_F1, KC_F6
|
||||
#define F2___F7 KC_F2, KC_F7
|
||||
#define F3___F8 KC_F3, KC_F8
|
||||
#define F4___F9 KC_F4, KC_F9
|
||||
#define F5__F10 KC_F5, KC_F10
|
||||
#define FF12 LT(_PADFUNC,KC_F12)
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 |
|
||||
@@ -190,25 +196,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | 0 | , | . |Enter| F5 | F10| F12 | F12 | F5 | F10|Enter| 0 | , | . |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define KP_TOP KC_TAB, KC_PSLS, KC_PAST
|
||||
#define KP_789 KC_KP_7, KC_KP_8, KC_KP_9
|
||||
#define KP_456 KC_KP_4, KC_KP_5, KC_KP_6
|
||||
#define KP_123 KC_KP_1, KC_KP_2, KC_KP_3
|
||||
#define KP_BTM KC_KP_0, KC_COMM, KC_PDOT
|
||||
#define F_1_6 KC_F1, KC_F6
|
||||
#define F_2_7 KC_F2, KC_F7
|
||||
#define F_3_8 KC_F3, KC_F8
|
||||
#define F_4_9 KC_F4, KC_F9
|
||||
#define F_510 KC_F5, KC_F10
|
||||
#define FF12 LT(_PADFUNC,KC_F12)
|
||||
|
||||
[_KEYPAD] = LAYOUT_wrapper( \
|
||||
KP_TOP, KC_DEL, F_1_6, F_1_6, KC_DEL, KP_TOP, \
|
||||
KP_789, KC_BSPC, F_2_7, F_2_7, KC_BSPC, KP_789, \
|
||||
KP_456, KC_PMNS, F_3_8, F_3_8, KC_PMNS, KP_456, \
|
||||
KP_123, KC_PPLS, F_4_9, KC_F11, KC_F11, F_4_9, KC_PPLS, KP_123, \
|
||||
KP_BTM, KC_PENT, F_510, FF12, FF12, F_510, KC_PENT, KP_BTM \
|
||||
),
|
||||
[_KEYPAD] = LAYOUT_wrapper(
|
||||
KP_TAB__PSLS_PAST, KC_DEL, F1___F6, F1___F6, KC_DEL, KP_TAB__PSLS_PAST,
|
||||
KP__7_____8_____9, KC_BSPC, F2___F7, F2___F7, KC_BSPC, KP__7_____8_____9,
|
||||
KP__4_____5_____6, KC_PMNS, F3___F8, F3___F8, KC_PMNS, KP__4_____5_____6,
|
||||
KP__1_____2_____3, KC_PPLS, F4___F9, KC_F11,KC_F11, F4___F9, KC_PPLS, KP__1_____2_____3,
|
||||
KP__0___COMM_PDOT, KC_PENT, F5__F10, FF12, FF12, F5__F10, KC_PENT, KP__0___COMM_PDOT
|
||||
),
|
||||
|
||||
/* AUX modifier key layer
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
@@ -223,16 +217,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | 00 | | | | | | | | | | | 00 | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_KAUX] = LAYOUT( \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ \
|
||||
[_KAUX] = LAYOUT(
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____
|
||||
),
|
||||
|
||||
/* Keypad function layer
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
/* Keypad function layer */
|
||||
#define PAUS__SLCK__PSCR KC_PAUS, KC_SLCK, KC_PSCR
|
||||
#define PSCR__SLCK__PAUS KC_PSCR, KC_SLCK, KC_PAUS
|
||||
#define HOME___UP___PGUP KC_HOME, KC_UP, KC_PGUP
|
||||
#define PGUP___UP___HOME KC_PGUP, KC_UP, KC_HOME
|
||||
#define DEL____INS__LEFT__DOWN__RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
#define LEFT__DOWN__RGHT___INS___DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL
|
||||
#define PGDN___ADJ___ADJ__PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN
|
||||
/* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | Home | Up | PgUp | | PgUp | Up | Home | | | |
|
||||
@@ -244,55 +245,53 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | | | | | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _PAUS_SLCK_PSCR KC_PAUS, KC_SLCK, KC_PSCR
|
||||
#define _PSCR_SLCK_PAUS KC_PSCR, KC_SLCK, KC_PAUS
|
||||
#define _HOME_UP_PGUP KC_HOME, KC_UP, KC_PGUP
|
||||
#define _PGUP_UP_HOME KC_PGUP, KC_UP, KC_HOME
|
||||
#define _DEL_INS_LEFT_DOWN_RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
#define _LEFT_DOWN_RGHT_INS_DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL
|
||||
#define _PGDN_ADJ_ADJ_PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN
|
||||
|
||||
[_PADFUNC] = LAYOUT_wrapper( \
|
||||
XXXX, XXXX, XXXX, _PAUS_SLCK_PSCR, _PSCR_SLCK_PAUS, XXXX, XXXX, XXXX, \
|
||||
XXXX, XXXX, XXXX, _HOME_UP_PGUP, _PGUP_UP_HOME, XXXX, XXXX, XXXX, \
|
||||
XXXX, _DEL_INS_LEFT_DOWN_RGHT, _LEFT_DOWN_RGHT_INS_DEL, XXXX, \
|
||||
XXXX, XXXX, XXXX, KC_END, XXXX, _PGDN_ADJ_ADJ_PGDN, XXXX, KC_END, XXXX, XXXX, XXXX, \
|
||||
XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX \
|
||||
[_PADFUNC] = LAYOUT_wrapper(
|
||||
XXXX, XXXX, XXXX, PAUS__SLCK__PSCR, PSCR__SLCK__PAUS, XXXX, XXXX, XXXX,
|
||||
XXXX, XXXX, XXXX, HOME___UP___PGUP, PGUP___UP___HOME, XXXX, XXXX, XXXX,
|
||||
XXXX, DEL____INS__LEFT__DOWN__RGHT, LEFT__DOWN__RGHT___INS___DEL, XXXX,
|
||||
XXXX, XXXX, XXXX,KC_END,XXXX, PGDN___ADJ___ADJ__PGDN, XXXX,KC_END,XXXX, XXXX, XXXX,
|
||||
XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
/* Lower */
|
||||
#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||
#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
||||
#define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SLCK, KC_INS
|
||||
#define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SLCK, KC_PAUS, XXXX
|
||||
#define ADJ___ADJ KC_ADJ, KC_ADJ
|
||||
#define HOME__XXXX___UP____DEL__PGUP KC_HOME, XXXX, KC_UP, KC_DEL, KC_PGUP
|
||||
#define PGUP___DEL___UP___XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXX, KC_HOME
|
||||
#define END__LEFT__DOWN__RGHT__PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN
|
||||
#define PGDN__LEFT__DOWN__RGHT___END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
|
||||
/* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | |
|
||||
* | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | PgDn | Left | Down | Right| End |Adjust|Adjust| End | Left | Down | Right| PgDn | |
|
||||
* | | End | Left | Down | Right| PgDn |Adjust|Adjust| PgDn | Left | Down | Right| End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | PrtSc| | | | | | | | | PrtSc| | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _F1_F2_F3_F4_F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||
#define _F6_F7_F8_F9_F10_F11 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11
|
||||
#define _PAUS_SLCK_INS KC_PAUS, KC_SLCK, KC_INS
|
||||
#define _INS_SLCK_PAUS KC_INS, KC_SLCK, KC_PAUS
|
||||
#define _ADJ_ADJ KC_ADJ, KC_ADJ
|
||||
#define _UP_DEL_PGUP KC_UP, KC_DEL, KC_PGUP
|
||||
#define _PGUP_DEL_UP KC_PGUP, KC_DEL, KC_UP
|
||||
#define _END_LEFT_DOWN_RGHT_PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN
|
||||
#define _PGDN_LEFT_DOWN_RGHT_END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
|
||||
[_LOWER] = LAYOUT_wrapper(
|
||||
XXXX, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11,
|
||||
XXXX, XXXX__PAUS__SLCK___INS, XXXX, XXXX___INS__SLCK__PAUS__XXXX, KC_F12,
|
||||
____, HOME__XXXX___UP____DEL__PGUP, PGUP___DEL___UP___XXXX__HOME, ____,
|
||||
____, END__LEFT__DOWN__RGHT__PGDN, XXXX, XXXX, PGDN__LEFT__DOWN__RGHT___END, ____,
|
||||
____, ____,KC_PSCR,____, ____, ____, ADJ___ADJ, ____, ____, ____,KC_PSCR,____, ____
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_wrapper( \
|
||||
XXXX, _F1_F2_F3_F4_F5, _F6_F7_F8_F9_F10_F11, \
|
||||
XXXX, XXXX, _PAUS_SLCK_INS, XXXX, XXXX, _INS_SLCK_PAUS, XXXX, KC_F12, \
|
||||
____, KC_HOME, XXXX, _UP_DEL_PGUP, _PGUP_DEL_UP, XXXX, KC_HOME, ____, \
|
||||
____, _END_LEFT_DOWN_RGHT_PGDN, XXXX, XXXX, _PGDN_LEFT_DOWN_RGHT_END, ____, \
|
||||
____, ____, KC_PSCR, ____, ____, ____, _ADJ_ADJ, ____, ____, ____, KC_PSCR, ____, ____ \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
/* Raise */
|
||||
#define UNDS__MINS KC_UNDS, KC_MINS
|
||||
#define EQL___PLUS KC_EQL, KC_PLUS
|
||||
#define LCBR__LBRC KC_LCBR, KC_LBRC
|
||||
#define RBRC__RCBR KC_RBRC, KC_RCBR
|
||||
#define MNXT__VOLD__VOLU__MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
#define EISU__EISU xEISU, xEISU
|
||||
#define KANA__KANA xKANA, xKANA
|
||||
/* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | _ | - | | = | + | | | | |
|
||||
@@ -304,19 +303,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | | | | | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _LSMI_MINS KC_LSMI, KC_MINS
|
||||
#define _EQL_LSEQ KC_EQL, KC_LSEQ
|
||||
#define _LSLB_LBRC KC_LSLB, KC_LBRC
|
||||
#define _RBRC_LSRB KC_RBRC, KC_LSRB
|
||||
#define _MNXT_VOLD_VOLU_MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
|
||||
[_RAISE] = LAYOUT_wrapper( \
|
||||
XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, \
|
||||
XXXX, XXXX, XXXX, XXXX, _LSMI_MINS, _EQL_LSEQ, XXXX, XXXX, XXXX, XXXX, \
|
||||
____, XXXX, XXXX, XXXX, _LSLB_LBRC, _RBRC_LSRB, XXXX, XXXX, XXXX, ____, \
|
||||
____, XXXX, XXXX, XXXX, XXXX,xEISU,xEISU, xKANA,xKANA, _MNXT_VOLD_VOLU_MPLY, ____, \
|
||||
_ADJ_ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, _ADJ_ADJ \
|
||||
),
|
||||
[_RAISE] = LAYOUT_wrapper(
|
||||
XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX,
|
||||
XXXX, XXXX, XXXX, XXXX, UNDS__MINS, EQL___PLUS, XXXX, XXXX, XXXX, XXXX,
|
||||
____, XXXX, XXXX, XXXX, LCBR__LBRC, RBRC__RCBR, XXXX, XXXX, XXXX, ____,
|
||||
____, XXXX, XXXX, XXXX, XXXX, EISU__EISU, KANA__KANA, MNXT__VOLD__VOLU__MPLY, ____,
|
||||
ADJ___ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ___ADJ
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
@@ -331,16 +324,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | | | | | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT( \
|
||||
XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, \
|
||||
XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, \
|
||||
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, \
|
||||
RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, \
|
||||
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \
|
||||
[_ADJUST] = LAYOUT(
|
||||
XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX,
|
||||
XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX,
|
||||
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI,
|
||||
RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD,
|
||||
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______
|
||||
),
|
||||
|
||||
/* AUX modifier key layer
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
/* AUX modifier key layer */
|
||||
#define BSPC__RAEN KC_BSPC, LT(_RAISE,KC_ENT)
|
||||
/* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | | |
|
||||
@@ -352,14 +346,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | BS | Enter| | | | | | | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _BSPC_RAEN KC_BSPC, LT(_RAISE,KC_ENT)
|
||||
[_AUX] = LAYOUT_wrapper( \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, _BSPC_RAEN, ____, ____, ____, ____, ____, ____, ____ \
|
||||
)
|
||||
[_AUX] = LAYOUT_wrapper(
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, BSPC__RAEN, ____, ____, ____, ____, ____, ____, ____
|
||||
)
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
@@ -35,6 +35,20 @@ ifneq ($(strip $(HELIX)),)
|
||||
LED_BACK_ENABLE = no
|
||||
LED_UNDERGLOW_ENABLE = no
|
||||
endif
|
||||
ifneq ($(filter nooled no-oled,$(strip $1)),)
|
||||
OLED_ENABLE = no
|
||||
endif
|
||||
ifeq ($(strip $1),oled)
|
||||
OLED_ENABLE = yes
|
||||
endif
|
||||
ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),)
|
||||
OLED_ENABLE = yes
|
||||
OLED_SELECT = core
|
||||
endif
|
||||
ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),)
|
||||
OLED_ENABLE = yes
|
||||
OLED_SELECT = local
|
||||
endif
|
||||
ifeq ($(strip $1),console)
|
||||
CONSOLE_ENABLE = yes
|
||||
endif
|
||||
@@ -79,10 +93,10 @@ ifeq ($(strip $(DEBUG_CONFIG)), yes)
|
||||
OPT_DEFS += -DDEBUG_CONFIG
|
||||
endif
|
||||
|
||||
# convert Helix-specific options (that represent combinations of standard options)
|
||||
# into QMK standard options.
|
||||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
|
||||
|
||||
ifeq ($(strip $(OLED_ENABLE)), yes)
|
||||
SRC += oled_display.c
|
||||
endif
|
||||
|
||||
# convert Helix-specific options (that represent combinations of standard options)
|
||||
# into QMK standard options.
|
||||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
|
||||
|
||||
@@ -22,19 +22,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#undef OLED_UPDATE_INTERVAL
|
||||
#define OLED_UPDATE_INTERVAL 50
|
||||
|
||||
#undef TAPPING_TERM
|
||||
#define TAPPING_TERM 300
|
||||
#define PERMISSIVE_HOLD
|
||||
/* when TAPPING_TERM >= 500 same effect PERMISSIVE_HOLD.
|
||||
see tmk_core/common/action_tapping.c */
|
||||
|
||||
#undef OLED_UPDATE_INTERVAL
|
||||
#define OLED_UPDATE_INTERVAL 50
|
||||
|
||||
// place overrides here
|
||||
|
||||
// If you need more program area, try select and reduce rgblight modes to use.
|
||||
|
||||
#define DISABLE_SYNC_TIMER
|
||||
|
||||
// Selection of RGBLIGHT MODE to use.
|
||||
#undef RGBLIGHT_ANIMATIONS
|
||||
#undef RGBLIGHT_EFFECT_BREATHING
|
||||
|
||||
@@ -42,6 +42,8 @@ enum custom_keycodes {
|
||||
RGBRST
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
|
||||
//Macros
|
||||
@@ -49,24 +51,26 @@ enum custom_keycodes {
|
||||
#define XXXX XXXXXXX
|
||||
#define ____ _______
|
||||
#define KC_ADJ MO(_ADJUST)
|
||||
#define KC_LSMI LSFT(KC_MINS)
|
||||
#define KC_LSEQ LSFT(KC_EQL)
|
||||
#define KC_LSRB LSFT(KC_RBRC)
|
||||
#define KC_LSLB LSFT(KC_LBRC)
|
||||
|
||||
#define _1_2_3_4_5 KC_1, KC_2, KC_3, KC_4, KC_5
|
||||
#define _6_7_8_9_0 KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
#define L_LOWER2_CAPS_LALT_LGUI_SPC_RABS \
|
||||
#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5
|
||||
#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
#define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \
|
||||
KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC)
|
||||
#define R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
#define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \
|
||||
LT(_RAISE,KC_ENT), KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_LOWER, KC_LOWER
|
||||
|
||||
#define GRV__QUOT KC_GRV, KC_QUOT
|
||||
|
||||
#if MATRIX_ROWS == 10 // HELIX_ROWS == 5
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Qwerty */
|
||||
#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G
|
||||
#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||
#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
@@ -78,23 +82,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _Q_W_E_R_T KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define _Y_U_I_O_P KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define _A_S_D_F_G KC_A, KC_S, KC_D, KC_F, KC_G
|
||||
#define _H_J_K_L_SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN
|
||||
#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
#define _N_M_COMM_DOT_SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
|
||||
[_QWERTY] = LAYOUT_wrapper( \
|
||||
KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
|
||||
KC_TAB, _Q_W_E_R_T, _Y_U_I_O_P, KC_BSLS, \
|
||||
KC_LCTL, _A_S_D_F_G, _H_J_K_L_SCLN, KC_RCTL, \
|
||||
KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _N_M_COMM_DOT_SLSH, KC_RSFT, \
|
||||
L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
[_QWERTY] = LAYOUT_wrapper(
|
||||
KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
|
||||
KC_TAB, Q_____W_____E_____R_____T, Y_____U_____I_____O_____P, KC_BSLS,
|
||||
KC_LCTL, A_____S_____D_____F_____G, H_____J_____K_____L____SCLN, KC_RCTL,
|
||||
KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, N_____M____COMM__DOT___SLSH, KC_RSFT,
|
||||
LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Colemak */
|
||||
#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G
|
||||
#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
||||
#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D
|
||||
#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O
|
||||
#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | Q | W | F | P | G | | J | L | U | Y | ; | \ |
|
||||
@@ -106,23 +109,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _Q_W_F_P_G KC_Q, KC_W, KC_F, KC_P, KC_G
|
||||
#define _J_L_U_Y_SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN
|
||||
#define _A_R_S_T_D KC_A, KC_R, KC_S, KC_T, KC_D
|
||||
#define _H_N_E_I_O KC_H, KC_N, KC_E, KC_I, KC_O
|
||||
#define _Z_X_C_V_B KC_Z, KC_X, KC_C, KC_V, KC_B
|
||||
#define _K_M_COMM_DOT_SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH
|
||||
[_COLEMAK] = LAYOUT_wrapper(
|
||||
KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
|
||||
KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS,
|
||||
KC_LCTL, A_____R_____S_____T_____D, H_____N_____E_____I_____O, KC_RCTL,
|
||||
KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT,
|
||||
LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
|
||||
),
|
||||
|
||||
[_COLEMAK] = LAYOUT_wrapper( \
|
||||
KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
|
||||
KC_TAB, _Q_W_F_P_G, _J_L_U_Y_SCLN, KC_BSLS, \
|
||||
KC_LCTL, _A_R_S_T_D, _H_N_E_I_O, KC_RCTL, \
|
||||
KC_LSFT, _Z_X_C_V_B, KC_GRV, KC_QUOT, _K_M_COMM_DOT_SLSH, KC_RSFT, \
|
||||
L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
),
|
||||
|
||||
/* Dvorak
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Dvorak */
|
||||
#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
||||
#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L
|
||||
#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I
|
||||
#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S
|
||||
#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X
|
||||
#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z
|
||||
#define GRV__SLSH KC_GRV, KC_SLSH
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | ' | , | . | P | Y | | F | G | C | R | L | \ |
|
||||
@@ -134,23 +137,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _QUOT_COMM_DOT_P_Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
||||
#define _F_G_C_R_L KC_F, KC_G, KC_C, KC_R, KC_L
|
||||
#define _A_O_E_U_I KC_A, KC_O, KC_E, KC_U, KC_I
|
||||
#define _D_H_T_N_S KC_D, KC_H, KC_T, KC_N, KC_S
|
||||
#define _SCLN_Q_J_K_X KC_SCLN, KC_Q, KC_J, KC_K, KC_X
|
||||
#define _B_M_W_V_Z KC_B, KC_M, KC_W, KC_V, KC_Z
|
||||
|
||||
[_DVORAK] = LAYOUT_wrapper( \
|
||||
KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
|
||||
KC_TAB, _QUOT_COMM_DOT_P_Y, _F_G_C_R_L, KC_BSLS, \
|
||||
KC_LCTL, _A_O_E_U_I, _D_H_T_N_S, KC_RCTL, \
|
||||
KC_LSFT, _SCLN_Q_J_K_X, KC_GRV, KC_SLSH, _B_M_W_V_Z, KC_RSFT, \
|
||||
L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
[_DVORAK] = LAYOUT_wrapper(
|
||||
KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
|
||||
KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS,
|
||||
KC_LCTL, A_____O_____E_____U_____I, D_____H_____T_____N_____S, KC_RCTL,
|
||||
KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT,
|
||||
LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
|
||||
),
|
||||
|
||||
/* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout)
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */
|
||||
#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN
|
||||
#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P
|
||||
#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U
|
||||
#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N
|
||||
#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F
|
||||
#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | Q | W | , | . | ; | | M | R | D | Y | P | \ |
|
||||
@@ -162,23 +164,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower|
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _Q_W_COMM_DOT_SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN
|
||||
#define _M_R_D_Y_P KC_M, KC_R, KC_D, KC_Y, KC_P
|
||||
#define _A_O_E_I_U KC_A, KC_O, KC_E, KC_I, KC_U
|
||||
#define _G_T_K_S_N KC_G, KC_T, KC_K, KC_S, KC_N
|
||||
#define _Z_X_C_V_F KC_Z, KC_X, KC_C, KC_V, KC_F
|
||||
#define _B_H_J_L_SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH
|
||||
[_EUCALYN] = LAYOUT_wrapper(
|
||||
KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC,
|
||||
KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS,
|
||||
KC_LCTL, A_____O_____E_____I_____U, G_____T_____K_____S_____N, KC_RCTL,
|
||||
KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT,
|
||||
LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER
|
||||
),
|
||||
|
||||
[_EUCALYN] = LAYOUT_wrapper( \
|
||||
KC_ESC, _1_2_3_4_5, _6_7_8_9_0, KC_BSPC, \
|
||||
KC_TAB, _Q_W_COMM_DOT_SCLN, _M_R_D_Y_P, KC_BSLS, \
|
||||
KC_LCTL, _A_O_E_I_U, _G_T_K_S_N, KC_RCTL, \
|
||||
KC_LSFT, _Z_X_C_V_F, KC_GRV, KC_QUOT, _B_H_J_L_SLSH, KC_RSFT, \
|
||||
L_LOWER2_CAPS_LALT_LGUI_SPC_RABS, R_RAEN_SPC_RGUI_RALT_APP_LOWER2 \
|
||||
),
|
||||
|
||||
/* Keypad
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
/* Keypad */
|
||||
#define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST
|
||||
#define KP__7_____8_____9 KC_KP_7, KC_KP_8, KC_KP_9
|
||||
#define KP__4_____5_____6 KC_KP_4, KC_KP_5, KC_KP_6
|
||||
#define KP__1_____2_____3 KC_KP_1, KC_KP_2, KC_KP_3
|
||||
#define KP__0___COMM_PDOT KC_KP_0, KC_COMM, KC_PDOT
|
||||
#define F1___F6 KC_F1, KC_F6
|
||||
#define F2___F7 KC_F2, KC_F7
|
||||
#define F3___F8 KC_F3, KC_F8
|
||||
#define F4___F9 KC_F4, KC_F9
|
||||
#define F5__F10 KC_F5, KC_F10
|
||||
#define FF12 LT(_PADFUNC,KC_F12)
|
||||
/* ,-----------------------------------. ,-----------------------------------.
|
||||
* | Tab | / | * | Del | F1 | F6 | | F1 | F6 | Del | Tab | / | * |
|
||||
* |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----|
|
||||
* | 7 | 8 | 9 | BS | F2 | F7 | | F2 | F7 | BS | 7 | 8 | 9 |
|
||||
@@ -190,25 +196,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | 0 | , | . |Enter| F5 | F10| F12 | F12 | F5 | F10|Enter| 0 | , | . |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define KP_TOP KC_TAB, KC_PSLS, KC_PAST
|
||||
#define KP_789 KC_KP_7, KC_KP_8, KC_KP_9
|
||||
#define KP_456 KC_KP_4, KC_KP_5, KC_KP_6
|
||||
#define KP_123 KC_KP_1, KC_KP_2, KC_KP_3
|
||||
#define KP_BTM KC_KP_0, KC_COMM, KC_PDOT
|
||||
#define F_1_6 KC_F1, KC_F6
|
||||
#define F_2_7 KC_F2, KC_F7
|
||||
#define F_3_8 KC_F3, KC_F8
|
||||
#define F_4_9 KC_F4, KC_F9
|
||||
#define F_510 KC_F5, KC_F10
|
||||
#define FF12 LT(_PADFUNC,KC_F12)
|
||||
|
||||
[_KEYPAD] = LAYOUT_wrapper( \
|
||||
KP_TOP, KC_DEL, F_1_6, F_1_6, KC_DEL, KP_TOP, \
|
||||
KP_789, KC_BSPC, F_2_7, F_2_7, KC_BSPC, KP_789, \
|
||||
KP_456, KC_PMNS, F_3_8, F_3_8, KC_PMNS, KP_456, \
|
||||
KP_123, KC_PPLS, F_4_9, KC_F11, KC_F11, F_4_9, KC_PPLS, KP_123, \
|
||||
KP_BTM, KC_PENT, F_510, FF12, FF12, F_510, KC_PENT, KP_BTM \
|
||||
),
|
||||
[_KEYPAD] = LAYOUT_wrapper(
|
||||
KP_TAB__PSLS_PAST, KC_DEL, F1___F6, F1___F6, KC_DEL, KP_TAB__PSLS_PAST,
|
||||
KP__7_____8_____9, KC_BSPC, F2___F7, F2___F7, KC_BSPC, KP__7_____8_____9,
|
||||
KP__4_____5_____6, KC_PMNS, F3___F8, F3___F8, KC_PMNS, KP__4_____5_____6,
|
||||
KP__1_____2_____3, KC_PPLS, F4___F9, KC_F11,KC_F11, F4___F9, KC_PPLS, KP__1_____2_____3,
|
||||
KP__0___COMM_PDOT, KC_PENT, F5__F10, FF12, FF12, F5__F10, KC_PENT, KP__0___COMM_PDOT
|
||||
),
|
||||
|
||||
/* AUX modifier key layer
|
||||
* ,-----------------------------------. ,-----------------------------------.
|
||||
@@ -223,16 +217,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | 00 | | | | | | | | | | | 00 | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_KAUX] = LAYOUT( \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____ \
|
||||
[_KAUX] = LAYOUT(
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____,ZERO2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,ZERO2, ____
|
||||
),
|
||||
|
||||
/* Keypad function layer
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
/* Keypad function layer */
|
||||
#define PAUS__SLCK__PSCR KC_PAUS, KC_SLCK, KC_PSCR
|
||||
#define PSCR__SLCK__PAUS KC_PSCR, KC_SLCK, KC_PAUS
|
||||
#define HOME___UP___PGUP KC_HOME, KC_UP, KC_PGUP
|
||||
#define PGUP___UP___HOME KC_PGUP, KC_UP, KC_HOME
|
||||
#define DEL____INS__LEFT__DOWN__RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
#define LEFT__DOWN__RGHT___INS___DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL
|
||||
#define PGDN___ADJ___ADJ__PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN
|
||||
/* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | Pause| ScrLk| PtrSc| | PtrSc| ScrLk| Pause| | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | Home | Up | PgUp | | PgUp | Up | Home | | | |
|
||||
@@ -244,55 +245,53 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | | | | | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _PAUS_SLCK_PSCR KC_PAUS, KC_SLCK, KC_PSCR
|
||||
#define _PSCR_SLCK_PAUS KC_PSCR, KC_SLCK, KC_PAUS
|
||||
#define _HOME_UP_PGUP KC_HOME, KC_UP, KC_PGUP
|
||||
#define _PGUP_UP_HOME KC_PGUP, KC_UP, KC_HOME
|
||||
#define _DEL_INS_LEFT_DOWN_RGHT KC_DEL, KC_INS, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
#define _LEFT_DOWN_RGHT_INS_DEL KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL
|
||||
#define _PGDN_ADJ_ADJ_PGDN KC_PGDN, KC_ADJ, KC_ADJ, KC_PGDN
|
||||
|
||||
[_PADFUNC] = LAYOUT_wrapper( \
|
||||
XXXX, XXXX, XXXX, _PAUS_SLCK_PSCR, _PSCR_SLCK_PAUS, XXXX, XXXX, XXXX, \
|
||||
XXXX, XXXX, XXXX, _HOME_UP_PGUP, _PGUP_UP_HOME, XXXX, XXXX, XXXX, \
|
||||
XXXX, _DEL_INS_LEFT_DOWN_RGHT, _LEFT_DOWN_RGHT_INS_DEL, XXXX, \
|
||||
XXXX, XXXX, XXXX, KC_END, XXXX, _PGDN_ADJ_ADJ_PGDN, XXXX, KC_END, XXXX, XXXX, XXXX, \
|
||||
XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX \
|
||||
[_PADFUNC] = LAYOUT_wrapper(
|
||||
XXXX, XXXX, XXXX, PAUS__SLCK__PSCR, PSCR__SLCK__PAUS, XXXX, XXXX, XXXX,
|
||||
XXXX, XXXX, XXXX, HOME___UP___PGUP, PGUP___UP___HOME, XXXX, XXXX, XXXX,
|
||||
XXXX, DEL____INS__LEFT__DOWN__RGHT, LEFT__DOWN__RGHT___INS___DEL, XXXX,
|
||||
XXXX, XXXX, XXXX,KC_END,XXXX, PGDN___ADJ___ADJ__PGDN, XXXX,KC_END,XXXX, XXXX, XXXX,
|
||||
XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, ____, ____, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
/* Lower */
|
||||
#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||
#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
||||
#define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SLCK, KC_INS
|
||||
#define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SLCK, KC_PAUS, XXXX
|
||||
#define ADJ___ADJ KC_ADJ, KC_ADJ
|
||||
#define HOME__XXXX___UP____DEL__PGUP KC_HOME, XXXX, KC_UP, KC_DEL, KC_PGUP
|
||||
#define PGUP___DEL___UP___XXXX__HOME KC_PGUP, KC_DEL, KC_UP, XXXX, KC_HOME
|
||||
#define END__LEFT__DOWN__RGHT__PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN
|
||||
#define PGDN__LEFT__DOWN__RGHT___END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
|
||||
/* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | |Pause | ScrLk| Ins | | | | Ins | ScrLk|Pause | | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | PgUp | | Up |Delete| Home | | Home |Delete| Up | | PgUp | |
|
||||
* | | Home | | Up |Delete| PgUp | | PgUp |Delete| Up | | Home | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | PgDn | Left | Down | Right| End |Adjust|Adjust| End | Left | Down | Right| PgDn | |
|
||||
* | | End | Left | Down | Right| PgDn |Adjust|Adjust| PgDn | Left | Down | Right| End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | PrtSc| | | | | | | | | PrtSc| | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _F1_F2_F3_F4_F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||
#define _F6_F7_F8_F9_F10_F11 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11
|
||||
#define _PAUS_SLCK_INS KC_PAUS, KC_SLCK, KC_INS
|
||||
#define _INS_SLCK_PAUS KC_INS, KC_SLCK, KC_PAUS
|
||||
#define _ADJ_ADJ KC_ADJ, KC_ADJ
|
||||
#define _UP_DEL_PGUP KC_UP, KC_DEL, KC_PGUP
|
||||
#define _PGUP_DEL_UP KC_PGUP, KC_DEL, KC_UP
|
||||
#define _END_LEFT_DOWN_RGHT_PGDN KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN
|
||||
#define _PGDN_LEFT_DOWN_RGHT_END KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_END
|
||||
[_LOWER] = LAYOUT_wrapper(
|
||||
XXXX, F1____F2____F3____F4____F5, F6____F7____F8____F9____F10, KC_F11,
|
||||
XXXX, XXXX__PAUS__SLCK___INS, XXXX, XXXX___INS__SLCK__PAUS__XXXX, KC_F12,
|
||||
____, HOME__XXXX___UP____DEL__PGUP, PGUP___DEL___UP___XXXX__HOME, ____,
|
||||
____, END__LEFT__DOWN__RGHT__PGDN, XXXX, XXXX, PGDN__LEFT__DOWN__RGHT___END, ____,
|
||||
____, ____,KC_PSCR,____, ____, ____, ADJ___ADJ, ____, ____, ____,KC_PSCR,____, ____
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_wrapper( \
|
||||
XXXX, _F1_F2_F3_F4_F5, _F6_F7_F8_F9_F10_F11, \
|
||||
XXXX, XXXX, _PAUS_SLCK_INS, XXXX, XXXX, _INS_SLCK_PAUS, XXXX, KC_F12, \
|
||||
____, KC_HOME, XXXX, _UP_DEL_PGUP, _PGUP_DEL_UP, XXXX, KC_HOME, ____, \
|
||||
____, _END_LEFT_DOWN_RGHT_PGDN, XXXX, XXXX, _PGDN_LEFT_DOWN_RGHT_END, ____, \
|
||||
____, ____, KC_PSCR, ____, ____, ____, _ADJ_ADJ, ____, ____, ____, KC_PSCR, ____, ____ \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
/* Raise */
|
||||
#define UNDS__MINS KC_UNDS, KC_MINS
|
||||
#define EQL___PLUS KC_EQL, KC_PLUS
|
||||
#define LCBR__LBRC KC_LCBR, KC_LBRC
|
||||
#define RBRC__RCBR KC_RBRC, KC_RCBR
|
||||
#define MNXT__VOLD__VOLU__MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
#define EISU__EISU xEISU, xEISU
|
||||
#define KANA__KANA xKANA, xKANA
|
||||
/* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | _ | - | | = | + | | | | |
|
||||
@@ -304,19 +303,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | | | | | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _LSMI_MINS KC_LSMI, KC_MINS
|
||||
#define _EQL_LSEQ KC_EQL, KC_LSEQ
|
||||
#define _LSLB_LBRC KC_LSLB, KC_LBRC
|
||||
#define _RBRC_LSRB KC_RBRC, KC_LSRB
|
||||
#define _MNXT_VOLD_VOLU_MPLY KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
|
||||
[_RAISE] = LAYOUT_wrapper( \
|
||||
XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, \
|
||||
XXXX, XXXX, XXXX, XXXX, _LSMI_MINS, _EQL_LSEQ, XXXX, XXXX, XXXX, XXXX, \
|
||||
____, XXXX, XXXX, XXXX, _LSLB_LBRC, _RBRC_LSRB, XXXX, XXXX, XXXX, ____, \
|
||||
____, XXXX, XXXX, XXXX, XXXX,xEISU,xEISU, xKANA,xKANA, _MNXT_VOLD_VOLU_MPLY, ____, \
|
||||
_ADJ_ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, _ADJ_ADJ \
|
||||
),
|
||||
[_RAISE] = LAYOUT_wrapper(
|
||||
XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX,
|
||||
XXXX, XXXX, XXXX, XXXX, UNDS__MINS, EQL___PLUS, XXXX, XXXX, XXXX, XXXX,
|
||||
____, XXXX, XXXX, XXXX, LCBR__LBRC, RBRC__RCBR, XXXX, XXXX, XXXX, ____,
|
||||
____, XXXX, XXXX, XXXX, XXXX, EISU__EISU, KANA__KANA, MNXT__VOLD__VOLU__MPLY, ____,
|
||||
ADJ___ADJ, XXXX, ____, ____, XXXX, ____, ____, XXXX, ____, ____, XXXX, ADJ___ADJ
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
@@ -331,16 +324,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | | | | | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT( \
|
||||
XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX, \
|
||||
XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX, \
|
||||
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, \
|
||||
RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD, \
|
||||
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______ \
|
||||
[_ADJUST] = LAYOUT(
|
||||
XXXXXXX, KEYPAD, DVORAK, COLEMAK, EUCALYN, QWERTY, QWERTY, EUCALYN, COLEMAK, DVORAK, KEYPAD, XXXXXXX,
|
||||
XXXXXXX, RESET, RGBRST, RGB_TOG, AU_ON, AG_SWAP, AG_SWAP, AU_ON, RGB_TOG, RGBRST, XXXXXXX, XXXXXXX,
|
||||
RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, AU_OFF, AG_NORM, AG_NORM, AU_OFF, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI,
|
||||
RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_SAD, RGB_HUD,
|
||||
_______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,____,____,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______
|
||||
),
|
||||
|
||||
/* AUX modifier key layer
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
/* AUX modifier key layer */
|
||||
#define BSPC__RAEN KC_BSPC, LT(_RAISE,KC_ENT)
|
||||
/* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | | |
|
||||
@@ -352,14 +346,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | BS | Enter| | | | | | | |
|
||||
* `-------------------------------------------------------------------------------------------------'
|
||||
*/
|
||||
#define _BSPC_RAEN KC_BSPC, LT(_RAISE,KC_ENT)
|
||||
[_AUX] = LAYOUT_wrapper( \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, _BSPC_RAEN, ____, ____, ____, ____, ____, ____, ____ \
|
||||
)
|
||||
[_AUX] = LAYOUT_wrapper(
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, BSPC__RAEN, ____, ____, ____, ____, ____, ____, ____
|
||||
)
|
||||
};
|
||||
|
||||
#else
|
||||
|
||||
@@ -163,6 +163,10 @@ void render_status(void) {
|
||||
}
|
||||
|
||||
# ifdef SSD1306OLED
|
||||
# if OLED_UPDATE_INTERVAL > 0
|
||||
uint16_t oled_update_timeout;
|
||||
# endif
|
||||
|
||||
void iota_gfx_task_user(void) {
|
||||
struct CharacterMatrix matrix;
|
||||
|
||||
@@ -172,6 +176,12 @@ void iota_gfx_task_user(void) {
|
||||
}
|
||||
# endif
|
||||
|
||||
#if OLED_UPDATE_INTERVAL > 0
|
||||
if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) {
|
||||
return;
|
||||
}
|
||||
oled_update_timeout = timer_read();
|
||||
#endif
|
||||
matrix_clear(&matrix);
|
||||
if (is_keyboard_master()) {
|
||||
render_status(&matrix);
|
||||
|
||||
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0G, K0F, K0E, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K3G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
|
||||
|
||||
@@ -28,4 +28,3 @@
|
||||
|
||||
#undef STM32_PWM_USE_TIM3
|
||||
#define STM32_PWM_USE_TIM3 YES
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
#pragma once
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
#define USE_SERIAL
|
||||
@@ -22,5 +21,3 @@
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
|
||||
#endif // CONFIG_USER_H
|
||||
|
||||
@@ -7,79 +7,72 @@
|
||||
* };
|
||||
*/
|
||||
|
||||
#define KC_ KC_TRNS
|
||||
|
||||
#define KC_TMB1 KC_LA(TAB)
|
||||
#define KC_TMB2 KC_LS(SPC)
|
||||
#define KC_TMB3 TD(TD_LOWER) // act as LOWER when hold, as KC_LANG2(=English) when tapped
|
||||
#define KC_TMB4 TD(TD_RAISE) // act as RAISE when hold, as KC_LANG1(=Japanese) when tapped
|
||||
#define KC_TMB5 KC_RC(BSPC)
|
||||
#define KC_TMB6 KC_RG(ENT)
|
||||
#define KC_TMB7 KC_RC(DEL)
|
||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||
#define __KC_TRNS_x6__ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_EDVORAK] = LAYOUT_kc(
|
||||
//,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
|
||||
GRV ,EXLM, AT ,HASH , DLR ,PERC, CIRC,AMPR ,ASTR ,LPRN ,RPRN,BSPC,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
TAB ,QUOT,COMM , DOT , Y , Q , F , G , R , W , P ,BSLS,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
EQL , A ,LA(O),LG(E),LC(I), U , D ,RS(T),RG(N),RA(S), M ,MINS,
|
||||
//|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
|
||||
ESC ,SCLN, X , C , V , Z , NO , NO , H , J , K , L , B ,SLSH,
|
||||
//`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
|
||||
TMB1,TMB2,TMB3, TMB4,TMB5,TMB6
|
||||
// `----+----+----' `----+----+----'
|
||||
[L_EDVORAKJP_BASE] = LAYOUT_wrapper(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_GRV, __EDVORAKJP_BASE_L1__ , __EDVORAKJP_BASE_R1__ , KC_BSLS,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_EQL, __EDVORAKJP_BASE_L2__ , __EDVORAKJP_BASE_R2__ , KC_MINS,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_ESC, __EDVORAKJP_BASE_L3__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BASE_R3__ , KC_SLSH,
|
||||
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||
LA_TAB, LS_SPC,LOWER_TD, RAISE_TD, RC_BSPC, RG_ENT
|
||||
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_kc(
|
||||
//,----+----+------+------+------+----. ,----+------+------+-------+----+----.
|
||||
, , , , , , , , , , , ,
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
, , LCBR , LBRC , LPRN , , , RPRN , RBRC , RCBR , , ,
|
||||
//|----+----+------+------+------+----| |----+------+------+-------+----+----|
|
||||
F1 , F2 ,LA(F3),LG(F4),LC(F5), F6 , F7 ,RS(F8),RG(F9),RA(F10),F11 ,F12 ,
|
||||
//|----+----+------+------+------+----+----. ,----+----+------+------+-------+----+----|
|
||||
PSCR, , HOME , PGDN , PGUP ,END , , ,LEFT, DOWN , UP , RGHT , , ,
|
||||
//`----+----+------+------+------+----+----/ \----+----+------+------+-------+----+----'
|
||||
, , NO , MAC ,TMB7,
|
||||
// `----+----+----' `----+----+----'
|
||||
[L_EDVORAKJP_LOWER] = LAYOUT_wrapper(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
__KC_TRNS_x6__ , __KC_TRNS_x6__ ,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_L__ , XXXXXXX, XXXXXXX, __EDVORAKJP_BRACKET_R__ , XXXXXXX, XXXXXXX,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
__EDVORAKJP_FUNCTION_L__ , __EDVORAKJP_FUNCTION_R__ ,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , XXXXXXX, XXXXXXX, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||
KC_TRNS, KC_TRNS, XXXXXXX, KC_MAC, RC_DEL, KC_TRNS
|
||||
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_kc(
|
||||
//,----+----+-----+-----+-----+----. ,----+-----+-----+-----+----+----.
|
||||
, , , , , , , , , , , ,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
, ,EXLM , AT ,HASH ,DLR , PERC,CIRC ,AMPR ,ASTR , , ,
|
||||
//|----+----+-----+-----+-----+----| |----+-----+-----+-----+----+----|
|
||||
, 1 ,LA(2),LG(3),LC(4), 5 , 6 ,RS(7),RG(8),RA(9), 0 , ,
|
||||
//|----+----+-----+-----+-----+----+----. ,----+----+-----+-----+-----+----+----|
|
||||
PSCR, ,HOME ,PGDN ,PGUP ,END , , ,LEFT,DOWN , UP ,RGHT , , ,
|
||||
//`----+----+-----+-----+-----+----+----/ \----+----+-----+-----+-----+----+----'
|
||||
, ,WIN , NO , ,
|
||||
// `----+----+----' `----+----+----'
|
||||
[L_EDVORAKJP_RAISE] = LAYOUT_wrapper(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
__KC_TRNS_x6__ , __KC_TRNS_x6__ ,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
XXXXXXX, XXXXXXX, __EDVORAKJP_SYMBOL_L__ , __EDVORAKJP_SYMBOL_R__ , XXXXXXX, XXXXXXX,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
XXXXXXX, __EDVORAKJP_NUMBER_L__ , __EDVORAKJP_NUMBER_R__ , XXXXXXX,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_PSCR, XXXXXXX, __EDVORAKJP_PAGE__ , XXXXXXX, XXXXXXX, __EDVORAKJP_CURSOR__ , XXXXXXX, XXXXXXX,
|
||||
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||
KC_TRNS, KC_TRNS, KC_WIN, XXXXXXX, KC_TRNS, KC_TRNS
|
||||
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||
)
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
void matrix_init_keymap() {
|
||||
}
|
||||
void matrix_init_keymap() {}
|
||||
|
||||
#ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
uint32_t layer_state_set_keymap(uint32_t state) {
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (biton32(state)) {
|
||||
case _LOWER:
|
||||
rgblight_sethsv_noeeprom_red();
|
||||
break;
|
||||
case _RAISE:
|
||||
rgblight_sethsv_noeeprom_blue();
|
||||
break;
|
||||
default: // for any other layers, or the default layer
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
|
||||
get_japanese_mode() ? rgblight_sethsv_noeeprom_red() : rgblight_sethsv_noeeprom_green();
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
switch (biton32(state)) {
|
||||
case L_EDVORAKJP_LOWER:
|
||||
rgblight_sethsv_noeeprom_red();
|
||||
break;
|
||||
case L_EDVORAKJP_RAISE:
|
||||
rgblight_sethsv_noeeprom_green();
|
||||
break;
|
||||
default: // for any other layers, or the default layer
|
||||
rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
|
||||
rgblight_sethsv_red();
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
#endif
|
||||
|
||||
39
keyboards/kiwikey/kawii9/keymaps/via/keymap.c
Normal file
39
keyboards/kiwikey/kawii9/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Copyright 2021 KiwiKey
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ortho_3x3(
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, // Media volume: Mute - Volume Up - Volume Down
|
||||
KC_MPLY, KC_MPRV, KC_MNXT, // Media track control: Play/Pause - Previous Track - Next Track
|
||||
MO(1), LCTL(KC_C), LCTL(KC_V) // FN(1) - Copy - Paste
|
||||
),
|
||||
[1] = LAYOUT_ortho_3x3(
|
||||
RGB_TOG, RGB_MODE_REVERSE, RGB_MODE_FORWARD,
|
||||
_______, RGB_MODE_BREATHE, RGB_MODE_RAINBOW,
|
||||
_______, _______, RESET
|
||||
),
|
||||
[2] = LAYOUT_ortho_3x3(
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT_ortho_3x3(
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
)
|
||||
};
|
||||
1
keyboards/kiwikey/kawii9/keymaps/via/rules.mk
Normal file
1
keyboards/kiwikey/kawii9/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
@@ -18,5 +18,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = yes # Enable Bluetooth
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
NO_USB_STARTUP_CHECK = yes
|
||||
|
||||
65
keyboards/mechlovin/hex6c/config.h
Normal file
65
keyboards/mechlovin/hex6c/config.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
Copyright 2021 Mechlovin' Studio
|
||||
|
||||
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"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x4D4C
|
||||
#define PRODUCT_ID 0x6C01
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Mechlovin Studio and Hex Keyboard
|
||||
#define PRODUCT Hex6C
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 21
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { A10, B13, B12, B11, C14, C15 }
|
||||
#define MATRIX_COL_PINS { A13, A14, A1, A0, C13, B9, B4, B7, B8, B5, B6, A9, A5, A6, A7, B1, B2, B10, B3, B14, B15 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define LED_NUM_LOCK_PIN A3
|
||||
#define LED_CAPS_LOCK_PIN A4
|
||||
#define LED_SCROLL_LOCK_PIN A8
|
||||
#define LED_PIN_ON_STATE 0
|
||||
|
||||
#define BACKLIGHT_PIN B0
|
||||
#define BACKLIGHT_BREATHING
|
||||
#define BACKLIGHT_PWM_DRIVER PWMD3
|
||||
#define BACKLIGHT_PWM_CHANNEL 3
|
||||
|
||||
#define ENCODERS_PAD_A { A15 }
|
||||
#define ENCODERS_PAD_B { A2 }
|
||||
#define ENCODER_RESOLUTION 4
|
||||
|
||||
#define TAP_CODE_DELAY 10
|
||||
#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
|
||||
17
keyboards/mechlovin/hex6c/hex6c.c
Normal file
17
keyboards/mechlovin/hex6c/hex6c.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2021 Mechlovin' Studio
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include "hex6c.h"
|
||||
35
keyboards/mechlovin/hex6c/hex6c.h
Normal file
35
keyboards/mechlovin/hex6c/hex6c.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2021 Mechlovin' Studio
|
||||
*
|
||||
* 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 "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J, K0K, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K2H, K1I, K1J, K1K, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K3G, K2I, K2J, K2K, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3H, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4J, \
|
||||
K50, K51, K52, K53, K54, K55, K56, K5A, K5E, K5F, K5G, K5H, K5I, K5J, K5K \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, K0J, K0K }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H, K1I, K1J, K1K }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, K2J, K2K }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, KC_NO, KC_NO, KC_NO }, \
|
||||
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, KC_NO, K4J, KC_NO }, \
|
||||
{ K50, K51, K52, K53, K54, K55, K56, KC_NO, KC_NO, KC_NO, K5A, KC_NO, KC_NO, KC_NO, K5E, K5F, K5G, K5H, K5I, K5J, K5K }, \
|
||||
}
|
||||
128
keyboards/mechlovin/hex6c/info.json
Normal file
128
keyboards/mechlovin/hex6c/info.json
Normal file
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"keyboard_name": "hex-6C",
|
||||
"url": "",
|
||||
"maintainer": "Mechlovin' Studio",
|
||||
"width": 22.5,
|
||||
"height": 6.25,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label":"K00 (B0,B6)", "x":0, "y":0},
|
||||
{"label":"K01 (B0,B7)", "x":1, "y":0},
|
||||
{"label":"K02 (B0,C0)", "x":2, "y":0},
|
||||
{"label":"K03 (B0,C1)", "x":3, "y":0},
|
||||
{"label":"K04 (B0,C2)", "x":4.25, "y":0},
|
||||
{"label":"K05 (B0,C3)", "x":5.5, "y":0},
|
||||
{"label":"K06 (B0,C4)", "x":6.5, "y":0},
|
||||
{"label":"K07 (B0,C5)", "x":7.5, "y":0},
|
||||
{"label":"K08 (B0,C6)", "x":8.5, "y":0},
|
||||
{"label":"K09 (B0,C7)", "x":9.75, "y":0},
|
||||
{"label":"K0A (B0,D0)", "x":10.75, "y":0},
|
||||
{"label":"K0B (B0,D1)", "x":11.75, "y":0},
|
||||
{"label":"K0C (B0,D2)", "x":12.75, "y":0},
|
||||
{"label":"K0D (B0,D3)", "x":14, "y":0},
|
||||
{"label":"K0E (B0,D4)", "x":15, "y":0},
|
||||
{"label":"K0F (B0,D5)", "x":16, "y":0},
|
||||
{"label":"K0G (B0,D6)", "x":17, "y":0},
|
||||
{"label":"K0H (B0,D7)", "x":18.25, "y":0},
|
||||
{"label":"K0I (B0,E0)", "x":19.5, "y":0},
|
||||
{"label":"K0J (B0,E1)", "x":20.5, "y":0},
|
||||
{"label":"K0K (B0,E2)", "x":21.5, "y":0},
|
||||
{"label":"K10 (B1,B6)", "x":0, "y":1.25},
|
||||
{"label":"K11 (B1,B7)", "x":1, "y":1.25},
|
||||
{"label":"K12 (B1,C0)", "x":2, "y":1.25},
|
||||
{"label":"K13 (B1,C1)", "x":3, "y":1.25},
|
||||
{"label":"K14 (B1,C2)", "x":4.25, "y":1.25},
|
||||
{"label":"K15 (B1,C3)", "x":5.25, "y":1.25},
|
||||
{"label":"K16 (B1,C4)", "x":6.25, "y":1.25},
|
||||
{"label":"K17 (B1,C5)", "x":7.25, "y":1.25},
|
||||
{"label":"K18 (B1,C6)", "x":8.25, "y":1.25},
|
||||
{"label":"K19 (B1,C7)", "x":9.25, "y":1.25},
|
||||
{"label":"K1A (B1,D0)", "x":10.25, "y":1.25},
|
||||
{"label":"K1B (B1,D1)", "x":11.25, "y":1.25},
|
||||
{"label":"K1C (B1,D2)", "x":12.25, "y":1.25},
|
||||
{"label":"K1D (B1,D3)", "x":13.25, "y":1.25},
|
||||
{"label":"K1E (B1,D4)", "x":14.25, "y":1.25},
|
||||
{"label":"K1F (B1,D5)", "x":15.25, "y":1.25},
|
||||
{"label":"K1G (B1,D6)", "x":16.25, "y":1.25},
|
||||
{"label":"K1H (B1,D7)", "x":17.25, "y":1.25},
|
||||
{"label":"K2H (B2,D7)", "x":18.25, "y":1.25},
|
||||
{"label":"K1I (B1,E0)", "x":19.5, "y":1.25},
|
||||
{"label":"K1J (B1,E1)", "x":20.5, "y":1.25},
|
||||
{"label":"K1K (B1,E2)", "x":21.5, "y":1.25},
|
||||
{"label":"K20 (B2,B6)", "x":0, "y":2.25},
|
||||
{"label":"K21 (B2,B7)", "x":1, "y":2.25},
|
||||
{"label":"K22 (B2,C0)", "x":2, "y":2.25},
|
||||
{"label":"K23 (B2,C1)", "x":3, "y":2.25},
|
||||
{"label":"K24 (B2,C2)", "x":4.25, "y":2.25, "w":1.5},
|
||||
{"label":"K25 (B2,C3)", "x":5.75, "y":2.25},
|
||||
{"label":"K26 (B2,C4)", "x":6.75, "y":2.25},
|
||||
{"label":"K27 (B2,C5)", "x":7.75, "y":2.25},
|
||||
{"label":"K28 (B2,C6)", "x":8.75, "y":2.25},
|
||||
{"label":"K29 (B2,C7)", "x":9.75, "y":2.25},
|
||||
{"label":"K2A (B2,D0)", "x":10.75, "y":2.25},
|
||||
{"label":"K2B (B2,D1)", "x":11.75, "y":2.25},
|
||||
{"label":"K2C (B2,D2)", "x":12.75, "y":2.25},
|
||||
{"label":"K2D (B2,D3)", "x":13.75, "y":2.25},
|
||||
{"label":"K2E (B2,D4)", "x":14.75, "y":2.25},
|
||||
{"label":"K2F (B2,D5)", "x":15.75, "y":2.25},
|
||||
{"label":"K2G (B2,D6)", "x":16.75, "y":2.25},
|
||||
{"label":"K3G (B3,D6)", "x":17.75, "y":2.25, "w":1.5},
|
||||
{"label":"K2I (B2,E0)", "x":19.5, "y":2.25},
|
||||
{"label":"K2J (B2,E1)", "x":20.5, "y":2.25},
|
||||
{"label":"K2K (B2,E2)", "x":21.5, "y":2.25},
|
||||
{"label":"K30 (B3,B6)", "x":0, "y":3.25},
|
||||
{"label":"K31 (B3,B7)", "x":1, "y":3.25},
|
||||
{"label":"K32 (B3,C0)", "x":2, "y":3.25},
|
||||
{"label":"K33 (B3,C1)", "x":3, "y":3.25},
|
||||
{"label":"K34 (B3,C2)", "x":4.25, "y":3.25, "w":1.75},
|
||||
{"label":"K35 (B3,C3)", "x":6, "y":3.25},
|
||||
{"label":"K36 (B3,C4)", "x":7, "y":3.25},
|
||||
{"label":"K37 (B3,C5)", "x":8, "y":3.25},
|
||||
{"label":"K38 (B3,C6)", "x":9, "y":3.25},
|
||||
{"label":"K39 (B3,C7)", "x":10, "y":3.25},
|
||||
{"label":"K3A (B3,D0)", "x":11, "y":3.25},
|
||||
{"label":"K3B (B3,D1)", "x":12, "y":3.25},
|
||||
{"label":"K3C (B3,D2)", "x":13, "y":3.25},
|
||||
{"label":"K3D (B3,D3)", "x":14, "y":3.25},
|
||||
{"label":"K3E (B3,D4)", "x":15, "y":3.25},
|
||||
{"label":"K3F (B3,D5)", "x":16, "y":3.25},
|
||||
{"label":"K3H (B3,D7)", "x":17, "y":3.25, "w":2.25},
|
||||
{"label":"K40 (B4,B6)", "x":0, "y":4.25},
|
||||
{"label":"K41 (B4,B7)", "x":1, "y":4.25},
|
||||
{"label":"K42 (B4,C0)", "x":2, "y":4.25},
|
||||
{"label":"K43 (B4,C1)", "x":3, "y":4.25},
|
||||
{"label":"K44 (B4,C2)", "x":4.25, "y":4.25, "w":1.25},
|
||||
{"label":"K45 (B4,C3)", "x":5.5, "y":4.25},
|
||||
{"label":"K46 (B4,C4)", "x":6.5, "y":4.25},
|
||||
{"label":"K47 (B4,C5)", "x":7.5, "y":4.25},
|
||||
{"label":"K48 (B4,C6)", "x":8.5, "y":4.25},
|
||||
{"label":"K49 (B4,C7)", "x":9.5, "y":4.25},
|
||||
{"label":"K4A (B4,D0)", "x":10.5, "y":4.25},
|
||||
{"label":"K4B (B4,D1)", "x":11.5, "y":4.25},
|
||||
{"label":"K4C (B4,D2)", "x":12.5, "y":4.25},
|
||||
{"label":"K4D (B4,D3)", "x":13.5, "y":4.25},
|
||||
{"label":"K4E (B4,D4)", "x":14.5, "y":4.25},
|
||||
{"label":"K4F (B4,D5)", "x":15.5, "y":4.25},
|
||||
{"label":"K4G (B4,D6)", "x":16.5, "y":4.25, "w":1.75},
|
||||
{"label":"K4H (B4,D7)", "x":18.25, "y":4.25},
|
||||
{"label":"K4J (B4,E1)", "x":20.5, "y":4.25},
|
||||
{"label":"K50 (B5,B6)", "x":0, "y":5.25},
|
||||
{"label":"K51 (B5,B7)", "x":1, "y":5.25},
|
||||
{"label":"K52 (B5,C0)", "x":2, "y":5.25},
|
||||
{"label":"K53 (B5,C1)", "x":3, "y":5.25},
|
||||
{"label":"K54 (B5,C2)", "x":4.25, "y":5.25, "w":1.25},
|
||||
{"label":"K55 (B5,C3)", "x":5.5, "y":5.25, "w":1.25},
|
||||
{"label":"K56 (B5,C4)", "x":6.75, "y":5.25, "w":1.25},
|
||||
{"label":"K5A (B5,D0)", "x":8, "y":5.25, "w":6.25},
|
||||
{"label":"K5E (B5,D4)", "x":14.25, "y":5.25, "w":1.25},
|
||||
{"label":"K5F (B5,D5)", "x":15.5, "y":5.25, "w":1.25},
|
||||
{"label":"K5G (B5,D6)", "x":16.75, "y":5.25, "w":1.25},
|
||||
{"label":"K5H (B5,D7)", "x":18, "y":5.25, "w":1.25},
|
||||
{"label":"K5I (B5,E0)", "x":19.5, "y":5.25},
|
||||
{"label":"K5J (B5,E1)", "x":20.5, "y":5.25},
|
||||
{"label":"K5K (B5,E2)", "x":21.5, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
40
keyboards/mechlovin/hex6c/keymaps/default/keymap.c
Normal file
40
keyboards/mechlovin/hex6c/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,40 @@
|
||||
/* Copyright 2021 Mechlovin' Studio
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_CALC, KC_MAIL, KC_MYCM, KC_MUTE, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_GRV, 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, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS, 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_DEL, KC_END, KC_PGDN,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS, 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_P1, KC_P2, KC_P3, KC_PENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_SPC, KC_UP,
|
||||
KC_0, KC_PCMM, KC_PDOT, KC_PEQL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
1
keyboards/mechlovin/hex6c/keymaps/default/readme.md
Normal file
1
keyboards/mechlovin/hex6c/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for hex6c
|
||||
68
keyboards/mechlovin/hex6c/keymaps/via/keymap.c
Normal file
68
keyboards/mechlovin/hex6c/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,68 @@
|
||||
/* Copyright 2021 Mechlovin' Studio
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_CALC, KC_MAIL, KC_MYCM, KC_MUTE, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_GRV, 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, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS, 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_DEL, KC_END, KC_PGDN,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS, 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_P1, KC_P2, KC_P3, KC_PENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_SPC, KC_UP,
|
||||
KC_0, KC_PCMM, KC_PDOT, KC_PEQL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
|
||||
};
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
1
keyboards/mechlovin/hex6c/keymaps/via/rules.mk
Normal file
1
keyboards/mechlovin/hex6c/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
21
keyboards/mechlovin/hex6c/readme.md
Normal file
21
keyboards/mechlovin/hex6c/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# hex6c
|
||||
|
||||

|
||||
|
||||
A Southpaw Fullsize Keyboard with encoder.
|
||||
|
||||
* Keyboard Maintainer: [Mechlovin' Studio](https://github.com/mechlovin)
|
||||
* Hardware Supported: Hex6C Keyboard, STM32F303
|
||||
* Hardware Availability: [Hex Keyboard](https://hexkeyboards.com/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechlovin/hex6c:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make mechlovin/hex6c:default:flash
|
||||
|
||||
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).
|
||||
|
||||
**Reset Key:** To put the Hex6C into bootloader, hold esc key while plugging in (bootmagic) or push reset swith on the bottom of the PCB.
|
||||
20
keyboards/mechlovin/hex6c/rules.mk
Normal file
20
keyboards/mechlovin/hex6c/rules.mk
Normal file
@@ -0,0 +1,20 @@
|
||||
# MCU name
|
||||
MCU = STM32F303
|
||||
|
||||
BOARD = QMK_PROTON_C
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
ENCODER_ENABLE = yes
|
||||
@@ -1,19 +1,18 @@
|
||||
/*
|
||||
Copyright 2020 Team Mechlovin'
|
||||
|
||||
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/>.
|
||||
*/
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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
|
||||
|
||||
@@ -21,54 +20,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x4D4C // ML
|
||||
#define PRODUCT_ID 0x8701
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Team.Mechlovin
|
||||
#define PRODUCT Infinity 87
|
||||
|
||||
#define MANUFACTURER Mechlovin.Studio
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 17
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { A10, B13, B12, B11, C14, C15 }
|
||||
#define MATRIX_COL_PINS { C13, B9, B4, B7, B8, B5, B6, A9, A5, A6, A7,B1, B2, B10, B3, B14, B15 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define LED_NUM_LOCK_PIN A3
|
||||
#define LED_CAPS_LOCK_PIN A4
|
||||
|
||||
#define BACKLIGHT_PIN B0
|
||||
#define BACKLIGHT_BREATHING
|
||||
#define BACKLIGHT_PWM_DRIVER PWMD3
|
||||
#define BACKLIGHT_PWM_CHANNEL 3
|
||||
|
||||
#define RGB_DI_PIN A15
|
||||
#define RGBLED_NUM 26
|
||||
#define RGBLIGHT_LIMIT_VAL 255
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
// /*== or choose animations ==*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
// #define RGBLIGHT_EFFECT_SNAKE
|
||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K0D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
|
||||
K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, \
|
||||
K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K5G \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
|
||||
@@ -32,6 +32,3 @@
|
||||
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, KC_NO }, \
|
||||
{ K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G }, \
|
||||
}
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
@@ -1 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
31
keyboards/mechlovin/infinity87/rev1/config.h
Normal file
31
keyboards/mechlovin/infinity87/rev1/config.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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
|
||||
|
||||
#define MATRIX_ROW_PINS { A10, B13, B12, B11, C14, C15 }
|
||||
#define MATRIX_COL_PINS { C13, B9, B4, B7, B8, B5, B6, A9, A5, A6, A7, B1, B2, B10, B3, B14, B15 }
|
||||
|
||||
#define BACKLIGHT_PIN B0
|
||||
#define BACKLIGHT_BREATHING
|
||||
#define BACKLIGHT_PWM_DRIVER PWMD3
|
||||
#define BACKLIGHT_PWM_CHANNEL 3
|
||||
|
||||
|
||||
#define LED_CAPS_LOCK_PIN A4
|
||||
#define LED_SCROLL_LOCK_PIN A8
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
16
keyboards/mechlovin/infinity87/rev1/readme.md
Normal file
16
keyboards/mechlovin/infinity87/rev1/readme.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# infinity87
|
||||
|
||||

|
||||
|
||||
A replacement PCB for TKL keyboard
|
||||
|
||||
* Keyboard Maintainer: [Team Mechlovin'](https://github.com/mechlovin)
|
||||
* Hardware Supported: Infinity87 rev.1 (1.6mm & 1.2mm). Rouge87 for OTD, Rogue87 for UTD
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechlovin/infinity87: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).
|
||||
|
||||
**Reset Key:** To put the IF87_rev1, rouge87, rogue87 into bootloader, hold esc key while plugging in (bootmagic) or push reset swith on the bottom of the PCB.
|
||||
17
keyboards/mechlovin/infinity87/rev1/rev1.c
Normal file
17
keyboards/mechlovin/infinity87/rev1/rev1.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include "rev1.h"
|
||||
19
keyboards/mechlovin/infinity87/rev1/rev1.h
Normal file
19
keyboards/mechlovin/infinity87/rev1/rev1.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/* Copyright 2020 Team Mechlovin
|
||||
*
|
||||
* 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 "quantum.h"
|
||||
21
keyboards/mechlovin/infinity87/rev1/rogue87/config.h
Normal file
21
keyboards/mechlovin/infinity87/rev1/rogue87/config.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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
|
||||
|
||||
#define PRODUCT_ID 0x8704
|
||||
#define DEVICE_VER 0x0001
|
||||
#define PRODUCT Rogue87 Rev.1
|
||||
99
keyboards/mechlovin/infinity87/rev1/rogue87/info.json
Normal file
99
keyboards/mechlovin/infinity87/rev1/rogue87/info.json
Normal file
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"keyboard_name": "Rogue87",
|
||||
"url": "",
|
||||
"maintainer": "Mechlovin' Studio",
|
||||
"width": 18.25,
|
||||
"height": 6.25,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"K00", "x":0, "y":0},
|
||||
{"label":"K01", "x":2, "y":0},
|
||||
{"label":"K02", "x":3, "y":0},
|
||||
{"label":"K03", "x":4, "y":0},
|
||||
{"label":"K04", "x":5, "y":0},
|
||||
{"label":"K05", "x":6.5, "y":0},
|
||||
{"label":"K06", "x":7.5, "y":0},
|
||||
{"label":"K07", "x":8.5, "y":0},
|
||||
{"label":"K08", "x":9.5, "y":0},
|
||||
{"label":"K09", "x":11, "y":0},
|
||||
{"label":"K0A", "x":12, "y":0},
|
||||
{"label":"K0B", "x":13, "y":0},
|
||||
{"label":"K0C", "x":14, "y":0},
|
||||
{"label":"K0E", "x":15.25, "y":0},
|
||||
{"label":"K0F", "x":16.25, "y":0},
|
||||
{"label":"K0G", "x":17.25, "y":0},
|
||||
{"label":"K10", "x":0, "y":1.25},
|
||||
{"label":"K11", "x":1, "y":1.25},
|
||||
{"label":"K12", "x":2, "y":1.25},
|
||||
{"label":"K13", "x":3, "y":1.25},
|
||||
{"label":"K14", "x":4, "y":1.25},
|
||||
{"label":"K15", "x":5, "y":1.25},
|
||||
{"label":"K16", "x":6, "y":1.25},
|
||||
{"label":"K17", "x":7, "y":1.25},
|
||||
{"label":"K18", "x":8, "y":1.25},
|
||||
{"label":"K19", "x":9, "y":1.25},
|
||||
{"label":"K1A", "x":10, "y":1.25},
|
||||
{"label":"K1B", "x":11, "y":1.25},
|
||||
{"label":"K1C", "x":12, "y":1.25},
|
||||
{"label":"K1D", "x":13, "y":1.25, "w":2},
|
||||
{"label":"K1E", "x":15.25, "y":1.25},
|
||||
{"label":"K1F", "x":16.25, "y":1.25},
|
||||
{"label":"K1G", "x":17.25, "y":1.25},
|
||||
{"label":"K20", "x":0, "y":2.25, "w":1.5},
|
||||
{"label":"K21", "x":1.5, "y":2.25},
|
||||
{"label":"K22", "x":2.5, "y":2.25},
|
||||
{"label":"K23", "x":3.5, "y":2.25},
|
||||
{"label":"K24", "x":4.5, "y":2.25},
|
||||
{"label":"K25", "x":5.5, "y":2.25},
|
||||
{"label":"K26", "x":6.5, "y":2.25},
|
||||
{"label":"K27", "x":7.5, "y":2.25},
|
||||
{"label":"K28", "x":8.5, "y":2.25},
|
||||
{"label":"K29", "x":9.5, "y":2.25},
|
||||
{"label":"K2A", "x":10.5, "y":2.25},
|
||||
{"label":"K2B", "x":11.5, "y":2.25},
|
||||
{"label":"K2C", "x":12.5, "y":2.25},
|
||||
{"label":"K2D", "x":13.5, "y":2.25, "w":1.5},
|
||||
{"label":"K2E", "x":15.25, "y":2.25},
|
||||
{"label":"K2F", "x":16.25, "y":2.25},
|
||||
{"label":"K2G", "x":17.25, "y":2.25},
|
||||
{"label":"K30", "x":0, "y":3.25, "w":1.75},
|
||||
{"label":"K31", "x":1.75, "y":3.25},
|
||||
{"label":"K32", "x":2.75, "y":3.25},
|
||||
{"label":"K33", "x":3.75, "y":3.25},
|
||||
{"label":"K34", "x":4.75, "y":3.25},
|
||||
{"label":"K35", "x":5.75, "y":3.25},
|
||||
{"label":"K36", "x":6.75, "y":3.25},
|
||||
{"label":"K37", "x":7.75, "y":3.25},
|
||||
{"label":"K38", "x":8.75, "y":3.25},
|
||||
{"label":"K39", "x":9.75, "y":3.25},
|
||||
{"label":"K3A", "x":10.75, "y":3.25},
|
||||
{"label":"K3B", "x":11.75, "y":3.25},
|
||||
{"label":"K3C", "x":12.75, "y":3.25},
|
||||
{"label":"K3D", "x":13.75, "y":3.25, "w":1.25},
|
||||
{"label":"K40", "x":0, "y":4.25, "w":1.25},
|
||||
{"label":"K41", "x":1.25, "y":4.25},
|
||||
{"label":"K42", "x":2.25, "y":4.25},
|
||||
{"label":"K43", "x":3.25, "y":4.25},
|
||||
{"label":"K44", "x":4.25, "y":4.25},
|
||||
{"label":"K45", "x":5.25, "y":4.25},
|
||||
{"label":"K46", "x":6.25, "y":4.25},
|
||||
{"label":"K47", "x":7.25, "y":4.25},
|
||||
{"label":"K48", "x":8.25, "y":4.25},
|
||||
{"label":"K49", "x":9.25, "y":4.25},
|
||||
{"label":"K4A", "x":10.25, "y":4.25},
|
||||
{"label":"K4B", "x":11.25, "y":4.25},
|
||||
{"label":"K4D", "x":12.25, "y":4.25, "w":2.75},
|
||||
{"label":"K4F", "x":16.25, "y":4.25},
|
||||
{"label":"K50", "x":0, "y":5.25, "w":1.5},
|
||||
{"label":"K52", "x":2.5, "y":5.25, "w":1.5},
|
||||
{"label":"K56", "x":4, "y":5.25, "w":7},
|
||||
{"label":"K5B", "x":11, "y":5.25, "w":1.5},
|
||||
{"label":"K5D", "x":13.5, "y":5.25, "w":1.5},
|
||||
{"label":"K5E", "x":15.25, "y":5.25},
|
||||
{"label":"K5F", "x":16.25, "y":5.25},
|
||||
{"label":"K5G", "x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_DEL, KC_END, KC_PGDN,
|
||||
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_HASH, KC_ENT,
|
||||
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
|
||||
KC_LCTL, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
# The default keymap for infinity87
|
||||
@@ -0,0 +1,53 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_DEL, KC_END, KC_PGDN,
|
||||
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_HASH, KC_ENT,
|
||||
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
|
||||
KC_LCTL, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
# The via keymap for infinity87
|
||||
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
19
keyboards/mechlovin/infinity87/rev1/rogue87/readme.md
Normal file
19
keyboards/mechlovin/infinity87/rev1/rogue87/readme.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Rogue87 PCB
|
||||
|
||||

|
||||
|
||||
A replacement PCB for UTD keyboard.
|
||||
|
||||
* Keyboard Maintainer: [Team Mechlovin'](https://github.com/mechlovin)
|
||||
* Hardware Supported: UTD Keyboard, Rogue87, STM32F303
|
||||
* Hardware Availability: [Reddit GB](https://www.reddit.com/r/mechmarket/comments/ll6e5x/gb_mechlovin_rouge_otd_compatible_pcb_plates/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechlovin/infinity87/rev1/rogue87:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make mechlovin/infinity87/rev1/rogue87:default:flash
|
||||
|
||||
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).
|
||||
34
keyboards/mechlovin/infinity87/rev1/rogue87/rogue87.h
Normal file
34
keyboards/mechlovin/infinity87/rev1/rogue87/rogue87.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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 "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \
|
||||
K50, K52, K56, K5B, K5D, K5E, K5F, K5G \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F, K0G }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO}, \
|
||||
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO}, \
|
||||
{ K50, KC_NO, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, KC_NO, K5D, K5E, K5F, K5G }, \
|
||||
}
|
||||
1
keyboards/mechlovin/infinity87/rev1/rogue87/rules.mk
Normal file
1
keyboards/mechlovin/infinity87/rev1/rogue87/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
21
keyboards/mechlovin/infinity87/rev1/rouge87/config.h
Normal file
21
keyboards/mechlovin/infinity87/rev1/rouge87/config.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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
|
||||
|
||||
#define PRODUCT_ID 0x8703
|
||||
#define DEVICE_VER 0x0001
|
||||
#define PRODUCT Rouge87 Rev.1
|
||||
101
keyboards/mechlovin/infinity87/rev1/rouge87/info.json
Normal file
101
keyboards/mechlovin/infinity87/rev1/rouge87/info.json
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"keyboard_name": "Rouge87",
|
||||
"url": "",
|
||||
"maintainer": "Mechlovin' Studio",
|
||||
"width": 18.25,
|
||||
"height": 6.25,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"K00", "x":0, "y":0},
|
||||
{"label":"K01", "x":2, "y":0},
|
||||
{"label":"K02", "x":3, "y":0},
|
||||
{"label":"K03", "x":4, "y":0},
|
||||
{"label":"K04", "x":5, "y":0},
|
||||
{"label":"K05", "x":6.5, "y":0},
|
||||
{"label":"K06", "x":7.5, "y":0},
|
||||
{"label":"K07", "x":8.5, "y":0},
|
||||
{"label":"K08", "x":9.5, "y":0},
|
||||
{"label":"K09", "x":11, "y":0},
|
||||
{"label":"K0A", "x":12, "y":0},
|
||||
{"label":"K0B", "x":13, "y":0},
|
||||
{"label":"K0C", "x":14, "y":0},
|
||||
{"label":"K0E", "x":15.25, "y":0},
|
||||
{"label":"K0F", "x":16.25, "y":0},
|
||||
{"label":"K0G", "x":17.25, "y":0},
|
||||
{"label":"K10", "x":0, "y":1.25},
|
||||
{"label":"K11", "x":1, "y":1.25},
|
||||
{"label":"K12", "x":2, "y":1.25},
|
||||
{"label":"K13", "x":3, "y":1.25},
|
||||
{"label":"K14", "x":4, "y":1.25},
|
||||
{"label":"K15", "x":5, "y":1.25},
|
||||
{"label":"K16", "x":6, "y":1.25},
|
||||
{"label":"K17", "x":7, "y":1.25},
|
||||
{"label":"K18", "x":8, "y":1.25},
|
||||
{"label":"K19", "x":9, "y":1.25},
|
||||
{"label":"K1A", "x":10, "y":1.25},
|
||||
{"label":"K1B", "x":11, "y":1.25},
|
||||
{"label":"K1C", "x":12, "y":1.25},
|
||||
{"label":"K1D", "x":13, "y":1.25, "w":2},
|
||||
{"label":"K1E", "x":15.25, "y":1.25},
|
||||
{"label":"K1F", "x":16.25, "y":1.25},
|
||||
{"label":"K1G", "x":17.25, "y":1.25},
|
||||
{"label":"K20", "x":0, "y":2.25, "w":1.5},
|
||||
{"label":"K21", "x":1.5, "y":2.25},
|
||||
{"label":"K22", "x":2.5, "y":2.25},
|
||||
{"label":"K23", "x":3.5, "y":2.25},
|
||||
{"label":"K24", "x":4.5, "y":2.25},
|
||||
{"label":"K25", "x":5.5, "y":2.25},
|
||||
{"label":"K26", "x":6.5, "y":2.25},
|
||||
{"label":"K27", "x":7.5, "y":2.25},
|
||||
{"label":"K28", "x":8.5, "y":2.25},
|
||||
{"label":"K29", "x":9.5, "y":2.25},
|
||||
{"label":"K2A", "x":10.5, "y":2.25},
|
||||
{"label":"K2B", "x":11.5, "y":2.25},
|
||||
{"label":"K2C", "x":12.5, "y":2.25},
|
||||
{"label":"K2D", "x":13.5, "y":2.25, "w":1.5},
|
||||
{"label":"K2E", "x":15.25, "y":2.25},
|
||||
{"label":"K2F", "x":16.25, "y":2.25},
|
||||
{"label":"K2G", "x":17.25, "y":2.25},
|
||||
{"label":"K30", "x":0, "y":3.25, "w":1.75},
|
||||
{"label":"K31", "x":1.75, "y":3.25},
|
||||
{"label":"K32", "x":2.75, "y":3.25},
|
||||
{"label":"K33", "x":3.75, "y":3.25},
|
||||
{"label":"K34", "x":4.75, "y":3.25},
|
||||
{"label":"K35", "x":5.75, "y":3.25},
|
||||
{"label":"K36", "x":6.75, "y":3.25},
|
||||
{"label":"K37", "x":7.75, "y":3.25},
|
||||
{"label":"K38", "x":8.75, "y":3.25},
|
||||
{"label":"K39", "x":9.75, "y":3.25},
|
||||
{"label":"K3A", "x":10.75, "y":3.25},
|
||||
{"label":"K3B", "x":11.75, "y":3.25},
|
||||
{"label":"K3C", "x":12.75, "y":3.25},
|
||||
{"label":"K3D", "x":13.75, "y":3.25, "w":1.25},
|
||||
{"label":"K40", "x":0, "y":4.25, "w":1.25},
|
||||
{"label":"K41", "x":1.25, "y":4.25},
|
||||
{"label":"K42", "x":2.25, "y":4.25},
|
||||
{"label":"K43", "x":3.25, "y":4.25},
|
||||
{"label":"K44", "x":4.25, "y":4.25},
|
||||
{"label":"K45", "x":5.25, "y":4.25},
|
||||
{"label":"K46", "x":6.25, "y":4.25},
|
||||
{"label":"K47", "x":7.25, "y":4.25},
|
||||
{"label":"K48", "x":8.25, "y":4.25},
|
||||
{"label":"K49", "x":9.25, "y":4.25},
|
||||
{"label":"K4A", "x":10.25, "y":4.25},
|
||||
{"label":"K4B", "x":11.25, "y":4.25},
|
||||
{"label":"K4D", "x":12.25, "y":4.25, "w":2.75},
|
||||
{"label":"K4F", "x":16.25, "y":4.25},
|
||||
{"label":"K50", "x":0, "y":5.25, "w":1.5},
|
||||
{"label":"K51", "x":1.5, "y":5.25},
|
||||
{"label":"K52", "x":2.5, "y":5.25, "w":1.5},
|
||||
{"label":"K56", "x":4, "y":5.25, "w":7},
|
||||
{"label":"K5B", "x":11, "y":5.25, "w":1.5},
|
||||
{"label":"K5C", "x":12.5, "y":5.25},
|
||||
{"label":"K5D", "x":13.5, "y":5.25, "w":1.5},
|
||||
{"label":"K5E", "x":15.25, "y":5.25},
|
||||
{"label":"K5F", "x":16.25, "y":5.25},
|
||||
{"label":"K5G", "x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_DEL, KC_END, KC_PGDN,
|
||||
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_HASH, KC_ENT,
|
||||
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
# The default keymap for infinity87
|
||||
@@ -0,0 +1,53 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_DEL, KC_END, KC_PGDN,
|
||||
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_HASH, KC_ENT,
|
||||
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
# The via keymap for infinity87
|
||||
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
19
keyboards/mechlovin/infinity87/rev1/rouge87/readme.md
Normal file
19
keyboards/mechlovin/infinity87/rev1/rouge87/readme.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# rouge87 PCB
|
||||
|
||||

|
||||
|
||||
A replacement PCB OTD 356.2, 360c, 456gt, The Cheat
|
||||
|
||||
* Keyboard Maintainer: [Team Mechlovin'](https://github.com/mechlovin)
|
||||
* Hardware Supported: OTD 360C, The Cheat,...
|
||||
* Hardware Availability: [Reddit GB](https://www.reddit.com/r/mechmarket/comments/ll6e5x/gb_mechlovin_rouge_otd_compatible_pcb_plates/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechlovin/infinity87/rev1/rouge87:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make mechlovin/infinity87/rev1/rouge87:default:flash
|
||||
|
||||
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).
|
||||
35
keyboards/mechlovin/infinity87/rev1/rouge87/rouge87.h
Normal file
35
keyboards/mechlovin/infinity87/rev1/rouge87/rouge87.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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 "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \
|
||||
K50, K51, K52, K56, K5B, K5C, K5D, K5E, K5F, K5G \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F, K0G }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO}, \
|
||||
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO}, \
|
||||
{ K50, K51, K52, KC_NO, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, KC_NO, K5B, K5C, K5D, K5E, K5F, K5G }, \
|
||||
}
|
||||
|
||||
1
keyboards/mechlovin/infinity87/rev1/rouge87/rules.mk
Normal file
1
keyboards/mechlovin/infinity87/rev1/rouge87/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
6
keyboards/mechlovin/infinity87/rev1/rules.mk
Normal file
6
keyboards/mechlovin/infinity87/rev1/rules.mk
Normal file
@@ -0,0 +1,6 @@
|
||||
MCU = STM32F303
|
||||
BOARD = QMK_PROTON_C
|
||||
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
|
||||
DEFAULT_FOLDER = mechlovin/infinity87/rev1/standard
|
||||
40
keyboards/mechlovin/infinity87/rev1/standard/config.h
Normal file
40
keyboards/mechlovin/infinity87/rev1/standard/config.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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
|
||||
|
||||
#define PRODUCT_ID 0x8701
|
||||
#define DEVICE_VER 0x0001
|
||||
#define PRODUCT Infinity 87 rev1
|
||||
|
||||
#define RGB_DI_PIN A15
|
||||
#define RGBLED_NUM 26
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
// /*== or choose animations ==*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
// #define RGBLIGHT_EFFECT_SNAKE
|
||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
15
keyboards/mechlovin/infinity87/rev1/standard/readme.md
Normal file
15
keyboards/mechlovin/infinity87/rev1/standard/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# infinity87
|
||||
|
||||

|
||||
|
||||
A replacement PCB for TKL keyboard. A87 form factor,south-facing stabilisers.
|
||||
|
||||
* Keyboard Maintainer: [Team Mechlovin'](https://github.com/mechlovin)
|
||||
* Hardware Supported: Infinity87 rev.1 (1.6mm & 1.2mm).
|
||||
* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=105853.0), [Reddit GB](https://www.reddit.com/r/mechmarket/comments/g4vf2w/gb_team_mechlovin_infinity_87_a87_form_factor/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechlovin/infinity87/rev1/standard: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).
|
||||
1
keyboards/mechlovin/infinity87/rev1/standard/rules.mk
Normal file
1
keyboards/mechlovin/infinity87/rev1/standard/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
RGBLIGHT_ENABLE = yes
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user