Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da6e888a32 | ||
|
|
d3bf3d3b1c | ||
|
|
dbd65d01b6 | ||
|
|
c7ca67a036 | ||
|
|
b88498ba85 | ||
|
|
0c50a9eae9 | ||
|
|
35944df7b0 | ||
|
|
2a45d99059 | ||
|
|
06f8cb1b8a | ||
|
|
b2b075c123 | ||
|
|
54dc6b7bf2 | ||
|
|
ffa1507c2c | ||
|
|
4f2afaa6fb | ||
|
|
0b6d8150e4 | ||
|
|
054adbaf1e | ||
|
|
6b5e349d7e | ||
|
|
1cecd593c8 | ||
|
|
2bccb7132d | ||
|
|
0d5458a7ad | ||
|
|
cce9ddff80 | ||
|
|
d330203486 | ||
|
|
45a557641d | ||
|
|
271c7d4923 | ||
|
|
54bad99e0e | ||
|
|
9a3ba6874c | ||
|
|
5f670fbdc4 | ||
|
|
bd07120d33 | ||
|
|
4ff16fe73e | ||
|
|
21c147c11b | ||
|
|
752f5d6eb6 | ||
|
|
b6c353db0c | ||
|
|
666944df2e | ||
|
|
3d37afd495 | ||
|
|
f778ede8bd | ||
|
|
8405d28670 | ||
|
|
f93ad79f41 | ||
|
|
dffa089173 | ||
|
|
3990c0f43d | ||
|
|
20f35afd53 | ||
|
|
00eea387fc | ||
|
|
2274631c8f | ||
|
|
81be065fa5 | ||
|
|
53a35c0d0c | ||
|
|
cfbd9ba0e7 | ||
|
|
5581ea8809 | ||
|
|
fe9bd0afb9 | ||
|
|
17c880b076 | ||
|
|
ef6802ca60 | ||
|
|
c7adb7a352 | ||
|
|
10dfc8d92f | ||
|
|
c7214e1d13 | ||
|
|
94d9d2bb31 | ||
|
|
0b560673ce | ||
|
|
2b7078cd21 | ||
|
|
99c46e4b73 | ||
|
|
1e19227b31 | ||
|
|
9b8c5c1860 | ||
|
|
0afbf8cc3c | ||
|
|
2aab8a114e | ||
|
|
6b2a3a67a6 | ||
|
|
cfefecd951 | ||
|
|
05357d7937 |
No files matched your search
+14
-12
@@ -50,7 +50,7 @@ This is the most important plugin as it will allow Eclipse to _understand_ AVR C
|
|||||||
### [ANSI Escape in Console](https://marketplace.eclipse.org/content/ansi-escape-console)
|
### [ANSI Escape in Console](https://marketplace.eclipse.org/content/ansi-escape-console)
|
||||||
This plugin is necessary to properly display the colored build output generated by the QMK makefile.
|
This plugin is necessary to properly display the colored build output generated by the QMK makefile.
|
||||||
|
|
||||||
1. Open <kbd><kbd>Help</kbd> > <kbd>Eclipse Marketplace…</kbd></kbd>
|
1. Open <kbd>Help</kbd> > <kbd>Eclipse Marketplace…</kbd>
|
||||||
2. Search for _ANSI Escape in Console_
|
2. Search for _ANSI Escape in Console_
|
||||||
3. Click the <samp>Install</samp> button of the plugin
|
3. Click the <samp>Install</samp> button of the plugin
|
||||||
4. Follow the instructions and agree again with the security warning for unsigned content.
|
4. Follow the instructions and agree again with the security warning for unsigned content.
|
||||||
@@ -59,7 +59,7 @@ Once both plugins are installed, restart Eclipse as prompted.
|
|||||||
|
|
||||||
# Configure Eclipse for QMK
|
# Configure Eclipse for QMK
|
||||||
## Importing the Project
|
## Importing the Project
|
||||||
1. Click <kbd><kbd>File</kbd> > <kbd>New</kbd> > <kbd>Makefile Project with Existing Code</kbd></kbd>
|
1. Click <kbd>File</kbd> > <kbd>New</kbd> > <kbd>Makefile Project with Existing Code</kbd>
|
||||||
2. On the next screen:
|
2. On the next screen:
|
||||||
* Select the directory where you cloned the repository as _Existing Code Location_;
|
* Select the directory where you cloned the repository as _Existing Code Location_;
|
||||||
* (Optional) Give a different name to the project¹, e.g. _QMK_ or _Quantum_;
|
* (Optional) Give a different name to the project¹, e.g. _QMK_ or _Quantum_;
|
||||||
@@ -73,16 +73,18 @@ Once both plugins are installed, restart Eclipse as prompted.
|
|||||||
¹ There might be issues for importing the project with a custom name. If it does not work properly, try leaving the default project name (i.e. the name of the directory, probably `qmk_firmware`).
|
¹ There might be issues for importing the project with a custom name. If it does not work properly, try leaving the default project name (i.e. the name of the directory, probably `qmk_firmware`).
|
||||||
|
|
||||||
## Build Your Keyboard
|
## Build Your Keyboard
|
||||||
We will now configure a make target that cleans the project and builds the keymap of your choice.
|
|
||||||
|
|
||||||
1. On the right side of the screen, select the <kbd>Make Target</kbd> tab
|
We will now change the default make target of the the project from `all` to the
|
||||||
2. Expand the folder structure to the keyboard of your choice, e.g. `qmk_firmware/keyboards/ergodox`
|
specific keyboard and keymap combination we are working on,
|
||||||
3. Right-click on the keyboard folder and select <kbd>New…</kbd> (or select the folder and click the <kbd>New Make Target</kbd> icon above the tree)
|
e.g. `kinesis/kint36:stapelberg`. This way, project-wide actions like cleaning
|
||||||
4. Choose a name for your build target, e.g. _clean \<your keymap\>_
|
and building the project will complete quickly, instead of taking a long time or
|
||||||
5. Make Target: this is the arguments that you give to `make` when building from the command line. If your target name does not match these arguments, uncheck <kbd>Same as target name</kbd> and input the correct arguments, e.g. `clean <your keymap>`
|
outright locking up Eclipse.
|
||||||
6. Leave the other options checked and click <kbd>OK</kbd>. Your make target will now appear under the selected keyboard.
|
|
||||||
7. (Optional) Toggle the <kbd>Hide Empty Folders</kbd> icon button above the targets tree to only show your build target.
|
1. Focus an editor tab within the project
|
||||||
8. Double-click the build target you created to trigger a build.
|
2. Open the `Project` > `Properties` window, then select the `C/C++ Build` list
|
||||||
9. Select the <kbd>Console</kbd> view at the bottom to view the running build.
|
entry and switch to the `Behavior` tab.
|
||||||
|
3. Change the default `Make build target` text fields for all enabled builds
|
||||||
|
from `all` to e.g. `kinesis/kint41:stapelberg`.
|
||||||
|
4. Verify your setup works by selecting `Project` > `Clean...`.
|
||||||
|
|
||||||
[1]: https://en.wikipedia.org/wiki/Eclipse_(software)
|
[1]: https://en.wikipedia.org/wiki/Eclipse_(software)
|
||||||
@@ -68,6 +68,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
|||||||
- bare minimum required code for a board to boot into QMK should be present
|
- bare minimum required code for a board to boot into QMK should be present
|
||||||
- initialisation code for the matrix and critical devices
|
- initialisation code for the matrix and critical devices
|
||||||
- mirroring existing functionality of a commercial board (like custom keycodes and special animations etc.) should be handled through non-`default` keymaps
|
- mirroring existing functionality of a commercial board (like custom keycodes and special animations etc.) should be handled through non-`default` keymaps
|
||||||
|
- VIAL-related files or changes will not be accepted, as they are not used by QMK firmware (no VIAL-specific core code has been submitted or merged)
|
||||||
- `keyboard.c`
|
- `keyboard.c`
|
||||||
- empty `xxxx_xxxx_kb()` or other weak-defined default implemented functions removed
|
- empty `xxxx_xxxx_kb()` or other weak-defined default implemented functions removed
|
||||||
- commented-out functions removed too
|
- commented-out functions removed too
|
||||||
@@ -94,6 +95,8 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
|||||||
- standard layouts preferred in these keymaps, if possible
|
- standard layouts preferred in these keymaps, if possible
|
||||||
- submitters can have a personal (or bells-and-whistles) keymap showcasing capabilities in the same PR but it shouldn't be embedded in the 'default' keymap
|
- submitters can have a personal (or bells-and-whistles) keymap showcasing capabilities in the same PR but it shouldn't be embedded in the 'default' keymap
|
||||||
- submitters can also have a "manufacturer-matching" keymap that mirrors existing functionality of the commercial product, if porting an existing board
|
- submitters can also have a "manufacturer-matching" keymap that mirrors existing functionality of the commercial product, if porting an existing board
|
||||||
|
- Do not include VIA json files in the PR. These do not belong in the QMK repository as they are not used by QMK firmware -- they belong in the [VIA Keyboard Repo](https://github.com/the-via/keyboards)
|
||||||
|
|
||||||
|
|
||||||
Also, specific to ChibiOS:
|
Also, specific to ChibiOS:
|
||||||
- **strong** preference to using existing ChibiOS board definitions.
|
- **strong** preference to using existing ChibiOS board definitions.
|
||||||
@@ -127,3 +130,9 @@ There are instructions on how to keep your fork updated here:
|
|||||||
|
|
||||||
Thanks for contributing!
|
Thanks for contributing!
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Review Process
|
||||||
|
|
||||||
|
In general, we want to see two (or more) approvals that are meaningful (e.g. that have inspected code) before a PR will be considered for merge. These reviews are not limited to collaborators -- any community member willing to put in the time is welcomed (and encouraged). The only difference is that your checkmark won't be green, and that's fine!
|
||||||
|
|
||||||
|
Additionally, PR reviews are something that is done in our free time. We are not paid nor compensated for the time we spend reviewing, as it is a labor of love. As such, this means that it can take time for us to get to your Pull Request. Things like family, or life can get in the way of us getting to PRs, and burnout is a serious concern. The QMK firmware repository averages 200 PRs opened and 200 PRs merged every month, so please have patience.
|
||||||
@@ -36,12 +36,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
{ E6, B4, B2 } \
|
{ E6, B4, B2 } \
|
||||||
}
|
}
|
||||||
#define TAP_CODE_DELAY 10
|
#define TAP_CODE_DELAY 10
|
||||||
|
#define ENCODER_DIRECTION_FLIP
|
||||||
#define ENCODER_RESOLUTION 4
|
#define ENCODER_RESOLUTION 4
|
||||||
#define ENCODERS_PAD_A { F5 }
|
#define ENCODERS_PAD_A { F5 }
|
||||||
#define ENCODERS_PAD_B { F6 }
|
#define ENCODERS_PAD_B { F6 }
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B5
|
#define BACKLIGHT_PIN B5
|
||||||
// #define BACKLIGHT_BREATHING
|
#define BACKLIGHT_BREATHING
|
||||||
#define BACKLIGHT_LEVELS 7
|
#define BACKLIGHT_LEVELS 7
|
||||||
|
|
||||||
#define RGB_DI_PIN D3
|
#define RGB_DI_PIN D3
|
||||||
@@ -52,8 +53,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define RGBLIGHT_VAL_STEP 8
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
#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 */
|
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||||
/*== all animations enable ==*/
|
// #define RGBLIGHT_ANIMATIONS
|
||||||
#define RGBLIGHT_ANIMATIONS
|
#define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
#define RGBLIGHT_EFFECT_SNAKE
|
||||||
|
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
|
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
|
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
@@ -65,6 +70,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
/* Oled Size */
|
/* Oled Size */
|
||||||
#define OLED_DISPLAY_128X64
|
#define OLED_DISPLAY_128X64
|
||||||
|
#define OLED_FONT_END 255
|
||||||
|
#define OLED_FONT_H "gfxfont.c"
|
||||||
|
|
||||||
/* QMK DFU */
|
/* QMK DFU */
|
||||||
#define QMK_LED B0
|
#define QMK_LED B0
|
||||||
@@ -0,0 +1,276 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 0xCB - Conor Burns
|
||||||
|
|
||||||
|
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 "progmem.h"
|
||||||
|
|
||||||
|
static const unsigned char font[] PROGMEM = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
|
||||||
|
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
|
||||||
|
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
|
||||||
|
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
|
||||||
|
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
|
||||||
|
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
|
||||||
|
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
|
||||||
|
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
|
||||||
|
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
|
||||||
|
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
|
||||||
|
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
|
||||||
|
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
|
||||||
|
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
|
||||||
|
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
|
||||||
|
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
|
||||||
|
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
|
||||||
|
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
|
||||||
|
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
|
||||||
|
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
|
||||||
|
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
|
||||||
|
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
|
||||||
|
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
|
||||||
|
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
|
||||||
|
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
|
||||||
|
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
|
||||||
|
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
|
||||||
|
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
|
||||||
|
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
|
||||||
|
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
|
||||||
|
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
|
||||||
|
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
|
||||||
|
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
|
||||||
|
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
|
||||||
|
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
|
||||||
|
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
|
||||||
|
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
|
||||||
|
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
|
||||||
|
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
|
||||||
|
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
|
||||||
|
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
|
||||||
|
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
|
||||||
|
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
|
||||||
|
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
|
||||||
|
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
|
||||||
|
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
|
||||||
|
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
|
||||||
|
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
|
||||||
|
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
|
||||||
|
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
|
||||||
|
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
|
||||||
|
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
|
||||||
|
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
|
||||||
|
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||||
|
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
|
||||||
|
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||||
|
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
|
||||||
|
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
|
||||||
|
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
|
||||||
|
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
|
||||||
|
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
|
||||||
|
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||||
|
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
|
||||||
|
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||||
|
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
|
||||||
|
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
|
||||||
|
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
|
||||||
|
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
|
||||||
|
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
|
||||||
|
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
|
||||||
|
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||||
|
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||||
|
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
|
||||||
|
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
|
||||||
|
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||||
|
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
|
||||||
|
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
|
||||||
|
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
|
||||||
|
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
|
||||||
|
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
|
||||||
|
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
|
||||||
|
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
|
||||||
|
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
|
||||||
|
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
|
||||||
|
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
|
||||||
|
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
|
||||||
|
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
|
||||||
|
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
|
||||||
|
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
|
||||||
|
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
|
||||||
|
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||||
|
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
|
||||||
|
0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
|
||||||
|
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
|
||||||
|
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
|
||||||
|
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
|
||||||
|
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
|
||||||
|
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
|
||||||
|
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
|
||||||
|
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||||
|
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
|
||||||
|
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
|
||||||
|
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
|
||||||
|
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
|
||||||
|
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
|
||||||
|
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||||
|
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
|
||||||
|
0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
|
||||||
|
0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
|
||||||
|
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
|
||||||
|
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
|
||||||
|
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
|
||||||
|
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
|
||||||
|
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
|
||||||
|
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
|
||||||
|
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
|
||||||
|
0x4C, 0x10, 0x10, 0x10, 0x7C, 0x00,
|
||||||
|
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
|
||||||
|
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
|
||||||
|
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
|
||||||
|
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
|
||||||
|
0x00, 0xE0, 0xFC, 0x1E, 0x06, 0xC6,
|
||||||
|
0xC6, 0x06, 0x1E, 0xFC, 0xE0, 0x00,
|
||||||
|
0x00, 0x00, 0x60, 0xE0, 0x80, 0x00,
|
||||||
|
0x00, 0x80, 0xE0, 0x60, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xE0, 0xF8, 0x3C, 0x0E,
|
||||||
|
0x06, 0x06, 0x06, 0x0E, 0x0C, 0x00,
|
||||||
|
0x00, 0x00, 0xFE, 0xFE, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0x8C, 0x78, 0x70, 0x00,
|
||||||
|
0x00, 0x0E, 0x0E, 0x06, 0x06, 0xFE,
|
||||||
|
0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x0C, 0x8E, 0x86, 0x86, 0x86,
|
||||||
|
0x86, 0x86, 0xCE, 0xFE, 0x7C, 0x00,
|
||||||
|
0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
|
||||||
|
0x06, 0xE6, 0xE6, 0x3E, 0x3E, 0x00,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x06, 0x78, 0x80, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xE0, 0x1C, 0x02, 0x01, 0x04, 0x18,
|
||||||
|
0x00, 0x00, 0x00, 0x02, 0x0C, 0x00,
|
||||||
|
0x80, 0x80, 0x71, 0x02, 0x1C, 0xE0,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x80, 0x78, 0x06, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8,
|
||||||
|
0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC,
|
||||||
|
0xFC, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||||
|
0xE0, 0xE0, 0xE0, 0xE0, 0xF0, 0xF0,
|
||||||
|
0x00, 0x00, 0x40, 0xF0, 0xFC, 0xFF,
|
||||||
|
0xFF, 0xFC, 0xF0, 0xC0, 0x00, 0x00,
|
||||||
|
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x07, 0x3F, 0x78, 0x60, 0x63,
|
||||||
|
0x63, 0x60, 0x78, 0x3F, 0x07, 0x00,
|
||||||
|
0x00, 0x00, 0x60, 0x79, 0x19, 0x06,
|
||||||
|
0x06, 0x19, 0x79, 0x60, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x07, 0x1F, 0x3C, 0x70,
|
||||||
|
0x60, 0x60, 0x60, 0x70, 0x30, 0x00,
|
||||||
|
0x00, 0x00, 0x7F, 0x7F, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x31, 0x1E, 0x0E, 0x00,
|
||||||
|
0x00, 0x60, 0x60, 0x60, 0x60, 0x7F,
|
||||||
|
0x7F, 0x60, 0x60, 0x60, 0x60, 0x00,
|
||||||
|
0x00, 0x30, 0x71, 0x61, 0x61, 0x61,
|
||||||
|
0x61, 0x61, 0x73, 0x7F, 0x3E, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x7F,
|
||||||
|
0x7F, 0x01, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x03, 0xBC,
|
||||||
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0x87, 0x38, 0x40, 0x80, 0x08, 0x08,
|
||||||
|
0x08, 0x04, 0x04, 0x02, 0x02, 0x01,
|
||||||
|
0x00, 0x00, 0x80, 0x40, 0x38, 0x87,
|
||||||
|
0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||||
|
0xBC, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
|
||||||
|
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
|
||||||
|
0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F,
|
||||||
|
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F,
|
||||||
|
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0,
|
||||||
|
0xFC, 0xFE, 0xFC, 0xF8, 0xF9, 0xF3,
|
||||||
|
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
|
||||||
|
0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x70, 0xD0, 0x70, 0x00, 0x07, 0x05,
|
||||||
|
0x07, 0x02, 0x02, 0x82, 0xC2, 0x42,
|
||||||
|
0x7E, 0xC0, 0xC0, 0xC0, 0x40, 0x7E,
|
||||||
|
0x42, 0xC2, 0x82, 0x02, 0x02, 0x07,
|
||||||
|
0x05, 0x07, 0x00, 0x70, 0xD0, 0x70,
|
||||||
|
0x00, 0x00, 0x00, 0x80, 0x40, 0x20,
|
||||||
|
0x10, 0xC8, 0xC8, 0x84, 0x04, 0x02,
|
||||||
|
0x02, 0x02, 0x02, 0xC2, 0xC2, 0xC2,
|
||||||
|
0xC2, 0xC4, 0xC4, 0xC8, 0x88, 0x90,
|
||||||
|
0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x01, 0xFD, 0x05, 0x04, 0x04, 0x04,
|
||||||
|
0x1F, 0x30, 0x40, 0x87, 0x9F, 0x1F,
|
||||||
|
0x01, 0x81, 0xFF, 0xFF, 0x00, 0x00,
|
||||||
|
0x1E, 0x9E, 0x86, 0x40, 0x30, 0x1F,
|
||||||
|
0x04, 0x04, 0x04, 0x05, 0xFD, 0x01,
|
||||||
|
0x00, 0x0F, 0x70, 0x80, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x80, 0xE0, 0xF8, 0x3E,
|
||||||
|
0x0F, 0x03, 0x00, 0xFF, 0xFF, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x80, 0x70, 0x0F, 0x00,
|
||||||
|
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
|
||||||
|
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
|
||||||
|
0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE,
|
||||||
|
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
|
||||||
|
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00,
|
||||||
|
0xC0, 0xF0, 0xFC, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xFF, 0xFF, 0xFF, 0x07, 0x03, 0x03,
|
||||||
|
0x03, 0x03, 0x07, 0xFF, 0xFF, 0xFF,
|
||||||
|
0xDF, 0x9F, 0x3F, 0x3C, 0x70, 0x40,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xC0, 0x5F, 0xD0, 0x90, 0x90, 0x90,
|
||||||
|
0xFC, 0x06, 0x01, 0xF8, 0xFC, 0xFC,
|
||||||
|
0xC0, 0xC0, 0xFF, 0xFF, 0x00, 0x00,
|
||||||
|
0x3C, 0x3C, 0x30, 0x01, 0x06, 0xFC,
|
||||||
|
0x90, 0x90, 0x90, 0xD0, 0x5F, 0xC0,
|
||||||
|
0x00, 0xF0, 0x0E, 0x01, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x03, 0x07, 0x1E,
|
||||||
|
0x3C, 0xF0, 0xE0, 0xFF, 0xFF, 0x80,
|
||||||
|
0x80, 0x80, 0x80, 0xC1, 0xC1, 0xFF,
|
||||||
|
0x3E, 0x00, 0x01, 0x0E, 0xF0, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x07, 0x05, 0x07, 0x00, 0x70, 0x50,
|
||||||
|
0x70, 0x20, 0x20, 0x20, 0x21, 0x3F,
|
||||||
|
0x01, 0x61, 0x9F, 0x9F, 0x61, 0x01,
|
||||||
|
0x3F, 0x21, 0x20, 0x20, 0x20, 0x70,
|
||||||
|
0x50, 0x70, 0x00, 0x07, 0x05, 0x07,
|
||||||
|
0x00, 0x00, 0x00, 0x01, 0x02, 0x04,
|
||||||
|
0x08, 0x10, 0x13, 0x23, 0x20, 0x40,
|
||||||
|
0x40, 0x40, 0x40, 0x43, 0x43, 0x40,
|
||||||
|
0x40, 0x20, 0x20, 0x10, 0x10, 0x08,
|
||||||
|
0x04, 0x02, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x07, 0x07, 0x07, 0x07, 0x0F, 0x0F,
|
||||||
|
0x0F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F,
|
||||||
|
0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F,
|
||||||
|
0x3F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF,
|
||||||
|
0x00, 0x80, 0xC0, 0x70, 0x7C, 0x3F,
|
||||||
|
0x3F, 0x1F, 0x0F, 0x0F, 0x07, 0x07,
|
||||||
|
0x07, 0x03, 0x03, 0x02, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x02, 0x03, 0x03, 0x07,
|
||||||
|
0x07, 0x07, 0x0F, 0x0F, 0x1E, 0x3E,
|
||||||
|
0x3C, 0x7C, 0x70, 0xC0, 0x80, 0x00,
|
||||||
|
};
|
||||||
@@ -15,6 +15,7 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
enum layer_names {
|
enum layer_names {
|
||||||
_HOME,
|
_HOME,
|
||||||
@@ -51,11 +52,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
#ifdef ENCODER_ENABLE
|
#ifdef ENCODER_ENABLE
|
||||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (IS_LAYER_ON(_RGB)) {
|
if (IS_LAYER_ON(_RGB)) {
|
||||||
if (clockwise) {
|
#ifdef RGBLIGHT_ENABLE
|
||||||
rgblight_increase_val();
|
if (clockwise) {
|
||||||
} else {
|
rgblight_increase_val();
|
||||||
rgblight_decrease_val();
|
} else {
|
||||||
}
|
rgblight_decrease_val();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
} else if (IS_LAYER_ON(_BLED)) {
|
} else if (IS_LAYER_ON(_BLED)) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
backlight_increase();
|
backlight_increase();
|
||||||
@@ -82,74 +85,27 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void render_logo(void) {
|
static void render_logo(void) {
|
||||||
static const char PROGMEM logo[] = {
|
static const char PROGMEM raw_logo[] = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
};
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
oled_write_raw_P(raw_logo, sizeof(raw_logo));
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
}
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
static void render_logo_font(void) {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
static const char PROGMEM qmk_logo[] = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xCB, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xCB, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9,
|
||||||
0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xCB, 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xCB, 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0x00
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
};
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
|
|
||||||
0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x01,
|
|
||||||
0x01, 0x01, 0x02, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05,
|
|
||||||
0xf8, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, 0x78,
|
|
||||||
0x38, 0x3f, 0x1c, 0x0e, 0x0e, 0x0e, 0xfe, 0x0e, 0x0e, 0x1e, 0x1c, 0x3f, 0x38, 0x78, 0x70, 0xe0,
|
|
||||||
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0xf8, 0x05, 0x02, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xa0,
|
|
||||||
0x13, 0xa2, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfc,
|
|
||||||
0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3c, 0x3c, 0x00, 0x00,
|
|
||||||
0x01, 0xff, 0xff, 0xff, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xa2, 0x13, 0xa0, 0x40, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0x80,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0xc0,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0x40,
|
|
||||||
0x40, 0xc0, 0x80, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0xf9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f, 0xff, 0xff, 0xc0, 0x80, 0x80, 0x0f,
|
|
||||||
0x1f, 0x1f, 0x01, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x0e, 0x0e, 0x80, 0xc0,
|
|
||||||
0xc0, 0xff, 0xff, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf9, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x1f, 0x31, 0x40, 0x4e, 0x40, 0x31, 0x1f, 0x00, 0x00, 0x61, 0x16, 0x08, 0x16, 0x61,
|
|
||||||
0x00, 0x00, 0x1f, 0x31, 0x60, 0x40, 0x40, 0x60, 0x20, 0x00, 0x00, 0x7f, 0x44, 0x44, 0x64, 0x3b,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f,
|
|
||||||
0x40, 0x40, 0x00, 0x00, 0x00, 0x20, 0x64, 0x44, 0x44, 0x6e, 0x3b, 0x00, 0x00, 0x20, 0x64, 0x44,
|
|
||||||
0x44, 0x6e, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x08, 0x14,
|
|
||||||
0x23, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x07,
|
|
||||||
0x0f, 0xfe, 0x1e, 0x1c, 0x1c, 0x1c, 0xff, 0x1c, 0x1c, 0x1c, 0x1e, 0xfe, 0x0f, 0x07, 0x03, 0x03,
|
|
||||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0a, 0x11, 0x0a, 0x04, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10,
|
|
||||||
0x10, 0x1f, 0x00, 0x00, 0x10, 0x28, 0x47, 0x28, 0x10, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10,
|
|
||||||
0x10, 0x10, 0x28, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
};
|
|
||||||
|
|
||||||
oled_write_raw_P(logo, sizeof(logo));
|
oled_write_P(qmk_logo, false);
|
||||||
}
|
}
|
||||||
/* Shows the name of the current layer and locks for the host (CAPS etc.) */
|
/* Shows the name of the current layer and locks for the host (CAPS etc.) */
|
||||||
static void render_info(void) {
|
static void render_info(void) {
|
||||||
@@ -174,16 +130,39 @@ static void render_info(void) {
|
|||||||
led_t led_state = host_keyboard_led_state();
|
led_t led_state = host_keyboard_led_state();
|
||||||
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||||
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||||
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||||
|
}
|
||||||
|
static void render_rgbled_status(bool full) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
char buf[30];
|
||||||
|
if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) {
|
||||||
|
if (full) {
|
||||||
|
snprintf(buf, sizeof(buf), "RGB mode %2d: %d,%d,%d \n",
|
||||||
|
rgblight_get_mode(),
|
||||||
|
rgblight_get_hue()/RGBLIGHT_HUE_STEP,
|
||||||
|
rgblight_get_sat()/RGBLIGHT_SAT_STEP,
|
||||||
|
rgblight_get_val()/RGBLIGHT_VAL_STEP);
|
||||||
|
} else {
|
||||||
|
snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode());
|
||||||
|
}
|
||||||
|
oled_write(buf, false);
|
||||||
|
} else {
|
||||||
|
oled_write_ln_P(PSTR("\n"), false);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void oled_task_user(void) {
|
void oled_task_user(void) {
|
||||||
static bool finished_timer = false;
|
static bool finished_timer = false;
|
||||||
if ((timer_elapsed(startup_timer) < 3000) && !finished_timer) {
|
if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) {
|
||||||
render_logo();
|
render_logo();
|
||||||
} else {
|
} else {
|
||||||
finished_timer = true;
|
if (!finished_timer) {
|
||||||
|
oled_clear();
|
||||||
|
finished_timer = true;
|
||||||
|
}
|
||||||
render_info();
|
render_info();
|
||||||
|
render_rgbled_status(true);
|
||||||
|
render_logo_font();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -0,0 +1,168 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 0xCB - Conor Burns
|
||||||
|
|
||||||
|
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
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
enum layer_names {
|
||||||
|
_HOME,
|
||||||
|
_MISC,
|
||||||
|
_RGB,
|
||||||
|
_BLED
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_HOME] = LAYOUT(
|
||||||
|
KC_MPRV, KC_MNXT, KC_MPLY,
|
||||||
|
KC_PGUP, KC_PGDN, TO(3),
|
||||||
|
KC_HOME, KC_END, TO(1)
|
||||||
|
),
|
||||||
|
[_MISC] = LAYOUT(
|
||||||
|
_______, _______, _______,
|
||||||
|
_______, _______, TO(0),
|
||||||
|
_______, _______, TO(2)
|
||||||
|
),
|
||||||
|
[_RGB] = LAYOUT(
|
||||||
|
RGB_HUI, RGB_HUD, RGB_MOD,
|
||||||
|
RGB_SAI, RGB_SAD, TO(1),
|
||||||
|
RGB_SPI, RGB_SPD, TO(3)
|
||||||
|
),
|
||||||
|
[_BLED] = LAYOUT(
|
||||||
|
BL_STEP, BL_BRTG, BL_TOGG,
|
||||||
|
BL_ON, BL_OFF, TO(2),
|
||||||
|
BL_INC, BL_DEC, TO(0)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* rotary encoder (SW3) - add more else if blocks for more granular layer control */
|
||||||
|
#ifdef ENCODER_ENABLE
|
||||||
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
|
if (IS_LAYER_ON(_RGB)) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
if (clockwise) {
|
||||||
|
rgblight_increase_val();
|
||||||
|
} else {
|
||||||
|
rgblight_decrease_val();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
} else if (IS_LAYER_ON(_BLED)) {
|
||||||
|
if (clockwise) {
|
||||||
|
backlight_increase();
|
||||||
|
} else {
|
||||||
|
backlight_decrease();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code16(C(A(KC_UP)));
|
||||||
|
} else {
|
||||||
|
tap_code16(C(A(KC_DOWN)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* oled stuff :) */
|
||||||
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
|
uint16_t startup_timer;
|
||||||
|
|
||||||
|
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||||
|
startup_timer = timer_read();
|
||||||
|
return rotation;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void render_logo(void) {
|
||||||
|
static const char PROGMEM raw_logo[] = {
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0,
|
||||||
|
0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0,
|
||||||
|
0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
};
|
||||||
|
oled_write_raw_P(raw_logo, sizeof(raw_logo));
|
||||||
|
}
|
||||||
|
static void render_logo_font(void) {
|
||||||
|
static const char PROGMEM qmk_logo[] = {
|
||||||
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xCB, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9,
|
||||||
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xCB, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9,
|
||||||
|
0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xCB, 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5,
|
||||||
|
0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xCB, 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
oled_write_P(qmk_logo, false);
|
||||||
|
}
|
||||||
|
/* Shows the name of the current layer and locks for the host (CAPS etc.) */
|
||||||
|
static void render_info(void) {
|
||||||
|
oled_write_P(PSTR("Layer: "), false);
|
||||||
|
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case _HOME:
|
||||||
|
oled_write_ln_P(PSTR("HOME"), false);
|
||||||
|
break;
|
||||||
|
case _MISC:
|
||||||
|
oled_write_ln_P(PSTR("MISC"), false);
|
||||||
|
break;
|
||||||
|
case _RGB:
|
||||||
|
oled_write_ln_P(PSTR("RGB"), false);
|
||||||
|
break;
|
||||||
|
case _BLED:
|
||||||
|
oled_write_ln_P(PSTR("Backlight"), false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
oled_write_ln_P(PSTR("Undefined"), false);
|
||||||
|
}
|
||||||
|
led_t led_state = host_keyboard_led_state();
|
||||||
|
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||||
|
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||||
|
oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||||
|
}
|
||||||
|
static void render_rgbled_status(bool full) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
char buf[30];
|
||||||
|
if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) {
|
||||||
|
if (full) {
|
||||||
|
snprintf(buf, sizeof(buf), "RGB mode %2d: %d,%d,%d \n",
|
||||||
|
rgblight_get_mode(),
|
||||||
|
rgblight_get_hue()/RGBLIGHT_HUE_STEP,
|
||||||
|
rgblight_get_sat()/RGBLIGHT_SAT_STEP,
|
||||||
|
rgblight_get_val()/RGBLIGHT_VAL_STEP);
|
||||||
|
} else {
|
||||||
|
snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode());
|
||||||
|
}
|
||||||
|
oled_write(buf, false);
|
||||||
|
} else {
|
||||||
|
oled_write_ln_P(PSTR("\n"), false);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
void oled_task_user(void) {
|
||||||
|
static bool finished_timer = false;
|
||||||
|
if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) {
|
||||||
|
render_logo();
|
||||||
|
} else {
|
||||||
|
if (!finished_timer) {
|
||||||
|
oled_clear();
|
||||||
|
finished_timer = true;
|
||||||
|
}
|
||||||
|
render_info();
|
||||||
|
render_rgbled_status(true);
|
||||||
|
render_logo_font();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
File renamed without changes.
@@ -15,6 +15,7 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
enum layer_names {
|
enum layer_names {
|
||||||
_HOME,
|
_HOME,
|
||||||
@@ -51,11 +52,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
#ifdef ENCODER_ENABLE
|
#ifdef ENCODER_ENABLE
|
||||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
if (IS_LAYER_ON(_RGB)) {
|
if (IS_LAYER_ON(_RGB)) {
|
||||||
if (clockwise) {
|
#ifdef RGBLIGHT_ENABLE
|
||||||
rgblight_increase_val();
|
if (clockwise) {
|
||||||
} else {
|
rgblight_increase_val();
|
||||||
rgblight_decrease_val();
|
} else {
|
||||||
}
|
rgblight_decrease_val();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
} else if (IS_LAYER_ON(_BLED)) {
|
} else if (IS_LAYER_ON(_BLED)) {
|
||||||
if (clockwise) {
|
if (clockwise) {
|
||||||
backlight_increase();
|
backlight_increase();
|
||||||
@@ -82,74 +85,27 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void render_logo(void) {
|
static void render_logo(void) {
|
||||||
static const char PROGMEM logo[] = {
|
static const char PROGMEM raw_logo[] = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
};
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
oled_write_raw_P(raw_logo, sizeof(raw_logo));
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
}
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
static void render_logo_font(void) {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
static const char PROGMEM qmk_logo[] = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xCB, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xCB, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9,
|
||||||
0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xCB, 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xCB, 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0x00
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
};
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01,
|
|
||||||
0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x01,
|
|
||||||
0x01, 0x01, 0x02, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05,
|
|
||||||
0xf8, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0x70, 0x78,
|
|
||||||
0x38, 0x3f, 0x1c, 0x0e, 0x0e, 0x0e, 0xfe, 0x0e, 0x0e, 0x1e, 0x1c, 0x3f, 0x38, 0x78, 0x70, 0xe0,
|
|
||||||
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0xf8, 0x05, 0x02, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xa0,
|
|
||||||
0x13, 0xa2, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xfc,
|
|
||||||
0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3c, 0x3c, 0x00, 0x00,
|
|
||||||
0x01, 0xff, 0xff, 0xff, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0xa2, 0x13, 0xa0, 0x40, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0x80,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0xc0,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x80, 0xc0, 0x40,
|
|
||||||
0x40, 0xc0, 0x80, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0xf9, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x7f, 0xff, 0xff, 0xc0, 0x80, 0x80, 0x0f,
|
|
||||||
0x1f, 0x1f, 0x01, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x0e, 0x0e, 0x80, 0xc0,
|
|
||||||
0xc0, 0xff, 0xff, 0x7f, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xf9, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x1f, 0x31, 0x40, 0x4e, 0x40, 0x31, 0x1f, 0x00, 0x00, 0x61, 0x16, 0x08, 0x16, 0x61,
|
|
||||||
0x00, 0x00, 0x1f, 0x31, 0x60, 0x40, 0x40, 0x60, 0x20, 0x00, 0x00, 0x7f, 0x44, 0x44, 0x64, 0x3b,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f,
|
|
||||||
0x40, 0x40, 0x00, 0x00, 0x00, 0x20, 0x64, 0x44, 0x44, 0x6e, 0x3b, 0x00, 0x00, 0x20, 0x64, 0x44,
|
|
||||||
0x44, 0x6e, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x08, 0x14,
|
|
||||||
0x23, 0x14, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x07,
|
|
||||||
0x0f, 0xfe, 0x1e, 0x1c, 0x1c, 0x1c, 0xff, 0x1c, 0x1c, 0x1c, 0x1e, 0xfe, 0x0f, 0x07, 0x03, 0x03,
|
|
||||||
0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0a, 0x11, 0x0a, 0x04, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x28, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10,
|
|
||||||
0x10, 0x1f, 0x00, 0x00, 0x10, 0x28, 0x47, 0x28, 0x10, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x10, 0x10,
|
|
||||||
0x10, 0x10, 0x28, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
||||||
};
|
|
||||||
|
|
||||||
oled_write_raw_P(logo, sizeof(logo));
|
oled_write_P(qmk_logo, false);
|
||||||
}
|
}
|
||||||
/* Shows the name of the current layer and locks for the host (CAPS etc.) */
|
/* Shows the name of the current layer and locks for the host (CAPS etc.) */
|
||||||
static void render_info(void) {
|
static void render_info(void) {
|
||||||
@@ -174,16 +130,39 @@ static void render_info(void) {
|
|||||||
led_t led_state = host_keyboard_led_state();
|
led_t led_state = host_keyboard_led_state();
|
||||||
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||||
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||||
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||||
|
}
|
||||||
|
static void render_rgbled_status(bool full) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
char buf[30];
|
||||||
|
if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) {
|
||||||
|
if (full) {
|
||||||
|
snprintf(buf, sizeof(buf), "RGB mode %2d: %d,%d,%d \n",
|
||||||
|
rgblight_get_mode(),
|
||||||
|
rgblight_get_hue()/RGBLIGHT_HUE_STEP,
|
||||||
|
rgblight_get_sat()/RGBLIGHT_SAT_STEP,
|
||||||
|
rgblight_get_val()/RGBLIGHT_VAL_STEP);
|
||||||
|
} else {
|
||||||
|
snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode());
|
||||||
|
}
|
||||||
|
oled_write(buf, false);
|
||||||
|
} else {
|
||||||
|
oled_write_ln_P(PSTR("\n"), false);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void oled_task_user(void) {
|
void oled_task_user(void) {
|
||||||
static bool finished_timer = false;
|
static bool finished_timer = false;
|
||||||
if ((timer_elapsed(startup_timer) < 3000) && !finished_timer) {
|
if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) {
|
||||||
render_logo();
|
render_logo();
|
||||||
} else {
|
} else {
|
||||||
finished_timer = true;
|
if (!finished_timer) {
|
||||||
|
oled_clear();
|
||||||
|
finished_timer = true;
|
||||||
|
}
|
||||||
render_info();
|
render_info();
|
||||||
|
render_rgbled_status(true);
|
||||||
|
render_logo_font();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright 2021
|
||||||
|
*
|
||||||
|
* 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 "amag23.h"
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/* Copyright 2021
|
||||||
|
*
|
||||||
|
* 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"
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K00, K01, K02, K03, K04, K05, \
|
||||||
|
K10, K11, K12, K13, K14, K15, \
|
||||||
|
K20, K21, K22, K23, K24, K25, \
|
||||||
|
K30, K31, K32, K33, K34 \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05 }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15 }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25 }, \
|
||||||
|
{ K30, K31, K32, K33, KC_NO, K34 } \
|
||||||
|
}
|
||||||
|
// clang-format on
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
/* Copyright 2021
|
||||||
|
*
|
||||||
|
* 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 0x4B54 // "KT"
|
||||||
|
#define PRODUCT_ID 0x2323
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Koolertron
|
||||||
|
#define PRODUCT AMAG23
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 4
|
||||||
|
#define MATRIX_COLS 6
|
||||||
|
|
||||||
|
#define MATRIX_ROW_PINS { A0, A1, A2, A3 }
|
||||||
|
#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION ROW2COL
|
||||||
|
|
||||||
|
#define RGBLED_NUM 7
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "AMAG23",
|
||||||
|
"url": "http://www.koolertron.com/koolertron-one-handed-macro-mechanical-keyboard-rgb-led-backlit-portable-mini-onehanded-mechanical-gaming-keypad-23-fully-programmable-keys-blue-switches-p-874.html",
|
||||||
|
"maintainer": "ianmclinden",
|
||||||
|
"width": 6,
|
||||||
|
"height": 4,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"K00", "x":0, "y":0},
|
||||||
|
{"label":"K01", "x":1, "y":0},
|
||||||
|
{"label":"K02", "x":2, "y":0},
|
||||||
|
{"label":"K03", "x":3, "y":0},
|
||||||
|
{"label":"K04", "x":4, "y":0},
|
||||||
|
{"label":"K05", "x":5, "y":0},
|
||||||
|
{"label":"K10", "x":0, "y":1},
|
||||||
|
{"label":"K11", "x":1, "y":1},
|
||||||
|
{"label":"K12", "x":2, "y":1},
|
||||||
|
{"label":"K13", "x":3, "y":1},
|
||||||
|
{"label":"K14", "x":4, "y":1},
|
||||||
|
{"label":"K15", "x":5, "y":1},
|
||||||
|
{"label":"K20", "x":0, "y":2},
|
||||||
|
{"label":"K21", "x":1, "y":2},
|
||||||
|
{"label":"K22", "x":2, "y":2},
|
||||||
|
{"label":"K23", "x":3, "y":2},
|
||||||
|
{"label":"K24", "x":4, "y":2},
|
||||||
|
{"label":"K25", "x":5, "y":2},
|
||||||
|
{"label":"K30", "x":0, "y":3},
|
||||||
|
{"label":"K31", "x":1, "y":3},
|
||||||
|
{"label":"K32", "x":2, "y":3},
|
||||||
|
{"label":"K33", "x":3, "y":3},
|
||||||
|
{"label":"K34", "x":4, "y":3, "w":2}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright 2021
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
};
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[BASE] = LAYOUT_all( /* Base Layer */
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_Y,
|
||||||
|
MO(FN1), KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||||
|
KC_Z, KC_X, KC_C, KC_B, KC_SPC
|
||||||
|
),
|
||||||
|
[FN1] = LAYOUT_all( /* Function Layer */
|
||||||
|
KC_NO, KC_NO, KC_NO, RGB_MOD, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||||
|
),
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Factory Keymap for Koolertron AMAG23
|
||||||
|
|
||||||
|
## Additional Notes
|
||||||
|
Default Keymap for AMAG23 as indicated on the original [product page](http://www.koolertron.com/koolertron-one-handed-macro-mechanical-keyboard-rgb-led-backlit-portable-mini-onehanded-mechanical-gaming-keypad-23-fully-programmable-keys-blue-switches-p-853.html).
|
||||||
|
|
||||||
|
## Keymap
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
To build the factory keymap, simply run:
|
||||||
|
|
||||||
|
make amag23:default
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright 2021
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
};
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[BASE] = LAYOUT_all( /* Base Layer */
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||||
|
MO(FN1), KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_SPC
|
||||||
|
),
|
||||||
|
[FN1] = LAYOUT_all( /* Function Layer */
|
||||||
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||||
|
_______, RGB_TOG, RGB_VAI, RGB_MOD, RGB_HUI, _______,
|
||||||
|
_______, _______, RGB_VAD, RGB_RMOD,RGB_HUD, _______,
|
||||||
|
_______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# QWERT Keymap for Koolertron AMAG23
|
||||||
|
|
||||||
|
## Additional Notes
|
||||||
|
QWERT keymap, based on the left hand of an ortholinear layout.
|
||||||
|
|
||||||
|
## Keymap
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
To build the factory keymap, simply run:
|
||||||
|
|
||||||
|
make amag23:qwert
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# AMAG23 (Koolertron)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
One Handed Macro Mechanical Keyboard, 23 Key with optional RGB backlighting.
|
||||||
|
|
||||||
|
- Keyboard Maintainer: [ianmclinden](https://github.com/ianmclinden)
|
||||||
|
- Hardware Supported: AMAG23 (ATmega32A)
|
||||||
|
- Hardware Availability:
|
||||||
|
- [Newegg](https://www.newegg.com/p/32K-00H1-00001)
|
||||||
|
- [Amazon](https://www.amazon.com/Koolertron-Mechanical-Keyboard-One-Handed-Programmable/dp/B07RM1TBR8)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make amag23:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
|
make amag23:default:flash
|
||||||
|
|
||||||
|
**Reset Key**: Hold down the *Escape* key while plugging in the keyboard.
|
||||||
|
|
||||||
|
**Tips**:
|
||||||
|
- The keyboard comes with bootloadHID installed from factory.
|
||||||
|
- The RGB leds seem to be chained together in diagonal rows. The result is that only 7 individual colors are supported, and these are striped across the keypad.
|
||||||
|
|
||||||
|
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).
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32a
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = bootloadHID
|
||||||
|
|
||||||
|
# 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 = no # 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
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||||
|
WS2812_DRIVER = i2c
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
/* Copyright 2021 Leon Anavi <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#undef RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||||
|
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
|
#define RGBLIGHT_EFFECT_SNAKE
|
||||||
@@ -0,0 +1,144 @@
|
|||||||
|
/* Copyright 2021 Leon Anavi <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#define _MAIN 0
|
||||||
|
#define _FN 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This keymap contains the following shortcuts for Git. On the
|
||||||
|
* first row from left to right:
|
||||||
|
*
|
||||||
|
* git status
|
||||||
|
* git log
|
||||||
|
* git pull
|
||||||
|
* git push
|
||||||
|
*
|
||||||
|
* On the second row from left to right:
|
||||||
|
*
|
||||||
|
* git diff
|
||||||
|
* git add
|
||||||
|
* git commit
|
||||||
|
* FN key to switch to the 2nd layout and control lights
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum custom_keycodes {
|
||||||
|
GITCOMMIT = SAFE_RANGE,
|
||||||
|
GITPUSH,
|
||||||
|
GITPULL,
|
||||||
|
GITSTATUS,
|
||||||
|
GITDIFF,
|
||||||
|
GITLOG,
|
||||||
|
GITADD
|
||||||
|
};
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case GITCOMMIT:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("git commit -s\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GITPUSH:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("git push\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GITPULL:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("git pull\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GITSTATUS:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("git status\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GITDIFF:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("git diff ");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GITLOG:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("git log\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case GITADD:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("git add ");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_MAIN] = LAYOUT_ortho_2x4(
|
||||||
|
GITSTATUS, GITLOG, GITPULL, GITPUSH,
|
||||||
|
GITDIFF, GITADD, GITCOMMIT, MO(_FN)
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT_ortho_2x4(
|
||||||
|
RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN,
|
||||||
|
BL_TOGG, BL_STEP, BL_BRTG, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
|
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||||
|
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||||
|
}
|
||||||
|
|
||||||
|
void oled_task_user(void) {
|
||||||
|
// Host Keyboard Layer Status
|
||||||
|
oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false);
|
||||||
|
oled_write_P(PSTR("Active layer: "), false);
|
||||||
|
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case _MAIN:
|
||||||
|
oled_write_ln_P(PSTR("Git"), false);
|
||||||
|
break;
|
||||||
|
case _FN:
|
||||||
|
oled_write_ln_P(PSTR("FN"), false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||||
|
oled_write_ln_P(PSTR("N/A"), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Host Keyboard LED Status
|
||||||
|
led_t led_state = host_keyboard_led_state();
|
||||||
|
oled_write_P(PSTR("Num Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Caps Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Scroll Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Backlit: "), false);
|
||||||
|
oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
static char rgbStatusLine1[26] = {0};
|
||||||
|
snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode());
|
||||||
|
oled_write_ln(rgbStatusLine1, false);
|
||||||
|
static char rgbStatusLine2[26] = {0};
|
||||||
|
snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val());
|
||||||
|
oled_write_ln(rgbStatusLine2, false);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -55,4 +55,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
11, 10, 9, 8, 7, 6 }
|
11, 10, 9, 8, 7, 6 }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define OLED_DISPLAY_128X64
|
||||||
|
|
||||||
#define EE_HANDS
|
#define EE_HANDS
|
||||||
@@ -29,7 +29,7 @@ led_config_t g_led_config = { {
|
|||||||
{ 0, 0}, { 15, 0}, { 30, 0}, { 45, 0}, { 60, 0}, { 75, 0}, { 90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {202, 0}, {225, 0}, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete
|
{ 0, 0}, { 15, 0}, { 30, 0}, { 45, 0}, { 60, 0}, { 75, 0}, { 90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {202, 0}, {225, 0}, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete
|
||||||
{ 4, 16}, { 22, 16}, { 37, 16}, { 52, 16}, { 67, 16}, { 82, 16}, { 97, 16}, {112, 16}, {127, 16}, {142, 16}, {157, 16}, {172, 16}, {187, 16}, {206, 16}, {225, 16}, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home
|
{ 4, 16}, { 22, 16}, { 37, 16}, { 52, 16}, { 67, 16}, { 82, 16}, { 97, 16}, {112, 16}, {127, 16}, {142, 16}, {157, 16}, {172, 16}, {187, 16}, {206, 16}, {225, 16}, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home
|
||||||
{ 6, 32}, { 26, 32}, { 41, 32}, { 56, 32}, { 71, 32}, { 86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {225, 32}, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up
|
{ 6, 32}, { 26, 32}, { 41, 32}, { 56, 32}, { 71, 32}, { 86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {225, 32}, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up
|
||||||
{ 9, 48}, { 34, 48}, { 49, 48}, { 64, 48}, { 79, 48}, { 94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, { 10, 48}, {225, 48}, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down
|
{ 9, 48}, { 34, 48}, { 49, 48}, { 64, 48}, { 79, 48}, { 94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {208, 48}, {225, 48}, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down
|
||||||
{ 2, 64}, { 21, 64}, { 39, 64}, { 94, 64}, {148, 64}, {163, 64}, {178, 64}, {193, 64}, {208, 64}, {225, 64}, // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right
|
{ 2, 64}, { 21, 64}, { 39, 64}, { 94, 64}, {148, 64}, {163, 64}, {178, 64}, {193, 64}, {208, 64}, {225, 64}, // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right
|
||||||
{185, 45}, {160, 45}, {125, 45}, { 95, 45}, { 60, 45}, { 25, 45} // UNDERGLOW
|
{185, 45}, {160, 45}, {125, 45}, { 95, 45}, { 60, 45}, { 25, 45} // UNDERGLOW
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xFEED
|
#define VENDOR_ID 0x4245 //BE
|
||||||
#define PRODUCT_ID 0x6060
|
#define PRODUCT_ID 0x544C //TL
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER Bathroom Epiphanies
|
#define MANUFACTURER Bathroom Epiphanies
|
||||||
#define PRODUCT tiger_lily
|
#define PRODUCT tiger_lily
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
/* Copyright 2021 Fehmer
|
||||||
|
*
|
||||||
|
* 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 DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright 2021 Fehmer
|
||||||
|
*
|
||||||
|
* 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(
|
||||||
|
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_NLCK,KC_PSLS,KC_PAST,KC_PMNS,
|
||||||
|
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_P7, KC_P8, KC_P9,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_P4, KC_P5, KC_P6,
|
||||||
|
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_UP, KC_P1, KC_P2, KC_P3,KC_PENT,
|
||||||
|
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS,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(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS,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,14 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
MOUSEKEY_ENABLE = yes
|
||||||
|
EXTRAKEY_ENABLE = yes
|
||||||
|
CONSOLE_ENABLE = no
|
||||||
|
COMMAND_ENABLE = yes
|
||||||
|
NKRO_ENABLE = yes
|
||||||
|
BACKLIGHT_ENABLE = no
|
||||||
|
MIDI_ENABLE = no
|
||||||
|
AUDIO_ENABLE = no
|
||||||
|
UNICODE_ENABLE = no
|
||||||
|
BLUETOOTH_ENABLE = no
|
||||||
|
RGBLIGHT_ENABLE = no
|
||||||
|
SLEEP_LED_ENABLE = no
|
||||||
@@ -19,37 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0x4355
|
|
||||||
#define PRODUCT_ID 0x0081
|
|
||||||
#define DEVICE_VER 0x0001
|
|
||||||
#define MANUFACTURER CapsUnlocked
|
|
||||||
#define PRODUCT CU80 v2 ANSI
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 6
|
|
||||||
#define MATRIX_COLS 17
|
|
||||||
|
|
||||||
#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 }
|
|
||||||
#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
/* COL2ROW, ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
|
||||||
#define DEBOUNCE 5
|
|
||||||
|
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
/* Locking resynchronize hack */
|
/* Locking resynchronize hack */
|
||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
#define RGB_DI_PIN E6
|
/* Define RGB */
|
||||||
#ifdef RGB_DI_PIN
|
#define DRIVER_LED_TOTAL 87
|
||||||
#define RGBLIGHT_ANIMATIONS
|
#define RGBLIGHT_ANIMATIONS
|
||||||
#define RGBLED_NUM 87
|
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
|
||||||
#define RGBLIGHT_VAL_STEP 8
|
|
||||||
#define RGBLIGHT_LIMIT_VAL 50
|
|
||||||
#endif
|
|
||||||
@@ -1,100 +1,142 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "CapsUnlocked CU80 v2 ANSI",
|
"manufacturer": "CapsUnlocked",
|
||||||
"maintainer": "rys",
|
"keyboard_name": "CapsUnlocked CU80 v2 ANSI",
|
||||||
"url": "https://caps-unlocked.com/cu80-round-2/",
|
"maintainer": "rys / maz0r",
|
||||||
"width": 18.25,
|
"height": 6.5,
|
||||||
"height": 6.5,
|
"width": 18.25,
|
||||||
"layouts": {
|
"bootloader": "atmel-dfu",
|
||||||
"LAYOUT_tkl_ansi": {
|
"debounce": 5,
|
||||||
"layout": [
|
"diode_direction": "COL2ROW",
|
||||||
{"label":"Esc", "x":0, "y":0},
|
"features": {
|
||||||
{"label":"F1", "x":2, "y":0},
|
"audio": false,
|
||||||
{"label":"F2", "x":3, "y":0},
|
"backlight": false,
|
||||||
{"label":"F3", "x":4, "y":0},
|
"bluetooth": false,
|
||||||
{"label":"F4", "x":5, "y":0},
|
"bootmagic_lite": true,
|
||||||
{"label":"F5", "x":6.5, "y":0},
|
"command": false,
|
||||||
{"label":"F6", "x":7.5, "y":0},
|
"console": false,
|
||||||
{"label":"F7", "x":8.5, "y":0},
|
"extrakey": true,
|
||||||
{"label":"F8", "x":9.5, "y":0},
|
"mousekey": false,
|
||||||
{"label":"F9", "x":11, "y":0},
|
"nkro": true,
|
||||||
{"label":"F10", "x":12, "y":0},
|
"rgblight": true,
|
||||||
{"label":"F11", "x":13, "y":0},
|
"sleep_led": false,
|
||||||
{"label":"F12", "x":14, "y":0},
|
"unicode": false
|
||||||
{"label":"PrtSc", "x":15.25, "y":0},
|
},
|
||||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
"matrix_pins": {
|
||||||
{"label":"Pause", "x":17.25, "y":0},
|
"cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"],
|
||||||
{"label":"\u00ac", "x":0, "y":1.5},
|
"rows": ["D3", "D2", "B7", "F1", "C7", "D5"]
|
||||||
{"label":"!", "x":1, "y":1.5},
|
},
|
||||||
{"label":"@", "x":2, "y":1.5},
|
"processor": "atmega32u4",
|
||||||
{"label":"£", "x":3, "y":1.5},
|
"rgblight": {
|
||||||
{"label":"$", "x":4, "y":1.5},
|
"animations": {
|
||||||
{"label":"%", "x":5, "y":1.5},
|
"all": false
|
||||||
{"label":"^", "x":6, "y":1.5},
|
},
|
||||||
{"label":"&", "x":7, "y":1.5},
|
"brightness_steps": 8,
|
||||||
{"label":"*", "x":8, "y":1.5},
|
"hue_steps": 8,
|
||||||
{"label":"(", "x":9, "y":1.5},
|
"led_count": 87,
|
||||||
{"label":")", "x":10, "y":1.5},
|
"max_brightness": 50,
|
||||||
{"label":"_", "x":11, "y":1.5},
|
"pin": "E6",
|
||||||
{"label":"+", "x":12, "y":1.5},
|
"saturation_steps": 8
|
||||||
{"label":"Backspace", "x":13, "y":1.5, "w":2},
|
},
|
||||||
{"label":"Insert", "x":15.25, "y":1.5},
|
"url": "https://caps-unlocked.com/cu80-round-2/",
|
||||||
{"label":"Home", "x":16.25, "y":1.5},
|
"usb": {
|
||||||
{"label":"PgUp", "x":17.25, "y":1.5},
|
"device_ver": "0x0001",
|
||||||
{"label":"Tab", "x":0, "y":2.5, "w":1.5},
|
"pid": "0x0081",
|
||||||
{"label":"Q", "x":1.5, "y":2.5},
|
"vid": "0x4355"
|
||||||
{"label":"W", "x":2.5, "y":2.5},
|
},
|
||||||
{"label":"E", "x":3.5, "y":2.5},
|
"community_layouts": ["tkl_ansi"],
|
||||||
{"label":"R", "x":4.5, "y":2.5},
|
"layouts": {
|
||||||
{"label":"T", "x":5.5, "y":2.5},
|
"LAYOUT_tkl_ansi": {
|
||||||
{"label":"Y", "x":6.5, "y":2.5},
|
"c_macro": true,
|
||||||
{"label":"U", "x":7.5, "y":2.5},
|
"filename": "keyboards/capsunlocked/cu80/v2_ansi/v2_ansi.h",
|
||||||
{"label":"I", "x":8.5, "y":2.5},
|
"layout": [
|
||||||
{"label":"O", "x":9.5, "y":2.5},
|
{ "label": "Esc", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
|
||||||
{"label":"P", "x":10.5, "y":2.5},
|
{ "label": "F1", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
|
||||||
{"label":"{", "x":11.5, "y":2.5},
|
{ "label": "F2", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
|
||||||
{"label":"}", "x":12.5, "y":2.5},
|
{ "label": "F3", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
|
||||||
{"label":"|", "x":13.5, "y":2.5, "w":1.5},
|
{ "label": "F4", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
|
||||||
{"label":"Delete", "x":15.25, "y":2.5},
|
{ "label": "F5", "matrix": [0, 6], "w": 1, "x": 6.5, "y": 0 },
|
||||||
{"label":"End", "x":16.25, "y":2.5},
|
{ "label": "F6", "matrix": [0, 7], "w": 1, "x": 7.5, "y": 0 },
|
||||||
{"label":"PgDn", "x":17.25, "y":2.5},
|
{ "label": "F7", "matrix": [0, 8], "w": 1, "x": 8.5, "y": 0 },
|
||||||
{"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
|
{ "label": "F8", "matrix": [0, 9], "w": 1, "x": 9.5, "y": 0 },
|
||||||
{"label":"A", "x":1.75, "y":3.5},
|
{ "label": "F9", "matrix": [0, 10], "w": 1, "x": 11, "y": 0 },
|
||||||
{"label":"S", "x":2.75, "y":3.5},
|
{ "label": "F10", "matrix": [0, 11], "w": 1, "x": 12, "y": 0 },
|
||||||
{"label":"D", "x":3.75, "y":3.5},
|
{ "label": "F11", "matrix": [0, 12], "w": 1, "x": 13, "y": 0 },
|
||||||
{"label":"F", "x":4.75, "y":3.5},
|
{ "label": "F12", "matrix": [0, 13], "w": 1, "x": 14, "y": 0 },
|
||||||
{"label":"G", "x":5.75, "y":3.5},
|
{ "label": "PrtSc", "matrix": [0, 14], "w": 1, "x": 15.25, "y": 0 },
|
||||||
{"label":"H", "x":6.75, "y":3.5},
|
{ "label": "Scroll Lock", "matrix": [0, 15], "w": 1, "x": 16.25, "y": 0 },
|
||||||
{"label":"J", "x":7.75, "y":3.5},
|
{ "label": "Pause", "matrix": [0, 16], "w": 1, "x": 17.25, "y": 0 },
|
||||||
{"label":"K", "x":8.75, "y":3.5},
|
{ "label": "\u00ac", "matrix": [1, 0], "w": 1, "x": 0, "y": 1.5 },
|
||||||
{"label":"L", "x":9.75, "y":3.5},
|
{ "label": "!", "matrix": [1, 1], "w": 1, "x": 1, "y": 1.5 },
|
||||||
{"label":":", "x":10.75, "y":3.5},
|
{ "label": "@", "matrix": [1, 2], "w": 1, "x": 2, "y": 1.5 },
|
||||||
{"label":"\"", "x":11.75, "y":3.5},
|
{ "label": "\u00a3", "matrix": [1, 3], "w": 1, "x": 3, "y": 1.5 },
|
||||||
{"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
|
{ "label": "$", "matrix": [1, 4], "w": 1, "x": 4, "y": 1.5 },
|
||||||
{"label":"Shift", "x":0, "y":4.5, "w":2.25},
|
{ "label": "%", "matrix": [1, 5], "w": 1, "x": 5, "y": 1.5 },
|
||||||
{"label":"Z", "x":2.25, "y":4.5},
|
{ "label": "^", "matrix": [1, 6], "w": 1, "x": 6, "y": 1.5 },
|
||||||
{"label":"X", "x":3.25, "y":4.5},
|
{ "label": "&", "matrix": [1, 7], "w": 1, "x": 7, "y": 1.5 },
|
||||||
{"label":"C", "x":4.25, "y":4.5},
|
{ "label": "*", "matrix": [1, 8], "w": 1, "x": 8, "y": 1.5 },
|
||||||
{"label":"V", "x":5.25, "y":4.5},
|
{ "label": "(", "matrix": [1, 9], "w": 1, "x": 9, "y": 1.5 },
|
||||||
{"label":"B", "x":6.25, "y":4.5},
|
{ "label": ")", "matrix": [1, 10], "w": 1, "x": 10, "y": 1.5 },
|
||||||
{"label":"N", "x":7.25, "y":4.5},
|
{ "label": "_", "matrix": [1, 11], "w": 1, "x": 11, "y": 1.5 },
|
||||||
{"label":"M", "x":8.25, "y":4.5},
|
{ "label": "+", "matrix": [1, 12], "w": 1, "x": 12, "y": 1.5 },
|
||||||
{"label":"<", "x":9.25, "y":4.5},
|
{ "label": "Backspace", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 },
|
||||||
{"label":">", "x":10.25, "y":4.5},
|
{ "label": "Insert", "matrix": [1, 14], "w": 1, "x": 15.25, "y": 1.5 },
|
||||||
{"label":"?", "x":11.25, "y":4.5},
|
{ "label": "Home", "matrix": [1, 15], "w": 1, "x": 16.25, "y": 1.5 },
|
||||||
{"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
|
{ "label": "PgUp", "matrix": [1, 16], "w": 1, "x": 17.25, "y": 1.5 },
|
||||||
{"label":"Up", "x":16.25, "y":4.5},
|
{ "label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 },
|
||||||
{"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
|
{ "label": "Q", "matrix": [2, 1], "w": 1, "x": 1.5, "y": 2.5 },
|
||||||
{"label":"Alt", "x":1.25, "y":5.5, "w":1.25},
|
{ "label": "W", "matrix": [2, 2], "w": 1, "x": 2.5, "y": 2.5 },
|
||||||
{"label":"Win", "x":2.5, "y":5.5, "w":1.25},
|
{ "label": "E", "matrix": [2, 3], "w": 1, "x": 3.5, "y": 2.5 },
|
||||||
{"label":"Space", "x":3.75, "y":5.5, "w":6.25},
|
{ "label": "R", "matrix": [2, 4], "w": 1, "x": 4.5, "y": 2.5 },
|
||||||
{"label":"Win", "x":10, "y":5.5, "w":1.25},
|
{ "label": "T", "matrix": [2, 5], "w": 1, "x": 5.5, "y": 2.5 },
|
||||||
{"label":"AltGr", "x":11.25, "y":5.5, "w":1.25},
|
{ "label": "Y", "matrix": [2, 6], "w": 1, "x": 6.5, "y": 2.5 },
|
||||||
{"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25},
|
{ "label": "U", "matrix": [2, 7], "w": 1, "x": 7.5, "y": 2.5 },
|
||||||
{"label":"Fn", "x":13.75, "y":5.5, "w":1.25},
|
{ "label": "I", "matrix": [2, 8], "w": 1, "x": 8.5, "y": 2.5 },
|
||||||
{"label":"Left", "x":15.25, "y":5.5},
|
{ "label": "O", "matrix": [2, 9], "w": 1, "x": 9.5, "y": 2.5 },
|
||||||
{"label":"Down", "x":16.25, "y":5.5},
|
{ "label": "P", "matrix": [2, 10], "w": 1, "x": 10.5, "y": 2.5 },
|
||||||
{"label":"Right", "x":17.25, "y":5.5}
|
{ "label": "{", "matrix": [2, 11], "w": 1, "x": 11.5, "y": 2.5 },
|
||||||
]
|
{ "label": "}", "matrix": [2, 12], "w": 1, "x": 12.5, "y": 2.5 },
|
||||||
}
|
{ "label": "|", "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.5 },
|
||||||
|
{ "label": "Delete", "matrix": [2, 14], "w": 1, "x": 15.25, "y": 2.5 },
|
||||||
|
{ "label": "End", "matrix": [2, 15], "w": 1, "x": 16.25, "y": 2.5 },
|
||||||
|
{ "label": "PgDn", "matrix": [2, 16], "w": 1, "x": 17.25, "y": 2.5 },
|
||||||
|
{ "label": "Caps Lock", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 },
|
||||||
|
{ "label": "A", "matrix": [3, 1], "w": 1, "x": 1.75, "y": 3.5 },
|
||||||
|
{ "label": "S", "matrix": [3, 2], "w": 1, "x": 2.75, "y": 3.5 },
|
||||||
|
{ "label": "D", "matrix": [3, 3], "w": 1, "x": 3.75, "y": 3.5 },
|
||||||
|
{ "label": "F", "matrix": [3, 4], "w": 1, "x": 4.75, "y": 3.5 },
|
||||||
|
{ "label": "G", "matrix": [3, 5], "w": 1, "x": 5.75, "y": 3.5 },
|
||||||
|
{ "label": "H", "matrix": [3, 6], "w": 1, "x": 6.75, "y": 3.5 },
|
||||||
|
{ "label": "J", "matrix": [3, 7], "w": 1, "x": 7.75, "y": 3.5 },
|
||||||
|
{ "label": "K", "matrix": [3, 8], "w": 1, "x": 8.75, "y": 3.5 },
|
||||||
|
{ "label": "L", "matrix": [3, 9], "w": 1, "x": 9.75, "y": 3.5 },
|
||||||
|
{ "label": ":", "matrix": [3, 10], "w": 1, "x": 10.75, "y": 3.5 },
|
||||||
|
{ "label": "\"", "matrix": [3, 11], "w": 1, "x": 11.75, "y": 3.5 },
|
||||||
|
{ "label": "Enter", "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.5 },
|
||||||
|
{ "label": "Shift", "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.5 },
|
||||||
|
{ "label": "Z", "matrix": [4, 2], "w": 1, "x": 2.25, "y": 4.5 },
|
||||||
|
{ "label": "X", "matrix": [4, 3], "w": 1, "x": 3.25, "y": 4.5 },
|
||||||
|
{ "label": "C", "matrix": [4, 4], "w": 1, "x": 4.25, "y": 4.5 },
|
||||||
|
{ "label": "V", "matrix": [4, 5], "w": 1, "x": 5.25, "y": 4.5 },
|
||||||
|
{ "label": "B", "matrix": [4, 6], "w": 1, "x": 6.25, "y": 4.5 },
|
||||||
|
{ "label": "N", "matrix": [4, 7], "w": 1, "x": 7.25, "y": 4.5 },
|
||||||
|
{ "label": "M", "matrix": [4, 8], "w": 1, "x": 8.25, "y": 4.5 },
|
||||||
|
{ "label": "<", "matrix": [4, 9], "w": 1, "x": 9.25, "y": 4.5 },
|
||||||
|
{ "label": ">", "matrix": [4, 10], "w": 1, "x": 10.25, "y": 4.5 },
|
||||||
|
{ "label": "?", "matrix": [4, 11], "w": 1, "x": 11.25, "y": 4.5 },
|
||||||
|
{ "label": "Shift", "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 },
|
||||||
|
{ "label": "Up", "matrix": [4, 15], "w": 1, "x": 16.25, "y": 4.5 },
|
||||||
|
{ "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.5 },
|
||||||
|
{ "label": "Alt", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.5 },
|
||||||
|
{ "label": "Win", "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.5 },
|
||||||
|
{ "label": "Space", "matrix": [5, 5], "w": 6.25, "x": 3.75, "y": 5.5 },
|
||||||
|
{ "label": "Win", "matrix": [5, 9], "w": 1.25, "x": 10, "y": 5.5 },
|
||||||
|
{ "label": "AltGr", "matrix": [5, 10], "w": 1.25, "x": 11.25, "y": 5.5 },
|
||||||
|
{ "label": "Ctrl", "matrix": [5, 11], "w": 1.25, "x": 12.5, "y": 5.5 },
|
||||||
|
{ "label": "Fn", "matrix": [5, 12], "w": 1.25, "x": 13.75, "y": 5.5 },
|
||||||
|
{ "label": "Left", "matrix": [5, 13], "w": 1, "x": 15.25, "y": 5.5 },
|
||||||
|
{ "label": "Down", "matrix": [5, 15], "w": 1, "x": 16.25, "y": 5.5 },
|
||||||
|
{ "label": "Right", "matrix": [5, 16], "w": 1, "x": 17.25, "y": 5.5 }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
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_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_ENT,
|
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_tkl_ansi(
|
[1] = LAYOUT_tkl_ansi(
|
||||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
||||||
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
|
_______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
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_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_ENT,
|
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_tkl_ansi(
|
[1] = LAYOUT_tkl_ansi(
|
||||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
||||||
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
|
_______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
|
||||||
),
|
),
|
||||||
[2] = LAYOUT_tkl_ansi(
|
[2] = LAYOUT_tkl_ansi(
|
||||||
|
|||||||
@@ -4,12 +4,13 @@ The CU80 v2 ANSI is the PCB for round 2 of the CU80 TKL keyboard, with fixed lay
|
|||||||
|
|
||||||
To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB.
|
To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB.
|
||||||
|
|
||||||
* Keyboard maintainer: [rys](https://github.com/rys)
|
* Keyboard maintainer: [rys](https://github.com/rys) & [maz0r](https://github.com/maz0r)
|
||||||
* Hardware supported: [CU80 v2 ANSI](https://imgur.com/gOWpJqe)
|
* Hardware supported: [CU80 v2 ANSI](https://imgur.com/gOWpJqe)
|
||||||
* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/)
|
* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/)
|
||||||
|
|
||||||
Make and flash example for this keyboard (after setting up your build environment):
|
Make and flash example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make capsunlocked/cu80/v2_ansi:default:flash
|
make capsunlocked/cu80/v2_ansi:default:flash
|
||||||
|
make capsunlocked/cu80/v2_ansi/rgb: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).
|
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).
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 CapsUnlocked
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
/* enable RGB matrix */
|
||||||
|
#define CU80_RGB
|
||||||
|
|
||||||
|
/* update the product for RGB Matrix variant in VIA/VIAL and Remap-keys.app */
|
||||||
|
#undef PRODUCT_ID
|
||||||
|
#undef PRODUCT
|
||||||
|
#define PRODUCT_ID 0x0082
|
||||||
|
#define PRODUCT CU80 v2 ANSI RGB
|
||||||
|
|
||||||
|
/* moved to RGB specific */
|
||||||
|
#define RGB_MATRIX_KEYPRESSES
|
||||||
|
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
|
||||||
|
|
||||||
|
/* RGB firmware override */
|
||||||
|
#undef RGBLIGHT_ANIMATIONS
|
||||||
|
#undef RGBLIGHT_HUE_STEP
|
||||||
|
#undef RGBLIGHT_SAT_STEP
|
||||||
|
#undef RGBLIGHT_VAL_STEP
|
||||||
|
#undef RGBLIGHT_LIMIT_VAL
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# CU80 v2 ANSI RGB
|
||||||
|
|
||||||
|
Overrides
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
RGB_MATRIX_ENABLE = yes # Enable RGB matrix
|
||||||
|
RGB_MATRIX_DRIVER = WS2812 # Set Driver to WS2812
|
||||||
@@ -7,19 +7,4 @@ BOOTLOADER = atmel-dfu
|
|||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # 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 = yes # USB Nkey Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
|
||||||
UNICODE_ENABLE = no # Unicode
|
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
|
|
||||||
LAYOUTS = tkl_ansi
|
|
||||||
@@ -16,3 +16,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "v2_ansi.h"
|
#include "v2_ansi.h"
|
||||||
|
|
||||||
|
#ifdef CU80_RGB
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
setPinOutput(E6);
|
||||||
|
matrix_init_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */
|
||||||
|
void rgb_matrix_indicators_kb(void) {
|
||||||
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
|
rgb_matrix_set_color(62, 255, 255, 255);
|
||||||
|
}
|
||||||
|
if (host_keyboard_led_state().scroll_lock) {
|
||||||
|
rgb_matrix_set_color(14, 255, 255, 255);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */
|
||||||
|
led_config_t g_led_config = {{{0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50}, {63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75}, {86, 85, 84, NO_LED, NO_LED, 83, NO_LED, NO_LED, NO_LED, 82, 81, 80, 79, 78, NO_LED, 77, 76}
|
||||||
|
|
||||||
|
},
|
||||||
|
/*board layout accounting for led directions */
|
||||||
|
{{0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 13}, {212, 13}, {198, 13}, {184, 13}, {169, 13}, {155, 13}, {141, 13}, {127, 13}, {113, 13}, {99, 13}, {85, 13}, {71, 13}, {56, 13}, {42, 13}, {28, 13}, {14, 13}, {0, 13}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26},
|
||||||
|
{155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64}
|
||||||
|
|
||||||
|
},
|
||||||
|
/* marks scroll and caps as function modifiers for led effects */
|
||||||
|
{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1}};
|
||||||
|
#endif
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2021 CapsUnlocked
|
|
||||||
|
|
||||||
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 0x4355
|
|
||||||
#define PRODUCT_ID 0x0082
|
|
||||||
#define DEVICE_VER 0x0001
|
|
||||||
#define MANUFACTURER CapsUnlocked
|
|
||||||
#define PRODUCT CU80 v2 ANSI RGB
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 6
|
|
||||||
#define MATRIX_COLS 17
|
|
||||||
|
|
||||||
#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 }
|
|
||||||
#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
/* COL2ROW, ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
|
||||||
#define DEBOUNCE 5
|
|
||||||
|
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
|
||||||
/* Locking resynchronize hack */
|
|
||||||
#define LOCKING_RESYNC_ENABLE
|
|
||||||
|
|
||||||
|
|
||||||
/* Define RGB */
|
|
||||||
#define RGB_DI_PIN E6
|
|
||||||
#define RGB_MATRIX_KEYPRESSES
|
|
||||||
#define DRIVER_LED_TOTAL 87
|
|
||||||
#define RGBLED_NUM 87
|
|
||||||
#define RGBLIGHT_LIMIT_VAL 50
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
{
|
|
||||||
"keyboard_name": "CapsUnlocked CU80 v2 ANSI RGB",
|
|
||||||
"maintainer": "rys",
|
|
||||||
"url": "https://caps-unlocked.com/cu80-round-2/",
|
|
||||||
"width": 18.25,
|
|
||||||
"height": 6.5,
|
|
||||||
"layouts": {
|
|
||||||
"LAYOUT_tkl_ansi": {
|
|
||||||
"layout": [
|
|
||||||
{"label":"Esc", "x":0, "y":0},
|
|
||||||
{"label":"F1", "x":2, "y":0},
|
|
||||||
{"label":"F2", "x":3, "y":0},
|
|
||||||
{"label":"F3", "x":4, "y":0},
|
|
||||||
{"label":"F4", "x":5, "y":0},
|
|
||||||
{"label":"F5", "x":6.5, "y":0},
|
|
||||||
{"label":"F6", "x":7.5, "y":0},
|
|
||||||
{"label":"F7", "x":8.5, "y":0},
|
|
||||||
{"label":"F8", "x":9.5, "y":0},
|
|
||||||
{"label":"F9", "x":11, "y":0},
|
|
||||||
{"label":"F10", "x":12, "y":0},
|
|
||||||
{"label":"F11", "x":13, "y":0},
|
|
||||||
{"label":"F12", "x":14, "y":0},
|
|
||||||
{"label":"PrtSc", "x":15.25, "y":0},
|
|
||||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
|
||||||
{"label":"Pause", "x":17.25, "y":0},
|
|
||||||
{"label":"\u00ac", "x":0, "y":1.5},
|
|
||||||
{"label":"!", "x":1, "y":1.5},
|
|
||||||
{"label":"@", "x":2, "y":1.5},
|
|
||||||
{"label":"£", "x":3, "y":1.5},
|
|
||||||
{"label":"$", "x":4, "y":1.5},
|
|
||||||
{"label":"%", "x":5, "y":1.5},
|
|
||||||
{"label":"^", "x":6, "y":1.5},
|
|
||||||
{"label":"&", "x":7, "y":1.5},
|
|
||||||
{"label":"*", "x":8, "y":1.5},
|
|
||||||
{"label":"(", "x":9, "y":1.5},
|
|
||||||
{"label":")", "x":10, "y":1.5},
|
|
||||||
{"label":"_", "x":11, "y":1.5},
|
|
||||||
{"label":"+", "x":12, "y":1.5},
|
|
||||||
{"label":"Backspace", "x":13, "y":1.5, "w":2},
|
|
||||||
{"label":"Insert", "x":15.25, "y":1.5},
|
|
||||||
{"label":"Home", "x":16.25, "y":1.5},
|
|
||||||
{"label":"PgUp", "x":17.25, "y":1.5},
|
|
||||||
{"label":"Tab", "x":0, "y":2.5, "w":1.5},
|
|
||||||
{"label":"Q", "x":1.5, "y":2.5},
|
|
||||||
{"label":"W", "x":2.5, "y":2.5},
|
|
||||||
{"label":"E", "x":3.5, "y":2.5},
|
|
||||||
{"label":"R", "x":4.5, "y":2.5},
|
|
||||||
{"label":"T", "x":5.5, "y":2.5},
|
|
||||||
{"label":"Y", "x":6.5, "y":2.5},
|
|
||||||
{"label":"U", "x":7.5, "y":2.5},
|
|
||||||
{"label":"I", "x":8.5, "y":2.5},
|
|
||||||
{"label":"O", "x":9.5, "y":2.5},
|
|
||||||
{"label":"P", "x":10.5, "y":2.5},
|
|
||||||
{"label":"{", "x":11.5, "y":2.5},
|
|
||||||
{"label":"}", "x":12.5, "y":2.5},
|
|
||||||
{"label":"|", "x":13.5, "y":2.5, "w":1.5},
|
|
||||||
{"label":"Delete", "x":15.25, "y":2.5},
|
|
||||||
{"label":"End", "x":16.25, "y":2.5},
|
|
||||||
{"label":"PgDn", "x":17.25, "y":2.5},
|
|
||||||
{"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
|
|
||||||
{"label":"A", "x":1.75, "y":3.5},
|
|
||||||
{"label":"S", "x":2.75, "y":3.5},
|
|
||||||
{"label":"D", "x":3.75, "y":3.5},
|
|
||||||
{"label":"F", "x":4.75, "y":3.5},
|
|
||||||
{"label":"G", "x":5.75, "y":3.5},
|
|
||||||
{"label":"H", "x":6.75, "y":3.5},
|
|
||||||
{"label":"J", "x":7.75, "y":3.5},
|
|
||||||
{"label":"K", "x":8.75, "y":3.5},
|
|
||||||
{"label":"L", "x":9.75, "y":3.5},
|
|
||||||
{"label":":", "x":10.75, "y":3.5},
|
|
||||||
{"label":"\"", "x":11.75, "y":3.5},
|
|
||||||
{"label":"Enter", "x":12.75, "y":3.5, "w":2.25},
|
|
||||||
{"label":"Shift", "x":0, "y":4.5, "w":2.25},
|
|
||||||
{"label":"Z", "x":2.25, "y":4.5},
|
|
||||||
{"label":"X", "x":3.25, "y":4.5},
|
|
||||||
{"label":"C", "x":4.25, "y":4.5},
|
|
||||||
{"label":"V", "x":5.25, "y":4.5},
|
|
||||||
{"label":"B", "x":6.25, "y":4.5},
|
|
||||||
{"label":"N", "x":7.25, "y":4.5},
|
|
||||||
{"label":"M", "x":8.25, "y":4.5},
|
|
||||||
{"label":"<", "x":9.25, "y":4.5},
|
|
||||||
{"label":">", "x":10.25, "y":4.5},
|
|
||||||
{"label":"?", "x":11.25, "y":4.5},
|
|
||||||
{"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
|
|
||||||
{"label":"Up", "x":16.25, "y":4.5},
|
|
||||||
{"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Alt", "x":1.25, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Win", "x":2.5, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Space", "x":3.75, "y":5.5, "w":6.25},
|
|
||||||
{"label":"Win", "x":10, "y":5.5, "w":1.25},
|
|
||||||
{"label":"AltGr", "x":11.25, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Fn", "x":13.75, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Left", "x":15.25, "y":5.5},
|
|
||||||
{"label":"Down", "x":16.25, "y":5.5},
|
|
||||||
{"label":"Right", "x":17.25, "y":5.5}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2021 CapsUnlocked
|
|
||||||
|
|
||||||
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_tkl_ansi(
|
|
||||||
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_ENT,
|
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
|
||||||
),
|
|
||||||
[1] = LAYOUT_tkl_ansi(
|
|
||||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
|
||||||
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
|
|
||||||
),
|
|
||||||
};
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# The default ANSI keymap for the CU80
|
|
||||||
|
|
||||||
This CU80 is keymap is for the fixed ANSI variant with fully populated bottom row.
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# CU80 v2 ANSI RGB
|
|
||||||
|
|
||||||
The CU80 v2 ANSI is the PCB for round 2 of the CU80 TKL keyboard, with matrix RGB lighting, fixed ANSI layout and VIA support.
|
|
||||||
|
|
||||||
This firmware adds RGB matrix support.
|
|
||||||
|
|
||||||
To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in.
|
|
||||||
|
|
||||||
* Keyboard maintainer: [rys](https://github.com/rys)
|
|
||||||
* Hardware supported: CU80 v2 ANSI
|
|
||||||
* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/)
|
|
||||||
|
|
||||||
Make and flash example for this keyboard (after setting up your build environment):
|
|
||||||
|
|
||||||
make capsunlocked/cu80/v2_ansi_rgb:default:flash
|
|
||||||
make capsunlocked/cu80/v2_ansi_rgb:via: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).
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2021 CapsUnlocked
|
|
||||||
|
|
||||||
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 "v2_ansi_rgb.h"
|
|
||||||
#include "rgb_matrix_types.h"
|
|
||||||
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
setPinOutput(E6);
|
|
||||||
matrix_init_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */
|
|
||||||
void rgb_matrix_indicators_kb(void) {
|
|
||||||
if (host_keyboard_led_state().caps_lock) {
|
|
||||||
rgb_matrix_set_color(62, 255, 255, 255);
|
|
||||||
}
|
|
||||||
if (host_keyboard_led_state().scroll_lock) {
|
|
||||||
rgb_matrix_set_color(14, 255, 255, 255);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
{ 0,NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
|
|
||||||
{ 32,31 ,30 ,29 ,28 ,27 ,26 ,25 ,24 ,23 ,22 ,21 ,20 ,19 ,18 ,17 ,16 },
|
|
||||||
{ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 },
|
|
||||||
{ 62, 61, 60, 59,58,57,56,55,54,53,52,51,50 },
|
|
||||||
{ 63, NO_LED, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, NO_LED, NO_LED, 75 },
|
|
||||||
{ 86 ,85 ,84 ,NO_LED, NO_LED ,83, NO_LED,NO_LED, NO_LED ,82 ,81 ,80 ,79 ,78 ,NO_LED,77 ,76 }
|
|
||||||
|
|
||||||
},
|
|
||||||
/*board layout accounting for led directions */
|
|
||||||
{
|
|
||||||
{0,0}, {28,0}, {42,0}, {56,0}, {71,0}, {85,0}, {99,0}, {113,0}, {127,0}, {141,0}, {155,0}, {169,0}, {184,0}, {198,0}, {212,0}, {226,0},
|
|
||||||
{226,13}, {212,13}, {198,13}, {184,13}, {169,13}, {155,13}, {141,13}, {127,13}, {113,13}, {99,13}, {85,13}, {71,13}, {56,13}, {42,13}, {28,13}, {14,13}, {0,13},
|
|
||||||
{0,26}, {14,26}, {28,26}, {42,26}, {56,26}, {71,26}, {85,26}, {99,26}, {113,26}, {127,26}, {141,26}, {155,26}, {169,26}, {184,26}, {198,26}, {212,26}, {226,26},
|
|
||||||
{169,38}, {155,38}, {141,38}, {127,38}, {113,38}, {99,38}, {85,38}, {71,38}, {56,38}, {42,38}, {28,38}, {14,38}, {0,38},
|
|
||||||
{0,51}, {28,51}, {42,51}, {56,51}, {71,51}, {85,51}, {99,51}, {113,51}, {127,51}, {141,51}, {155,51}, {169,51}, {212,51},
|
|
||||||
{226,64}, {212,64}, {184,64}, {169,64}, {155,64}, {141,64}, {127,64}, {71,64}, {28,64}, {14,64}, {0,64}
|
|
||||||
|
|
||||||
},
|
|
||||||
/* marks scroll and caps as function modifiers for led effects */
|
|
||||||
{
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2021 CapsUnlocked
|
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
/* This a shortcut to help you visually see your layout.
|
|
||||||
*
|
|
||||||
* 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_tkl_ansi( \
|
|
||||||
K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \
|
|
||||||
\
|
|
||||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \
|
|
||||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \
|
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \
|
|
||||||
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K415, \
|
|
||||||
K500, K501, K502, K505, K509, K510, K511, K512, K513, K515, K516 \
|
|
||||||
) { \
|
|
||||||
{ K000, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \
|
|
||||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \
|
|
||||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \
|
|
||||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
{ K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, KC_NO, K415, KC_NO }, \
|
|
||||||
{ K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, K512, K513, KC_NO, K515, K516 }, \
|
|
||||||
}
|
|
||||||
@@ -19,37 +19,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0x4355
|
|
||||||
#define PRODUCT_ID 0x0080
|
|
||||||
#define DEVICE_VER 0x0001
|
|
||||||
#define MANUFACTURER CapsUnlocked
|
|
||||||
#define PRODUCT CU80 v2 ISO
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 6
|
|
||||||
#define MATRIX_COLS 17
|
|
||||||
|
|
||||||
#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 }
|
|
||||||
#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
/* COL2ROW, ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
|
||||||
#define DEBOUNCE 5
|
|
||||||
|
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
/* Locking resynchronize hack */
|
/* Locking resynchronize hack */
|
||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
#define RGB_DI_PIN E6
|
/* Define RGB */
|
||||||
#ifdef RGB_DI_PIN
|
#define DRIVER_LED_TOTAL 88
|
||||||
#define RGBLIGHT_ANIMATIONS
|
#define RGBLIGHT_ANIMATIONS
|
||||||
#define RGBLED_NUM 88
|
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
|
||||||
#define RGBLIGHT_VAL_STEP 8
|
|
||||||
#define RGBLIGHT_LIMIT_VAL 50
|
|
||||||
#endif
|
|
||||||
@@ -1,101 +1,143 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "CapsUnlocked CU80 v2 ISO",
|
"manufacturer": "CapsUnlocked",
|
||||||
"maintainer": "rys",
|
"keyboard_name": "CapsUnlocked CU80 v2 ISO",
|
||||||
"url": "https://caps-unlocked.com/cu80-round-2/",
|
"maintainer": "rys / maz0r",
|
||||||
"width": 18.25,
|
"height": 6.5,
|
||||||
"height": 6.5,
|
"width": 18.25,
|
||||||
"layouts": {
|
"bootloader": "atmel-dfu",
|
||||||
"LAYOUT_tkl_iso": {
|
"debounce": 5,
|
||||||
"layout": [
|
"diode_direction": "COL2ROW",
|
||||||
{"label":"Esc", "x":0, "y":0},
|
"features": {
|
||||||
{"label":"F1", "x":2, "y":0},
|
"audio": false,
|
||||||
{"label":"F2", "x":3, "y":0},
|
"backlight": false,
|
||||||
{"label":"F3", "x":4, "y":0},
|
"bluetooth": false,
|
||||||
{"label":"F4", "x":5, "y":0},
|
"bootmagic_lite": true,
|
||||||
{"label":"F5", "x":6.5, "y":0},
|
"command": false,
|
||||||
{"label":"F6", "x":7.5, "y":0},
|
"console": false,
|
||||||
{"label":"F7", "x":8.5, "y":0},
|
"extrakey": true,
|
||||||
{"label":"F8", "x":9.5, "y":0},
|
"mousekey": false,
|
||||||
{"label":"F9", "x":11, "y":0},
|
"nkro": true,
|
||||||
{"label":"F10", "x":12, "y":0},
|
"rgblight": true,
|
||||||
{"label":"F11", "x":13, "y":0},
|
"sleep_led": false,
|
||||||
{"label":"F12", "x":14, "y":0},
|
"unicode": false
|
||||||
{"label":"PrtSc", "x":15.25, "y":0},
|
},
|
||||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
"matrix_pins": {
|
||||||
{"label":"Pause", "x":17.25, "y":0},
|
"cols": ["B0", "B1", "B2", "B3", "F4", "F5", "F6", "F7", "B6", "B5", "D7", "B4", "D6", "F0", "D1", "C6", "D4"],
|
||||||
{"label":"\u00ac", "x":0, "y":1.5},
|
"rows": ["D3", "D2", "B7", "F1", "C7", "D5"]
|
||||||
{"label":"!", "x":1, "y":1.5},
|
},
|
||||||
{"label":"\"", "x":2, "y":1.5},
|
"processor": "atmega32u4",
|
||||||
{"label":"£", "x":3, "y":1.5},
|
"rgblight": {
|
||||||
{"label":"$", "x":4, "y":1.5},
|
"animations": {
|
||||||
{"label":"%", "x":5, "y":1.5},
|
"all": false
|
||||||
{"label":"^", "x":6, "y":1.5},
|
},
|
||||||
{"label":"&", "x":7, "y":1.5},
|
"brightness_steps": 8,
|
||||||
{"label":"*", "x":8, "y":1.5},
|
"hue_steps": 8,
|
||||||
{"label":"(", "x":9, "y":1.5},
|
"led_count": 88,
|
||||||
{"label":")", "x":10, "y":1.5},
|
"max_brightness": 50,
|
||||||
{"label":"_", "x":11, "y":1.5},
|
"pin": "E6",
|
||||||
{"label":"+", "x":12, "y":1.5},
|
"saturation_steps": 8
|
||||||
{"label":"Backspace", "x":13, "y":1.5, "w":2},
|
},
|
||||||
{"label":"Insert", "x":15.25, "y":1.5},
|
"url": "https://caps-unlocked.com/cu80-round-2/",
|
||||||
{"label":"Home", "x":16.25, "y":1.5},
|
"usb": {
|
||||||
{"label":"PgUp", "x":17.25, "y":1.5},
|
"device_ver": "0x0001",
|
||||||
{"label":"Tab", "x":0, "y":2.5, "w":1.5},
|
"pid": "0x0080",
|
||||||
{"label":"Q", "x":1.5, "y":2.5},
|
"vid": "0x4355"
|
||||||
{"label":"W", "x":2.5, "y":2.5},
|
},
|
||||||
{"label":"E", "x":3.5, "y":2.5},
|
"community_layouts": ["tkl_iso"],
|
||||||
{"label":"R", "x":4.5, "y":2.5},
|
"layouts": {
|
||||||
{"label":"T", "x":5.5, "y":2.5},
|
"LAYOUT_tkl_iso": {
|
||||||
{"label":"Y", "x":6.5, "y":2.5},
|
"c_macro": true,
|
||||||
{"label":"U", "x":7.5, "y":2.5},
|
"filename": "keyboards/capsunlocked/cu80/v2_iso/v2_iso.h",
|
||||||
{"label":"I", "x":8.5, "y":2.5},
|
"layout": [
|
||||||
{"label":"O", "x":9.5, "y":2.5},
|
{ "label": "Esc", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
|
||||||
{"label":"P", "x":10.5, "y":2.5},
|
{ "label": "F1", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
|
||||||
{"label":"{", "x":11.5, "y":2.5},
|
{ "label": "F2", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
|
||||||
{"label":"}", "x":12.5, "y":2.5},
|
{ "label": "F3", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
|
||||||
{"label":"Delete", "x":15.25, "y":2.5},
|
{ "label": "F4", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
|
||||||
{"label":"End", "x":16.25, "y":2.5},
|
{ "label": "F5", "matrix": [0, 6], "w": 1, "x": 6.5, "y": 0 },
|
||||||
{"label":"PgDn", "x":17.25, "y":2.5},
|
{ "label": "F6", "matrix": [0, 7], "w": 1, "x": 7.5, "y": 0 },
|
||||||
{"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
|
{ "label": "F7", "matrix": [0, 8], "w": 1, "x": 8.5, "y": 0 },
|
||||||
{"label":"A", "x":1.75, "y":3.5},
|
{ "label": "F8", "matrix": [0, 9], "w": 1, "x": 9.5, "y": 0 },
|
||||||
{"label":"S", "x":2.75, "y":3.5},
|
{ "label": "F9", "matrix": [0, 10], "w": 1, "x": 11, "y": 0 },
|
||||||
{"label":"D", "x":3.75, "y":3.5},
|
{ "label": "F10", "matrix": [0, 11], "w": 1, "x": 12, "y": 0 },
|
||||||
{"label":"F", "x":4.75, "y":3.5},
|
{ "label": "F11", "matrix": [0, 12], "w": 1, "x": 13, "y": 0 },
|
||||||
{"label":"G", "x":5.75, "y":3.5},
|
{ "label": "F12", "matrix": [0, 13], "w": 1, "x": 14, "y": 0 },
|
||||||
{"label":"H", "x":6.75, "y":3.5},
|
{ "label": "PrtSc", "matrix": [0, 14], "w": 1, "x": 15.25, "y": 0 },
|
||||||
{"label":"J", "x":7.75, "y":3.5},
|
{ "label": "Scroll Lock", "matrix": [0, 15], "w": 1, "x": 16.25, "y": 0 },
|
||||||
{"label":"K", "x":8.75, "y":3.5},
|
{ "label": "Pause", "matrix": [0, 16], "w": 1, "x": 17.25, "y": 0 },
|
||||||
{"label":"L", "x":9.75, "y":3.5},
|
{ "label": "\u00ac", "matrix": [1, 0], "w": 1, "x": 0, "y": 1.5 },
|
||||||
{"label":":", "x":10.75, "y":3.5},
|
{ "label": "!", "matrix": [1, 1], "w": 1, "x": 1, "y": 1.5 },
|
||||||
{"label":"@", "x":11.75, "y":3.5},
|
{ "label": "\"", "matrix": [1, 2], "w": 1, "x": 2, "y": 1.5 },
|
||||||
{"label":"~", "x":12.75, "y":3.5},
|
{ "label": "\u00a3", "matrix": [1, 3], "w": 1, "x": 3, "y": 1.5 },
|
||||||
{"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
|
{ "label": "$", "matrix": [1, 4], "w": 1, "x": 4, "y": 1.5 },
|
||||||
{"label":"Shift", "x":0, "y":4.5, "w":1.25},
|
{ "label": "%", "matrix": [1, 5], "w": 1, "x": 5, "y": 1.5 },
|
||||||
{"label":"|", "x":1.25, "y":4.5},
|
{ "label": "^", "matrix": [1, 6], "w": 1, "x": 6, "y": 1.5 },
|
||||||
{"label":"Z", "x":2.25, "y":4.5},
|
{ "label": "&", "matrix": [1, 7], "w": 1, "x": 7, "y": 1.5 },
|
||||||
{"label":"X", "x":3.25, "y":4.5},
|
{ "label": "*", "matrix": [1, 8], "w": 1, "x": 8, "y": 1.5 },
|
||||||
{"label":"C", "x":4.25, "y":4.5},
|
{ "label": "(", "matrix": [1, 9], "w": 1, "x": 9, "y": 1.5 },
|
||||||
{"label":"V", "x":5.25, "y":4.5},
|
{ "label": ")", "matrix": [1, 10], "w": 1, "x": 10, "y": 1.5 },
|
||||||
{"label":"B", "x":6.25, "y":4.5},
|
{ "label": "_", "matrix": [1, 11], "w": 1, "x": 11, "y": 1.5 },
|
||||||
{"label":"N", "x":7.25, "y":4.5},
|
{ "label": "+", "matrix": [1, 12], "w": 1, "x": 12, "y": 1.5 },
|
||||||
{"label":"M", "x":8.25, "y":4.5},
|
{ "label": "Backspace", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.5 },
|
||||||
{"label":"<", "x":9.25, "y":4.5},
|
{ "label": "Insert", "matrix": [1, 14], "w": 1, "x": 15.25, "y": 1.5 },
|
||||||
{"label":">", "x":10.25, "y":4.5},
|
{ "label": "Home", "matrix": [1, 15], "w": 1, "x": 16.25, "y": 1.5 },
|
||||||
{"label":"?", "x":11.25, "y":4.5},
|
{ "label": "PgUp", "matrix": [1, 16], "w": 1, "x": 17.25, "y": 1.5 },
|
||||||
{"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
|
{ "label": "Tab", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.5 },
|
||||||
{"label":"Up", "x":16.25, "y":4.5},
|
{ "label": "Q", "matrix": [2, 1], "w": 1, "x": 1.5, "y": 2.5 },
|
||||||
{"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
|
{ "label": "W", "matrix": [2, 2], "w": 1, "x": 2.5, "y": 2.5 },
|
||||||
{"label":"Alt", "x":1.25, "y":5.5, "w":1.25},
|
{ "label": "E", "matrix": [2, 3], "w": 1, "x": 3.5, "y": 2.5 },
|
||||||
{"label":"Win", "x":2.5, "y":5.5, "w":1.25},
|
{ "label": "R", "matrix": [2, 4], "w": 1, "x": 4.5, "y": 2.5 },
|
||||||
{"label":"Space", "x":3.75, "y":5.5, "w":6.25},
|
{ "label": "T", "matrix": [2, 5], "w": 1, "x": 5.5, "y": 2.5 },
|
||||||
{"label":"Win", "x":10, "y":5.5, "w":1.25},
|
{ "label": "Y", "matrix": [2, 6], "w": 1, "x": 6.5, "y": 2.5 },
|
||||||
{"label":"AltGr", "x":11.25, "y":5.5, "w":1.25},
|
{ "label": "U", "matrix": [2, 7], "w": 1, "x": 7.5, "y": 2.5 },
|
||||||
{"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25},
|
{ "label": "I", "matrix": [2, 8], "w": 1, "x": 8.5, "y": 2.5 },
|
||||||
{"label":"Fn", "x":13.75, "y":5.5, "w":1.25},
|
{ "label": "O", "matrix": [2, 9], "w": 1, "x": 9.5, "y": 2.5 },
|
||||||
{"label":"Left", "x":15.25, "y":5.5},
|
{ "label": "P", "matrix": [2, 10], "w": 1, "x": 10.5, "y": 2.5 },
|
||||||
{"label":"Down", "x":16.25, "y":5.5},
|
{ "label": "{", "matrix": [2, 11], "w": 1, "x": 11.5, "y": 2.5 },
|
||||||
{"label":"Right", "x":17.25, "y":5.5}
|
{ "label": "}", "matrix": [2, 12], "w": 1, "x": 12.5, "y": 2.5 },
|
||||||
]
|
{ "label": "Delete", "matrix": [2, 14], "w": 1, "x": 15.25, "y": 2.5 },
|
||||||
}
|
{ "label": "End", "matrix": [2, 15], "w": 1, "x": 16.25, "y": 2.5 },
|
||||||
|
{ "label": "PgDn", "matrix": [2, 16], "w": 1, "x": 17.25, "y": 2.5 },
|
||||||
|
{ "label": "Caps Lock", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.5 },
|
||||||
|
{ "label": "A", "matrix": [3, 1], "w": 1, "x": 1.75, "y": 3.5 },
|
||||||
|
{ "label": "S", "matrix": [3, 2], "w": 1, "x": 2.75, "y": 3.5 },
|
||||||
|
{ "label": "D", "matrix": [3, 3], "w": 1, "x": 3.75, "y": 3.5 },
|
||||||
|
{ "label": "F", "matrix": [3, 4], "w": 1, "x": 4.75, "y": 3.5 },
|
||||||
|
{ "label": "G", "matrix": [3, 5], "w": 1, "x": 5.75, "y": 3.5 },
|
||||||
|
{ "label": "H", "matrix": [3, 6], "w": 1, "x": 6.75, "y": 3.5 },
|
||||||
|
{ "label": "J", "matrix": [3, 7], "w": 1, "x": 7.75, "y": 3.5 },
|
||||||
|
{ "label": "K", "matrix": [3, 8], "w": 1, "x": 8.75, "y": 3.5 },
|
||||||
|
{ "label": "L", "matrix": [3, 9], "w": 1, "x": 9.75, "y": 3.5 },
|
||||||
|
{ "label": ":", "matrix": [3, 10], "w": 1, "x": 10.75, "y": 3.5 },
|
||||||
|
{ "label": "@", "matrix": [3, 11], "w": 1, "x": 11.75, "y": 3.5 },
|
||||||
|
{ "label": "~", "matrix": [3, 12], "w": 1, "x": 12.75, "y": 3.5 },
|
||||||
|
{ "h": 2, "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2.5 },
|
||||||
|
{ "label": "Shift", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.5 },
|
||||||
|
{ "label": "|", "matrix": [4, 1], "w": 1, "x": 1.25, "y": 4.5 },
|
||||||
|
{ "label": "Z", "matrix": [4, 2], "w": 1, "x": 2.25, "y": 4.5 },
|
||||||
|
{ "label": "X", "matrix": [4, 3], "w": 1, "x": 3.25, "y": 4.5 },
|
||||||
|
{ "label": "C", "matrix": [4, 4], "w": 1, "x": 4.25, "y": 4.5 },
|
||||||
|
{ "label": "V", "matrix": [4, 5], "w": 1, "x": 5.25, "y": 4.5 },
|
||||||
|
{ "label": "B", "matrix": [4, 6], "w": 1, "x": 6.25, "y": 4.5 },
|
||||||
|
{ "label": "N", "matrix": [4, 7], "w": 1, "x": 7.25, "y": 4.5 },
|
||||||
|
{ "label": "M", "matrix": [4, 8], "w": 1, "x": 8.25, "y": 4.5 },
|
||||||
|
{ "label": "<", "matrix": [4, 9], "w": 1, "x": 9.25, "y": 4.5 },
|
||||||
|
{ "label": ">", "matrix": [4, 10], "w": 1, "x": 10.25, "y": 4.5 },
|
||||||
|
{ "label": "?", "matrix": [4, 11], "w": 1, "x": 11.25, "y": 4.5 },
|
||||||
|
{ "label": "Shift", "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.5 },
|
||||||
|
{ "label": "Up", "matrix": [4, 15], "w": 1, "x": 16.25, "y": 4.5 },
|
||||||
|
{ "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.5 },
|
||||||
|
{ "label": "Alt", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.5 },
|
||||||
|
{ "label": "Win", "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.5 },
|
||||||
|
{ "label": "Space", "matrix": [5, 5], "w": 6.25, "x": 3.75, "y": 5.5 },
|
||||||
|
{ "label": "Win", "matrix": [5, 9], "w": 1.25, "x": 10, "y": 5.5 },
|
||||||
|
{ "label": "AltGr", "matrix": [5, 10], "w": 1.25, "x": 11.25, "y": 5.5 },
|
||||||
|
{ "label": "Ctrl", "matrix": [5, 11], "w": 1.25, "x": 12.5, "y": 5.5 },
|
||||||
|
{ "label": "Fn", "matrix": [5, 12], "w": 1.25, "x": 13.75, "y": 5.5 },
|
||||||
|
{ "label": "Left", "matrix": [5, 13], "w": 1, "x": 15.25, "y": 5.5 },
|
||||||
|
{ "label": "Down", "matrix": [5, 15], "w": 1, "x": 16.25, "y": 5.5 },
|
||||||
|
{ "label": "Right", "matrix": [5, 16], "w": 1, "x": 17.25, "y": 5.5 }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
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_DEL, KC_END, KC_PGDN,
|
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_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_NUHS, KC_ENT,
|
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_NUHS, KC_ENT,
|
||||||
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_UP,
|
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_UP,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_tkl_iso(
|
[1] = LAYOUT_tkl_iso(
|
||||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
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_DEL, KC_END, KC_PGDN,
|
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_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_NUHS, KC_ENT,
|
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_NUHS, KC_ENT,
|
||||||
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_UP,
|
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_UP,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_tkl_iso(
|
[1] = LAYOUT_tkl_iso(
|
||||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
||||||
|
|||||||
@@ -4,12 +4,13 @@ The CU80 v2 ISO is the PCB for round 2 of the CU80 TKL keyboard, with fixed layo
|
|||||||
|
|
||||||
To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB.
|
To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB.
|
||||||
|
|
||||||
* Keyboard maintainer: [rys](https://github.com/rys)
|
* Keyboard maintainer: [rys](https://github.com/rys) & [maz0r](https://github.com/maz0r)
|
||||||
* Hardware supported: [CU80 v2 ISO](https://imgur.com/yMZMt6j)
|
* Hardware supported: [CU80 v2 ISO](https://imgur.com/yMZMt6j)
|
||||||
* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/)
|
* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/)
|
||||||
|
|
||||||
Make and flash example for this keyboard (after setting up your build environment):
|
Make and flash example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make capsunlocked/cu80/v2_iso:default:flash
|
make capsunlocked/cu80/v2_iso:default:flash
|
||||||
|
make capsunlocked/cu80/v2_iso/rgb: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).
|
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).
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 CapsUnlocked
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* enable RGB matrix */
|
||||||
|
#define CU80_RGB
|
||||||
|
|
||||||
|
/* update the product for RGB Matrix variant in VIA/VIAL and Remap-keys.app */
|
||||||
|
#undef PRODUCT_ID
|
||||||
|
#undef PRODUCT
|
||||||
|
#define PRODUCT_ID 0x0083
|
||||||
|
#define PRODUCT CU80 v2 ISO RGB
|
||||||
|
|
||||||
|
/* moved to RGB specific */
|
||||||
|
#define RGB_MATRIX_KEYPRESSES
|
||||||
|
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
|
||||||
|
|
||||||
|
/* RGB firmware override */
|
||||||
|
#undef RGBLIGHT_ANIMATIONS
|
||||||
|
#undef RGBLIGHT_HUE_STEP
|
||||||
|
#undef RGBLIGHT_SAT_STEP
|
||||||
|
#undef RGBLIGHT_VAL_STEP
|
||||||
|
#undef RGBLIGHT_LIMIT_VAL
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# CU80 v2 ISO RGB
|
||||||
|
|
||||||
|
Overrides
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
RGB_MATRIX_ENABLE = yes # Enable RGB matrix
|
||||||
|
RGB_MATRIX_DRIVER = WS2812 # Set Driver to WS2812
|
||||||
@@ -7,19 +7,4 @@ BOOTLOADER = atmel-dfu
|
|||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
NO_USB_STARTUP_CHECK = yes # resolve possible sleep issue
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = no # 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 = yes # USB Nkey Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
|
||||||
UNICODE_ENABLE = no # Unicode
|
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
|
|
||||||
LAYOUTS = tkl_iso
|
|
||||||
@@ -16,3 +16,27 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "v2_iso.h"
|
#include "v2_iso.h"
|
||||||
|
#ifdef CU80_RGB
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
setPinOutput(E6);
|
||||||
|
matrix_init_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */
|
||||||
|
void rgb_matrix_indicators_kb(void) {
|
||||||
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
|
rgb_matrix_set_color(62, 255, 255, 255);
|
||||||
|
}
|
||||||
|
if (host_keyboard_led_state().scroll_lock) {
|
||||||
|
rgb_matrix_set_color(14, 255, 255, 255);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */
|
||||||
|
led_config_t g_led_config = {{{0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16}, {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}, {62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50}, {63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76}, {87, 86, 85, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 83, 82, 81, 80, 79, NO_LED, 78, 77}},
|
||||||
|
/*board layout accounting for led directions */
|
||||||
|
{{0, 0}, {28, 0}, {42, 0}, {56, 0}, {71, 0}, {85, 0}, {99, 0}, {113, 0}, {127, 0}, {141, 0}, {155, 0}, {169, 0}, {184, 0}, {198, 0}, {212, 0}, {226, 0}, {226, 26}, {212, 26}, {198, 26}, {184, 26}, {169, 26}, {155, 26}, {141, 26}, {127, 26}, {113, 26}, {99, 26}, {85, 26}, {71, 26}, {56, 26}, {42, 26}, {28, 26}, {14, 26}, {0, 26}, {0, 26}, {14, 26}, {28, 26}, {42, 26}, {56, 26}, {71, 26}, {85, 26}, {99, 26}, {113, 26}, {127, 26}, {141, 26}, {155, 26}, {169, 26}, {184, 26}, {198, 26}, {212, 26}, {226, 26}, {169, 38}, {155, 38}, {141, 38}, {127, 38}, {113, 38}, {99, 38}, {85, 38}, {71, 38}, {56, 38}, {42, 38}, {28, 38}, {14, 38}, {0, 38}, {0, 51}, {14, 51}, {28, 51}, {42, 51}, {56, 51}, {71, 51}, {85, 51}, {99, 51}, {113, 51}, {127, 51}, {141, 51}, {155, 51}, {169, 51}, {212, 51}, {226, 64}, {212, 64}, {184, 64}, {169, 64}, {155, 64}, {141, 64}, {127, 64}, {71, 64}, {28, 64}, {14, 64}, {0, 64}},
|
||||||
|
/* marks scroll and caps as function modifiers for led effects */
|
||||||
|
{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 1, 1, 1}};
|
||||||
|
#endif
|
||||||
@@ -1,101 +0,0 @@
|
|||||||
{
|
|
||||||
"keyboard_name": "CapsUnlocked CU80 v2 ISO RGB",
|
|
||||||
"maintainer": "rys",
|
|
||||||
"url": "https://caps-unlocked.com/cu80-round-2/",
|
|
||||||
"width": 18.25,
|
|
||||||
"height": 6.5,
|
|
||||||
"layouts": {
|
|
||||||
"LAYOUT_tkl_iso": {
|
|
||||||
"layout": [
|
|
||||||
{"label":"Esc", "x":0, "y":0},
|
|
||||||
{"label":"F1", "x":2, "y":0},
|
|
||||||
{"label":"F2", "x":3, "y":0},
|
|
||||||
{"label":"F3", "x":4, "y":0},
|
|
||||||
{"label":"F4", "x":5, "y":0},
|
|
||||||
{"label":"F5", "x":6.5, "y":0},
|
|
||||||
{"label":"F6", "x":7.5, "y":0},
|
|
||||||
{"label":"F7", "x":8.5, "y":0},
|
|
||||||
{"label":"F8", "x":9.5, "y":0},
|
|
||||||
{"label":"F9", "x":11, "y":0},
|
|
||||||
{"label":"F10", "x":12, "y":0},
|
|
||||||
{"label":"F11", "x":13, "y":0},
|
|
||||||
{"label":"F12", "x":14, "y":0},
|
|
||||||
{"label":"PrtSc", "x":15.25, "y":0},
|
|
||||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
|
||||||
{"label":"Pause", "x":17.25, "y":0},
|
|
||||||
{"label":"\u00ac", "x":0, "y":1.5},
|
|
||||||
{"label":"!", "x":1, "y":1.5},
|
|
||||||
{"label":"\"", "x":2, "y":1.5},
|
|
||||||
{"label":"£", "x":3, "y":1.5},
|
|
||||||
{"label":"$", "x":4, "y":1.5},
|
|
||||||
{"label":"%", "x":5, "y":1.5},
|
|
||||||
{"label":"^", "x":6, "y":1.5},
|
|
||||||
{"label":"&", "x":7, "y":1.5},
|
|
||||||
{"label":"*", "x":8, "y":1.5},
|
|
||||||
{"label":"(", "x":9, "y":1.5},
|
|
||||||
{"label":")", "x":10, "y":1.5},
|
|
||||||
{"label":"_", "x":11, "y":1.5},
|
|
||||||
{"label":"+", "x":12, "y":1.5},
|
|
||||||
{"label":"Backspace", "x":13, "y":1.5, "w":2},
|
|
||||||
{"label":"Insert", "x":15.25, "y":1.5},
|
|
||||||
{"label":"Home", "x":16.25, "y":1.5},
|
|
||||||
{"label":"PgUp", "x":17.25, "y":1.5},
|
|
||||||
{"label":"Tab", "x":0, "y":2.5, "w":1.5},
|
|
||||||
{"label":"Q", "x":1.5, "y":2.5},
|
|
||||||
{"label":"W", "x":2.5, "y":2.5},
|
|
||||||
{"label":"E", "x":3.5, "y":2.5},
|
|
||||||
{"label":"R", "x":4.5, "y":2.5},
|
|
||||||
{"label":"T", "x":5.5, "y":2.5},
|
|
||||||
{"label":"Y", "x":6.5, "y":2.5},
|
|
||||||
{"label":"U", "x":7.5, "y":2.5},
|
|
||||||
{"label":"I", "x":8.5, "y":2.5},
|
|
||||||
{"label":"O", "x":9.5, "y":2.5},
|
|
||||||
{"label":"P", "x":10.5, "y":2.5},
|
|
||||||
{"label":"{", "x":11.5, "y":2.5},
|
|
||||||
{"label":"}", "x":12.5, "y":2.5},
|
|
||||||
{"label":"Delete", "x":15.25, "y":2.5},
|
|
||||||
{"label":"End", "x":16.25, "y":2.5},
|
|
||||||
{"label":"PgDn", "x":17.25, "y":2.5},
|
|
||||||
{"label":"Caps Lock", "x":0, "y":3.5, "w":1.75},
|
|
||||||
{"label":"A", "x":1.75, "y":3.5},
|
|
||||||
{"label":"S", "x":2.75, "y":3.5},
|
|
||||||
{"label":"D", "x":3.75, "y":3.5},
|
|
||||||
{"label":"F", "x":4.75, "y":3.5},
|
|
||||||
{"label":"G", "x":5.75, "y":3.5},
|
|
||||||
{"label":"H", "x":6.75, "y":3.5},
|
|
||||||
{"label":"J", "x":7.75, "y":3.5},
|
|
||||||
{"label":"K", "x":8.75, "y":3.5},
|
|
||||||
{"label":"L", "x":9.75, "y":3.5},
|
|
||||||
{"label":":", "x":10.75, "y":3.5},
|
|
||||||
{"label":"@", "x":11.75, "y":3.5},
|
|
||||||
{"label":"~", "x":12.75, "y":3.5},
|
|
||||||
{"label":"Enter", "x":13.75, "y":2.5, "w":1.25, "h":2},
|
|
||||||
{"label":"Shift", "x":0, "y":4.5, "w":1.25},
|
|
||||||
{"label":"|", "x":1.25, "y":4.5},
|
|
||||||
{"label":"Z", "x":2.25, "y":4.5},
|
|
||||||
{"label":"X", "x":3.25, "y":4.5},
|
|
||||||
{"label":"C", "x":4.25, "y":4.5},
|
|
||||||
{"label":"V", "x":5.25, "y":4.5},
|
|
||||||
{"label":"B", "x":6.25, "y":4.5},
|
|
||||||
{"label":"N", "x":7.25, "y":4.5},
|
|
||||||
{"label":"M", "x":8.25, "y":4.5},
|
|
||||||
{"label":"<", "x":9.25, "y":4.5},
|
|
||||||
{"label":">", "x":10.25, "y":4.5},
|
|
||||||
{"label":"?", "x":11.25, "y":4.5},
|
|
||||||
{"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
|
|
||||||
{"label":"Up", "x":16.25, "y":4.5},
|
|
||||||
{"label":"Ctrl", "x":0, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Alt", "x":1.25, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Win", "x":2.5, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Space", "x":3.75, "y":5.5, "w":6.25},
|
|
||||||
{"label":"Win", "x":10, "y":5.5, "w":1.25},
|
|
||||||
{"label":"AltGr", "x":11.25, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Ctrl", "x":12.5, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Fn", "x":13.75, "y":5.5, "w":1.25},
|
|
||||||
{"label":"Left", "x":15.25, "y":5.5},
|
|
||||||
{"label":"Down", "x":16.25, "y":5.5},
|
|
||||||
{"label":"Right", "x":17.25, "y":5.5}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2021 CapsUnlocked
|
|
||||||
|
|
||||||
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_tkl_iso(
|
|
||||||
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_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_NUHS, KC_ENT,
|
|
||||||
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_UP,
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
|
||||||
),
|
|
||||||
[1] = LAYOUT_tkl_iso(
|
|
||||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
|
||||||
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
|
|
||||||
),
|
|
||||||
};
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# The default ISO keymap for the CU80
|
|
||||||
|
|
||||||
This CU80 is keymap is for the fixed ISO variant with fully populated bottom row.
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
/* Copyright 2021 CapsUnlocked
|
|
||||||
*
|
|
||||||
* 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_tkl_iso(
|
|
||||||
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_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_NUHS, KC_ENT,
|
|
||||||
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_UP,
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
|
||||||
),
|
|
||||||
[1] = LAYOUT_tkl_iso(
|
|
||||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
|
|
||||||
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
|
|
||||||
),
|
|
||||||
[2] = LAYOUT_tkl_iso(
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
|
||||||
),
|
|
||||||
[3] = LAYOUT_tkl_iso(
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
|
||||||
),
|
|
||||||
};
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# CU80 v2 ISO RGB
|
|
||||||
|
|
||||||
The CU80 v2 ISO is the PCB for round 2 of the CU80 TKL keyboard, with fixed layout ISO and VIA support.
|
|
||||||
|
|
||||||
This firmware adds RGB matrix support.
|
|
||||||
|
|
||||||
To place the keyboard into bootloader mode in order to flash it, hold the ESC key while plugging the board in, or use the reset button on the back of the PCB.
|
|
||||||
|
|
||||||
* Keyboard maintainer: [rys](https://github.com/rys)
|
|
||||||
* Hardware supported: [CU80 v2 ISO](https://imgur.com/yMZMt6j)
|
|
||||||
* Hardware availability: [CapsUnlocked](https://caps-unlocked.com/cu80-round-2/)
|
|
||||||
|
|
||||||
Make and flash example for this keyboard (after setting up your build environment):
|
|
||||||
|
|
||||||
make capsunlocked/cu80/v2_iso_rgb:default:flash
|
|
||||||
make capsunlocked/cu80/v2_iso_rgb:via: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).
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2021 CapsUnlocked
|
|
||||||
|
|
||||||
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 "v2_iso_rgb.h"
|
|
||||||
#include "rgb_matrix_types.h"
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
setPinOutput(E6);
|
|
||||||
matrix_init_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set LED 62 (Caps Lock) and LED 14 (Scroll Lock) when key active */
|
|
||||||
void rgb_matrix_indicators_kb(void) {
|
|
||||||
if (host_keyboard_led_state().caps_lock) {
|
|
||||||
rgb_matrix_set_color(62, 255, 255, 255);
|
|
||||||
}
|
|
||||||
if (host_keyboard_led_state().scroll_lock) {
|
|
||||||
rgb_matrix_set_color(14, 255, 255, 255);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Leds on the CU80 go ltr > rtl > ltr > rlt > Ltr > rtl */
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
{ 0, NO_LED, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, },
|
|
||||||
{ 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16,},
|
|
||||||
{ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,},
|
|
||||||
{ 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50,},
|
|
||||||
{ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, NO_LED, NO_LED, 76,},
|
|
||||||
{ 87, 86, 85, NO_LED, NO_LED, 84, NO_LED, NO_LED, NO_LED, 83, 82, 81, 80, 79, NO_LED, 78, 77}
|
|
||||||
},
|
|
||||||
/*board layout accounting for led directions */
|
|
||||||
{
|
|
||||||
{0,0}, {28,0}, {42,0}, {56,0}, {71,0}, {85,0}, {99,0}, {113,0}, {127,0}, {141,0}, {155,0}, {169,0}, {184,0}, {198,0}, {212,0}, {226,0},
|
|
||||||
{226,26}, {212,26}, {198,26}, {184,26}, {169,26}, {155,26}, {141,26}, {127,26}, {113,26}, {99,26}, {85,26}, {71,26}, {56,26}, {42,26}, {28,26}, {14,26}, {0,26},
|
|
||||||
{0,26}, {14,26}, {28,26}, {42,26}, {56,26}, {71,26}, {85,26}, {99,26}, {113,26}, {127,26}, {141,26}, {155,26}, {169,26}, {184,26}, {198,26}, {212,26}, {226,26},
|
|
||||||
{169,38}, {155,38}, {141,38}, {127,38}, {113,38}, {99,38}, {85,38}, {71,38}, {56,38}, {42,38}, {28,38}, {14,38}, {0,38},
|
|
||||||
{0,51}, {14,51}, {28,51}, {42,51}, {56,51}, {71,51}, {85,51}, {99,51}, {113,51}, {127,51}, {141,51}, {155,51}, {169,51}, {212,51},
|
|
||||||
{226,64}, {212,64}, {184,64}, {169,64}, {155,64}, {141,64}, {127,64}, {71,64}, {28,64}, {14,64}, {0,64}
|
|
||||||
},
|
|
||||||
/* marks scroll and caps as function modifiers for led effects */
|
|
||||||
{
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
|
||||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2021 CapsUnlocked
|
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
/* This a shortcut to help you visually see your layout.
|
|
||||||
*
|
|
||||||
* 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_tkl_iso( \
|
|
||||||
K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \
|
|
||||||
\
|
|
||||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \
|
|
||||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, \
|
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K213, \
|
|
||||||
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K415, \
|
|
||||||
K500, K501, K502, K505, K509, K510, K511, K512, K513, K515, K516 \
|
|
||||||
) { \
|
|
||||||
{ K000, KC_NO, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \
|
|
||||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \
|
|
||||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \
|
|
||||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, KC_NO, K415, KC_NO }, \
|
|
||||||
{ K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, K509, K510, K511, K512, K513, KC_NO, K515, K516 }, \
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/* Copyright 2021 Yiancar-Designs
|
||||||
|
*
|
||||||
|
* 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 "carbo65.h"
|
||||||
|
|
||||||
|
void led_init_ports(void) {
|
||||||
|
// Set our LED pins as open drain outputs
|
||||||
|
palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
/* Copyright 2021 Yiancar-Designs
|
||||||
|
*
|
||||||
|
* 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 XXX KC_NO
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \
|
||||||
|
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 Yiancar-Designs
|
||||||
|
|
||||||
|
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 0x8968
|
||||||
|
#define PRODUCT_ID 0x4336
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Yiancar-Designs
|
||||||
|
#define PRODUCT Carbo65
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 15
|
||||||
|
|
||||||
|
#define MATRIX_ROW_PINS { A2, B9, B8, B5, B4 }
|
||||||
|
#define MATRIX_COL_PINS { A1, B1, B0, A7, A6, A5, A4, A3, B2, B10, B11, B12, B13, B14, B15 }
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Ensure we jump to bootloader if the RESET keycode was pressed */
|
||||||
|
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
|
||||||
|
|
||||||
|
/* Indicator LEDs */
|
||||||
|
#define LED_CAPS_LOCK_PIN B6
|
||||||
|
#define LED_PIN_ON_STATE 0
|
||||||
|
|
||||||
|
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||||
|
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||||
|
*/
|
||||||
|
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force NKRO
|
||||||
|
*
|
||||||
|
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||||
|
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||||
|
* makefile for this to work.)
|
||||||
|
*
|
||||||
|
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||||
|
* until the next keyboard reset.
|
||||||
|
*
|
||||||
|
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||||
|
* fully operational during normal computer usage.
|
||||||
|
*
|
||||||
|
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||||
|
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||||
|
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||||
|
* power-up.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//#define FORCE_NKRO
|
||||||
|
|
||||||
|
/* Bootmagic Lite key configuration */
|
||||||
|
#define BOOTMAGIC_LITE_ROW 0
|
||||||
|
#define BOOTMAGIC_LITE_COLUMN 0
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Carbo65",
|
||||||
|
"url": "https://yiancar-designs.com",
|
||||||
|
"maintainer": "Yiancar-Designs",
|
||||||
|
"width": 16,
|
||||||
|
"height": 5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"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":15, "y":0}, {"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":15, "y":1}, {"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, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"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":15, "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, "w":1.25}, {"x":11.25, "y":4, "w":1.25}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/* Copyright 2021 Yiancar-Designs
|
||||||
|
*
|
||||||
|
* 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( /* Base */
|
||||||
|
KC_GESC, 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_HOME,
|
||||||
|
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_PGUP,
|
||||||
|
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_PGDN,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all( /* FN */
|
||||||
|
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_DEL, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||||
|
};
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# The default keymap for Carbo 65. VIA support disabled.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/* Copyright 2021 Yiancar-Designs
|
||||||
|
*
|
||||||
|
* 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( /* Base */
|
||||||
|
KC_GESC, 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_HOME,
|
||||||
|
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_PGUP,
|
||||||
|
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_PGDN,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all( /* FN */
|
||||||
|
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_DEL, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[2] = LAYOUT_all( /* Empty for dynamic keymaps */
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( /* Empty for dynamic keymaps */
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,5 @@
|
|||||||
|
# The default keymap for Carbo 65. VIA support enabled.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
File renamed without changes.
@@ -0,0 +1,32 @@
|
|||||||
|
# Carbo 65
|
||||||
|
|
||||||
|
This is a standard 65% layout PCB. It supports VIA.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
|
||||||
|
* Hardware Supported: A TKL keyboard with STM32F072CB
|
||||||
|
* Hardware Availability: https://www.tantsim.com
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make carbo65: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
|
||||||
|
|
||||||
|
- Unplug
|
||||||
|
- Hold Escape
|
||||||
|
- Plug In
|
||||||
|
- Unplug
|
||||||
|
- Release Escape
|
||||||
|
|
||||||
|
### Flash
|
||||||
|
|
||||||
|
- Unplug
|
||||||
|
- Hold Escape
|
||||||
|
- Plug In
|
||||||
|
- Flash using QMK Toolbox or CLI (`make carbo65:<keymap>:flash`)
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = STM32F072
|
||||||
|
|
||||||
|
# Do not put the microcontroller into power saving mode
|
||||||
|
# when we get USB suspend event. We want it to keep updating
|
||||||
|
# backlight effects.
|
||||||
|
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||||
|
|
||||||
|
# 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 = no # 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 = 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
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
/* Copyright 2021 AAClawson (AlisGraveNil)
|
||||||
|
*
|
||||||
|
* 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 0x7767
|
||||||
|
#define PRODUCT_ID 0x0000
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER AlisGraveNil
|
||||||
|
#define PRODUCT doodle
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 2
|
||||||
|
#define MATRIX_COLS 3
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 { D4, C6 }
|
||||||
|
#define MATRIX_COL_PINS { D7, F4, E6 }
|
||||||
|
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright 2021 AAClawson (AlisGraveNil)
|
||||||
|
*
|
||||||
|
* 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 "doodle.h"
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2021 AAClawson (AlisGraveNil)
|
||||||
|
*
|
||||||
|
* 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( \
|
||||||
|
K00, K01, K02, \
|
||||||
|
K10, K11, K12 \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02 }, \
|
||||||
|
{ K10, K11, K12 } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "doodle",
|
||||||
|
"url": "www.clawboards.xyz",
|
||||||
|
"maintainer": "AAClawson (AlisGraveNil)",
|
||||||
|
"width": 3,
|
||||||
|
"height": 2,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"K00 (D4,D7)", "x":0, "y":0},
|
||||||
|
{"label":"K01 (D4,F4)", "x":1, "y":0},
|
||||||
|
{"label":"K02 (D4,E6)", "x":2, "y":0},
|
||||||
|
{"label":"K10 (C6,D7)", "x":0, "y":1},
|
||||||
|
{"label":"K11 (C6,F4)", "x":1, "y":1},
|
||||||
|
{"label":"K12 (C6,E6)", "x":2, "y":1}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
/* Copyright 2021 AAClawson (AlisGraveNil)
|
||||||
|
*
|
||||||
|
* 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(
|
||||||
|
KC_1, KC_2, KC_3,
|
||||||
|
KC_4, KC_5, KC_6
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# 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 = 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 = 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
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
/* Copyright 2021 Regan Palmer
|
||||||
|
*
|
||||||
|
* 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 0x726B
|
||||||
|
#define PRODUCT_ID 0x645C
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER rainkeebs
|
||||||
|
#define PRODUCT Delilah
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 4
|
||||||
|
#define MATRIX_COLS 12
|
||||||
|
|
||||||
|
/* key matrix pins */
|
||||||
|
#define MATRIX_ROW_PINS { B5, B6, C6, C7 }
|
||||||
|
#define MATRIX_COL_PINS { F7, F6, F5, F4, F0, E6, D5, D3, D4, D6, D7, B4 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
|
||||||
|
#define RGB_DI_PIN B3
|
||||||
|
#ifdef RGB_DI_PIN
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 8
|
||||||
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/* Copyright 2021 Regan Palmer
|
||||||
|
*
|
||||||
|
* 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 "delilah.h"
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
/* Copyright 2021 Regan Palmer
|
||||||
|
*
|
||||||
|
* 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 "quantum.h"
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K211, \
|
||||||
|
K300, K301, K302, K303, K306, K308, K309, K311 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, KC_NO, K211 }, \
|
||||||
|
{ K300, K301, K302, K303, KC_NO, KC_NO, K306, KC_NO, K308, K309, KC_NO, K311 } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Delilah",
|
||||||
|
"url": "https://www.rainkeebs.mx/product/delilah-keyboard-group-buy",
|
||||||
|
"maintainer": "rainkeebs",
|
||||||
|
"width": 12.25,
|
||||||
|
"height": 4,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back<br>Space", "x":11, "y":0, "w":1.25}, {"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1}, {"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"Shift", "x":10.75, "y":2, "w":1.5}, {"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"Win", "x":1.25, "y":3}, {"label":"Alt", "x":2.25, "y":3}, {"label":"225", "x":3.25, "y":3, "w":2.25}, {"label":"275", "x":5.5, "y":3, "w":2.75}, {"label":"Alt", "x":9.0, "y":3}, {"label":"Win", "x":10.0, "y":3}, {"label":"Ctrl", "x":11.0, "y":3, "w":1.25}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2021 Regan Palmer
|
||||||
|
*
|
||||||
|
* 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] = {
|
||||||
|
|
||||||
|
LAYOUT(
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MO(2),
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
|
||||||
|
|
||||||
|
LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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,43 @@
|
|||||||
|
/* Copyright 2021 Regan Palmer
|
||||||
|
*
|
||||||
|
* 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] = {
|
||||||
|
|
||||||
|
LAYOUT(
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_FN13,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_FN23, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
|
||||||
|
|
||||||
|
LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
LAYOUT(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# Delilah
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A 12.25u, traditional stagger, 40% keyboard. Designed to keep another punctuation key on base layer while still being compact.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: Rain
|
||||||
|
* Hardware Supported: Delilah PCB v1.0, v1.1
|
||||||
|
* Hardware Availability: [rainkeebs](https://www.rainkeebs.mx/)
|
||||||
|
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
qmk compile -kb delilah -kb default
|
||||||
|
|
||||||
|
To reset the keyboard, hold the top left key while plugging in, or hit the reset button near the USB port
|
||||||
|
|
||||||
|
Install example for this keyboard:
|
||||||
|
|
||||||
|
qmk flash -kb delilah -km 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).
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# comment out to disable the options.
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
AUDIO_ENABLE = no
|
||||||
|
RGBLIGHT_ENABLE = yes
|
||||||
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
|
_______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SLCK, KC_PAUS, RESET,
|
||||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST,
|
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EEP_RST,
|
||||||
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
|
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
|
||||||
_______, _______, _______, TO(4), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
|
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
|
||||||
),
|
),
|
||||||
[2] = LAYOUT(
|
[2] = LAYOUT(
|
||||||
_______, 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_DEL,
|
_______, 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_DEL,
|
||||||
@@ -28,12 +28,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_PENT,
|
_______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_PENT,
|
||||||
_______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
|
_______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
|
||||||
_______, KC_P0, KC_PDOT, KC_PENT, KC_P0, KC_PDOT, _______, _______, _______
|
_______, KC_P0, KC_PDOT, KC_PENT, KC_P0, KC_PDOT, _______, _______, _______
|
||||||
),
|
|
||||||
[4] = LAYOUT(
|
|
||||||
KC_GESC, 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_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,
|
|
||||||
CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL),
|
|
||||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, TO(0), KC_LEFT, KC_DOWN, KC_RGHT
|
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# Mechmaster48 keymap
|
||||||
|
|
||||||
|
-Personal keyboard layout
|
||||||
|
-Mainly following the default layout.
|
||||||
|
-Picture of the map below with 3 total layers 0-2
|
||||||
|
-More to come as I figure QMK out
|
||||||
|
|
||||||
|
## Layer 0
|
||||||
|

|
||||||
|
|
||||||
|
## Layer 1
|
||||||
|

|
||||||
|
|
||||||
|
## Layer 2
|
||||||
|

|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 MechMaster48 [email protected]
|
||||||
|
|
||||||
|
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 is just a diagram that makes it easier for me to see what keys I have bound and where.
|
||||||
|
-The README has a better image to see the exact keymap.
|
||||||
|
|
||||||
|
--Layer 0--
|
||||||
|
_________________________________________________________________________________________________
|
||||||
|
|[esc] [1!]-[2@]-[3#]-[4$]-[5%]-[6^]-[7&]-[8*]-[9(]-[0)]-[-_]-[+=] [ BackSpace ]|
|
||||||
|
|[ Tab ] [Q]-[W]-[E]-[R]-[T]-[Y]-[U]-[I]-[O]-[P]-[[{]-[]}] [ |\ ]|
|
||||||
|
|[CapsLock] [A]-[S]-[D]-[F]-[G]-[H]-[J]-[K]-[L]-[;/:]-['/"] [Enter]|
|
||||||
|
|[ Shift ] [Z]-[X]-[C]-[V]-[B]-[N]-[M]-[</,]-[>/.]-[?//] [↑][del]|
|
||||||
|
|[ctrl][win][alt] [____________________SPACE__________________][fn/OSL(1)][ctrl][←][↓][→] |
|
||||||
|
|_________________________________________________________________________________________________|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--Layer 1--
|
||||||
|
_____________________________________________________________________________________
|
||||||
|
|[TO(2)] [F1]-[F2]-[F3]-[F4]-[F5]-[F6]-[F7]-[F8]-[F9]-[F10]-[F11]-[F12] [ ▼ ]|
|
||||||
|
|[ ▼ ] [~]-[▼]-[▼]-[▼]-[▼]-[▼]-[PS]-[▼]-[▼]-[▼]-[play/pause]-[▼] [ RESET ]|
|
||||||
|
|[ ▼ ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[PU]-[▼]-[▼] [ ▼ ]|
|
||||||
|
|[ Shift ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[PD]-[▼] [vol↑] [ ▼ ]|
|
||||||
|
|[ctrl][ ▼ ][alt] [_________________▼________________] [▼][ ▼ ][←prvs][vol↓][next→]|
|
||||||
|
|_____________________________________________________________________________________|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--Layer 2--
|
||||||
|
_________________________________________________________________________________________________
|
||||||
|
|[ ▼ ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼] [ ▼ ]|
|
||||||
|
|[ ▼ ] [RGBTgg]-[▼]-[Hue+]-[Hue-]-[Sat+]-[Sat-]-[Brt+]-[Brt-]-[RGBmd]-[▼]-[▼]-[▼] [ RESET ]|
|
||||||
|
|[ ▼ ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼] [ ▼ ]|
|
||||||
|
|[ ▼ ] [▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼]-[▼] [ ▼ ][ ▼ ]|
|
||||||
|
|[ ▼ ][ ▼ ][▼] [_______________TO(0)________________] [▼][ ▼ ] [ ▼ ][ ▼ ][ ▼ ]|
|
||||||
|
|_________________________________________________________________________________________________|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_GESC, 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_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,
|
||||||
|
CTL_T(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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL),
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, OSL(1), KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
TO(2), 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_DEL,
|
||||||
|
_______, KC_GRV, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, KC_MPLY, _______, RESET,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, EEP_RST,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______, KC_VOLU, KC_MUTE,
|
||||||
|
KC_LCTL, _______, KC_LALT, TO(0), _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
|
||||||
|
),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, RGB_TOG, _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, RESET,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EEP_RST,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, TO(0), _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
+19
-23
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright 2021 CapsUnlocked
|
Copyright 2021 Swiftrax <swiftrax@gmail.com>
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -20,33 +20,29 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0x4355
|
#define VENDOR_ID 0x04D8
|
||||||
#define PRODUCT_ID 0x0083
|
#define PRODUCT_ID 0xE96C
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER CapsUnlocked
|
#define MANUFACTURER Swiftrax
|
||||||
#define PRODUCT CU80 v2 ISO RGB
|
#define PRODUCT Siris
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 6
|
#define MATRIX_ROWS 5
|
||||||
#define MATRIX_COLS 17
|
#define MATRIX_COLS 12
|
||||||
|
|
||||||
#define MATRIX_ROW_PINS { D3, D2, B7, F1, C7, D5 }
|
// ROWS: Top to bottom, COLS: Left to right
|
||||||
#define MATRIX_COL_PINS { B0, B1, B2, B3, F4, F5, F6, F7, B6, B5, D7, B4, D6, F0, D1, C6, D4 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
/* COL2ROW, ROW2COL */
|
#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 }
|
||||||
|
#define MATRIX_COL_PINS { D2, D1, D0, B7, B3, B2, F0, F1, F4, F5, F6, F7 }
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
#define DIODE_DIRECTION COL2ROW
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
/* define if matrix has ghost */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
#define ENCODERS_PAD_A { D3, C6 }
|
||||||
|
#define ENCODERS_PAD_B { D5, B6 }
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
|
||||||
/* Locking resynchronize hack */
|
|
||||||
#define LOCKING_RESYNC_ENABLE
|
|
||||||
|
|
||||||
/* Define RGB */
|
|
||||||
#define RGB_DI_PIN E6
|
|
||||||
#define DRIVER_LED_TOTAL 88
|
|
||||||
#define RGBLED_NUM 88
|
|
||||||
#define RGB_MATRIX_KEYPRESSES
|
|
||||||
#define RGBLIGHT_LIMIT_VAL 50
|
|
||||||
@@ -0,0 +1,293 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name":"Siris",
|
||||||
|
"url":"https://github.com/swiftrax",
|
||||||
|
"maintainer":"Swiftrax",
|
||||||
|
"width":17.75,
|
||||||
|
"height":5.5,
|
||||||
|
"layouts":{
|
||||||
|
"LAYOUT":{
|
||||||
|
"layout":[
|
||||||
|
{
|
||||||
|
"label":"0,3",
|
||||||
|
"x":3.5,
|
||||||
|
"y":0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,8",
|
||||||
|
"x":13.75,
|
||||||
|
"y":0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,2",
|
||||||
|
"x":2.5,
|
||||||
|
"y":0.125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,4",
|
||||||
|
"x":4.5,
|
||||||
|
"y":0.125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,7",
|
||||||
|
"x":12.75,
|
||||||
|
"y":0.13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,9",
|
||||||
|
"x":14.75,
|
||||||
|
"y":0.13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,5",
|
||||||
|
"x":5.5,
|
||||||
|
"y":0.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,6",
|
||||||
|
"x":11.75,
|
||||||
|
"y":0.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,1",
|
||||||
|
"x":1.5,
|
||||||
|
"y":0.375
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,0",
|
||||||
|
"x":0.5,
|
||||||
|
"y":0.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,10",
|
||||||
|
"x":15.75,
|
||||||
|
"y":0.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"0,11",
|
||||||
|
"x":16.75,
|
||||||
|
"y":0.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,3",
|
||||||
|
"x":3.5,
|
||||||
|
"y":1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,8",
|
||||||
|
"x":13.75,
|
||||||
|
"y":1.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,2",
|
||||||
|
"x":2.5,
|
||||||
|
"y":1.125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,4",
|
||||||
|
"x":4.5,
|
||||||
|
"y":1.125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,7",
|
||||||
|
"x":12.75,
|
||||||
|
"y":1.13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,9",
|
||||||
|
"x":14.75,
|
||||||
|
"y":1.13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,5",
|
||||||
|
"x":5.5,
|
||||||
|
"y":1.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,6",
|
||||||
|
"x":11.75,
|
||||||
|
"y":1.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,1",
|
||||||
|
"x":1.5,
|
||||||
|
"y":1.375
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,0",
|
||||||
|
"x":0.5,
|
||||||
|
"y":1.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,10",
|
||||||
|
"x":15.75,
|
||||||
|
"y":1.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"1,11",
|
||||||
|
"x":16.75,
|
||||||
|
"y":1.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,3",
|
||||||
|
"x":3.5,
|
||||||
|
"y":2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,8",
|
||||||
|
"x":13.75,
|
||||||
|
"y":2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,2",
|
||||||
|
"x":2.5,
|
||||||
|
"y":2.125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,4",
|
||||||
|
"x":4.5,
|
||||||
|
"y":2.125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,7",
|
||||||
|
"x":12.75,
|
||||||
|
"y":2.13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,9",
|
||||||
|
"x":14.75,
|
||||||
|
"y":2.13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,5",
|
||||||
|
"x":5.5,
|
||||||
|
"y":2.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,6",
|
||||||
|
"x":11.75,
|
||||||
|
"y":2.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,1",
|
||||||
|
"x":1.5,
|
||||||
|
"y":2.375
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,0",
|
||||||
|
"x":0.5,
|
||||||
|
"y":2.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,10",
|
||||||
|
"x":15.75,
|
||||||
|
"y":2.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"2,11",
|
||||||
|
"x":16.75,
|
||||||
|
"y":2.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"4,5",
|
||||||
|
"x":6.75,
|
||||||
|
"y":2.63
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"4,6",
|
||||||
|
"x":10.5,
|
||||||
|
"y":2.63
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,3",
|
||||||
|
"x":3.5,
|
||||||
|
"y":3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,8",
|
||||||
|
"x":13.75,
|
||||||
|
"y":3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,2",
|
||||||
|
"x":2.5,
|
||||||
|
"y":3.125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,4",
|
||||||
|
"x":4.5,
|
||||||
|
"y":3.125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,7",
|
||||||
|
"x":12.75,
|
||||||
|
"y":3.13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,9",
|
||||||
|
"x":14.75,
|
||||||
|
"y":3.13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,5",
|
||||||
|
"x":5.5,
|
||||||
|
"y":3.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,6",
|
||||||
|
"x":11.75,
|
||||||
|
"y":3.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,1",
|
||||||
|
"x":1.5,
|
||||||
|
"y":3.375
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,0",
|
||||||
|
"x":0.5,
|
||||||
|
"y":3.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,10",
|
||||||
|
"x":15.75,
|
||||||
|
"y":3.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"3,11",
|
||||||
|
"x":16.75,
|
||||||
|
"y":3.38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"4,2",
|
||||||
|
"x":4.25,
|
||||||
|
"y":4.15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"4,0",
|
||||||
|
"x":13,
|
||||||
|
"y":4.15
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"4,3",
|
||||||
|
"x":5.25,
|
||||||
|
"y":4.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label":"4,8",
|
||||||
|
"x":12,
|
||||||
|
"y":4.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x":6.5,
|
||||||
|
"y":4.5,
|
||||||
|
"w":1.5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x":10.25,
|
||||||
|
"y":4.5,
|
||||||
|
"w":1.5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 Swiftrax <[email protected]>
|
||||||
|
|
||||||
|
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(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_MINS,
|
||||||
|
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
|
||||||
|
KC_LGUI, MO(1), KC_SPC, KC_LBRC, KC_RBRC, KC_ENT, MO(2), KC_BSPC),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
[3] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
};
|
||||||
|
|
||||||
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
|
if (index == 0) { /* First encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_PGDN);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_PGUP);
|
||||||
|
}
|
||||||
|
} else if (index == 1) { /* Second encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_DOWN);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_UP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 Swiftrax <[email protected]>
|
||||||
|
|
||||||
|
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(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_MINS,
|
||||||
|
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
|
||||||
|
KC_LGUI, MO(1), KC_SPC, KC_LBRC, KC_RBRC, KC_ENT, MO(2), KC_BSPC),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
[3] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
};
|
||||||
|
|
||||||
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
|
if (index == 0) { /* First encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_PGDN);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_PGUP);
|
||||||
|
}
|
||||||
|
} else if (index == 1) { /* Second encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_DOWN);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_UP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Siris
|
||||||
|
|
||||||
|
Hotswap fixed split keyboard
|
||||||
|
|
||||||
|
* Keyboard Maintainer: Swiftrax
|
||||||
|
* Hardware Supported: Siris
|
||||||
|
* Hardware Availability: https://ffkeebs.com/
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make ffkeebs/siris: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).
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# 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 = no # 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
|
||||||
|
ENCODER_ENABLE = yes # Rotary Encoder
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 Swiftrax <[email protected]>
|
||||||
|
|
||||||
|
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 "siris.h"
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 Swiftrax <[email protected]>
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
// readability
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
|
||||||
|
K42, K43, K44, K45, K46, K47, K48, K49 \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B }, \
|
||||||
|
{ XXX, XXX, K42, K43, K44, K45, K46, K47, K48, K49, XXX, XXX } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 <[email protected]>
|
||||||
|
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 "bks65solder.h"
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 <[email protected]>
|
||||||
|
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"
|
||||||
|
|
||||||
|
/* BKS65 Solder Solder Keymap Definitions */
|
||||||
|
#define LAYOUT_65_ansi( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K45, K46, K48, K49, K4A, K4B, K4C, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, K4D, K4E } \
|
||||||
|
}
|
||||||
Loaded 100 of 386 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user