Compare commits
76 Commits
breakpoint
...
0.21.2
Author | SHA1 | Date | |
---|---|---|---|
![]() |
884be6c1ba | ||
![]() |
a2171ff4e8 | ||
![]() |
d57acc7c5c | ||
![]() |
94311e4dc2 | ||
![]() |
5263dfb88d | ||
![]() |
9b36ec5351 | ||
![]() |
66f06a175f | ||
![]() |
8f980ea69f | ||
![]() |
bbba1d07f9 | ||
![]() |
3703d5a83b | ||
![]() |
a2c17d5518 | ||
![]() |
92203440cd | ||
![]() |
87858108b5 | ||
![]() |
baa9252db2 | ||
![]() |
776e980ac1 | ||
![]() |
f5ee7b7ed8 | ||
![]() |
4055f2a937 | ||
![]() |
55987542e1 | ||
![]() |
1194a6f0dd | ||
![]() |
e8b7244bb5 | ||
![]() |
dabbc93df4 | ||
![]() |
ca6921b1ba | ||
![]() |
2d838d8ba9 | ||
![]() |
53f20b197b | ||
![]() |
fdb2851187 | ||
![]() |
40c3b71569 | ||
![]() |
33c93d3a96 | ||
![]() |
1914fbd951 | ||
![]() |
bfdfeb6f3f | ||
![]() |
8cd9f07c30 | ||
![]() |
dd8b4dce55 | ||
![]() |
57b23b8d96 | ||
![]() |
eee9a53a80 | ||
![]() |
08289fc53a | ||
![]() |
f35cb924e9 | ||
![]() |
e01e3fc866 | ||
![]() |
a875f7f038 | ||
![]() |
e3b80b4151 | ||
![]() |
04b7a262e0 | ||
![]() |
232281946d | ||
![]() |
a9f677b518 | ||
![]() |
4c6c387724 | ||
![]() |
d042b92e7a | ||
![]() |
f136171753 | ||
![]() |
dffbe1e655 | ||
![]() |
57c5f3e674 | ||
![]() |
ae0342c12a | ||
![]() |
bb57aa28e5 | ||
![]() |
45d060805e | ||
![]() |
dd9712c40e | ||
![]() |
97014f0722 | ||
![]() |
eaef139fc3 | ||
![]() |
e1c4b7ce30 | ||
![]() |
43ce7b0df5 | ||
![]() |
9167e66ca7 | ||
![]() |
04812e9443 | ||
![]() |
8f108d1bbc | ||
![]() |
7b57c4ecf6 | ||
![]() |
67b9f56f22 | ||
![]() |
698e31a2b0 | ||
![]() |
23a9d1ffc7 | ||
![]() |
f6bbd4d2c5 | ||
![]() |
f4a608255a | ||
![]() |
d1991f5307 | ||
![]() |
ae5bcaac0d | ||
![]() |
b110a09886 | ||
![]() |
c805c10672 | ||
![]() |
0c9c4a4e56 | ||
![]() |
81bc0925e9 | ||
![]() |
c2ddd77e0d | ||
![]() |
3a3e5abac9 | ||
![]() |
1411c79aef | ||
![]() |
913691b9f0 | ||
![]() |
1e2deddd43 | ||
![]() |
42c6920e23 | ||
![]() |
d02ff2edd9 |
2
.github/workflows/auto_tag.yml
vendored
2
.github/workflows/auto_tag.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Bump version and push tag
|
||||
uses: anothrNick/github-tag-action@1.62.0
|
||||
uses: anothrNick/github-tag-action@1.66.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
DEFAULT_BUMP: 'patch'
|
||||
|
2
.github/workflows/format.yml
vendored
2
.github/workflows/format.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
||||
|
||||
- name: Get changed files
|
||||
id: file_changes
|
||||
uses: tj-actions/changed-files@v35
|
||||
uses: tj-actions/changed-files@v36
|
||||
|
||||
- name: Run qmk formatters
|
||||
shell: 'bash {0}'
|
||||
|
2
.github/workflows/lint.yml
vendored
2
.github/workflows/lint.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
|
||||
- name: Get changed files
|
||||
id: file_changes
|
||||
uses: tj-actions/changed-files@v35
|
||||
uses: tj-actions/changed-files@v36
|
||||
|
||||
- name: Print info
|
||||
run: |
|
||||
|
@@ -139,7 +139,7 @@
|
||||
* Breaking Changes
|
||||
* [Overview](breaking_changes.md)
|
||||
* [My Pull Request Was Flagged](breaking_changes_instructions.md)
|
||||
* [Most Recent ChangeLog](ChangeLog/20230226.md "QMK v0.20.0 - 2023 Feb 26")
|
||||
* [Most Recent ChangeLog](ChangeLog/20230528.md "QMK v0.21.0 - 2023 May 28")
|
||||
* [Past Breaking Changes](breaking_changes_history.md)
|
||||
|
||||
* C Development
|
||||
|
@@ -119,7 +119,6 @@ This happens immediately after the previous `develop` branch is merged to `maste
|
||||
* `git commit -m 'Branch point for <DATE> Breaking Change'`
|
||||
* `git tag breakpoint_<YYYY>_<MM>_<DD>`
|
||||
* `git push upstream breakpoint_<YYYY>_<MM>_<DD>`
|
||||
* `git push upstream develop`
|
||||
|
||||
* All submodules under `lib` now need to be checked against their QMK-based forks:
|
||||
* `git submodule foreach git log -n1`
|
||||
|
@@ -155,7 +155,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
uint8_t current_layer = get_highest_layer(layer_state);
|
||||
|
||||
// Check if we are within the range, if not quit
|
||||
if (curent_layer > LAYER_CYCLE_END || current_layer < LAYER_CYCLE_START) {
|
||||
if (current_layer > LAYER_CYCLE_END || current_layer < LAYER_CYCLE_START) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@@ -4,6 +4,8 @@
|
||||
|
||||
The [QMK Configurator](https://config.qmk.fm) is an online graphical user interface that generates QMK Firmware `.hex` or `.bin` files.
|
||||
|
||||
It should be noted that Configurator cannot produce firmwares for keyboards using a different controller than they were designed for, i.e. an RP2040 controller on a board designed for pro micro. You will have to use the command line [converters](https://docs.qmk.fm/#/feature_converters?id=supported-converters) for this.
|
||||
|
||||
Watch the [Video Tutorial](https://www.youtube.com/watch?v=-imgglzDMdY). Many people find that is enough information to start programming their own keyboard.
|
||||
|
||||
The QMK Configurator works best with Chrome or Firefox.
|
||||
|
@@ -85,6 +85,8 @@ Visit the [QMK Configurator](https://config.qmk.fm/#/) to create a keymap file:
|
||||
3. Customise the key layout according to your preference.
|
||||
4. Select download next to **KEYMAP.JSON** and save the JSON file into the `~/qmk_keymap/` folder.
|
||||
|
||||
!> **Important:** Make sure that the GitHub username you use in step 2 is correct. If it is not, the build process will fail to locate your files in the right folder.
|
||||
|
||||
### Add a GitHub Action workflow
|
||||
|
||||
Open the file `~/qmk_keymap/.github/workflows/build.yml` with your favorite [text editor](newbs_learn_more_resources.md#text-editor-resources), paste the following workflow content, and save it:
|
||||
|
@@ -15,7 +15,7 @@ Different keyboards have different ways to enter this special mode. If your PCB
|
||||
* Press the physical `RESET` button, usually located on the underside of the PCB
|
||||
* Locate header pins on the PCB labeled `RESET` and `GND`, and short them together while plugging your PCB in
|
||||
|
||||
If you've attempted all of the above to no avail, and the main chip on the board says `STM32` on it, this may be a bit more complicated. Generally your best bet is to ask on [Discord](https://discord.gg/Uq7gcHh) for assistance. It's likely some photos of the board will be asked for -- if you can get them ready beforehand it'll help move things along!
|
||||
If you've attempted all of the above to no avail, and the main chip on the board says `STM32` or `RP2-B1` on it, this may be a bit more complicated. Generally your best bet is to ask on [Discord](https://discord.gg/Uq7gcHh) for assistance. It's likely some photos of the board will be asked for -- if you can get them ready beforehand it'll help move things along!
|
||||
|
||||
Otherwise, you should see a message in yellow, similar to this in QMK Toolbox:
|
||||
|
||||
@@ -31,6 +31,8 @@ The simplest way to flash your keyboard will be with the [QMK Toolbox](https://g
|
||||
|
||||
However, the Toolbox is currently only available for Windows and macOS. If you're using Linux (or just wish to flash the firmware from the command line), skip to the [Flash your Keyboard from the Command Line](#flash-your-keyboard-from-the-command-line) section.
|
||||
|
||||
?> QMK Toolbox is not necessary for flashing [RP2040 devices](https://docs.qmk.fm/#/flashing?id=raspberry-pi-rp2040-uf2).
|
||||
|
||||
### Load the File into QMK Toolbox
|
||||
|
||||
Begin by opening the QMK Toolbox application. You'll want to locate the firmware file in Finder or Explorer. Your keyboard firmware may be in one of two formats- `.hex` or `.bin`. QMK tries to copy the appropriate one for your keyboard into the root `qmk_firmware` directory.
|
||||
|
@@ -120,7 +120,7 @@ NOTE: remember to follow the instructions printed at the end of installation (us
|
||||
|
||||
### ** Windows **
|
||||
|
||||
After installing QMK you can set it up with this command:
|
||||
Open QMK MSYS and run the following command:
|
||||
|
||||
qmk setup
|
||||
|
||||
@@ -128,7 +128,7 @@ In most situations you will want to answer `y` to all of the prompts.
|
||||
|
||||
### ** macOS **
|
||||
|
||||
After installing QMK you can set it up with this command:
|
||||
Open Terminal and run the following command:
|
||||
|
||||
qmk setup
|
||||
|
||||
@@ -136,7 +136,7 @@ In most situations you will want to answer `y` to all of the prompts.
|
||||
|
||||
### ** Linux/WSL **
|
||||
|
||||
After installing QMK you can set it up with this command:
|
||||
Open your preferred terminal app and run the following command:
|
||||
|
||||
qmk setup
|
||||
|
||||
@@ -150,7 +150,7 @@ Luckily, the fix is easy. Run this as your user: `echo 'PATH="$HOME/.local/bin:$
|
||||
|
||||
### ** FreeBSD **
|
||||
|
||||
After installing QMK you can set it up with this command:
|
||||
Open your preferred terminal app and run the following command:
|
||||
|
||||
qmk setup
|
||||
|
||||
|
@@ -296,7 +296,7 @@ However, this slightly different sequence will not be affected by the “permiss
|
||||
|
||||
In the sequence above the dual-role key is released before the other key is released, and if that happens within the tapping term, the “permissive hold” mode will still choose the tap action for the dual-role key, and the sequence will be registered as `al` by the host. We could describe this as a “rolling press” (the two keys' key down and key up events behave as if you were rolling a ball across the two keys, first pressing each key down in sequence and then releasing them in the same order).
|
||||
|
||||
?> The `PERMISSIVE_HOLD` option is not noticeable if you also enable `HOLD_ON_OTHER_KEY_PRESS` because the latter option considers both the “nested tap” and “rolling press” sequences like shown above as a hold action, not the tap action. `HOLD_ON_OTHER_KEY_PRESS` makes the Tap-Or-Hold decision earlier in the chain of key events, thus taking a precedence over `PERMISSIVE_HOLD`. This remark also applies to default mod-taps.
|
||||
?> The `PERMISSIVE_HOLD` option is not noticeable if you also enable `HOLD_ON_OTHER_KEY_PRESS` because the latter option considers both the “nested tap” and “rolling press” sequences like shown above as a hold action, not the tap action. `HOLD_ON_OTHER_KEY_PRESS` makes the Tap-Or-Hold decision earlier in the chain of key events, thus taking a precedence over `PERMISSIVE_HOLD`.
|
||||
|
||||
For more granular control of this feature, you can add the following to your `config.h`:
|
||||
|
||||
@@ -352,8 +352,6 @@ An example of a sequence that is affected by the “hold on other key press” m
|
||||
|
||||
Normally, if you do all this within the `TAPPING_TERM` (default: 200ms), this will be registered as `al` by the firmware and host system. With the `HOLD_ON_OTHER_KEY_PRESS` option enabled, the Layer Tap key is considered as a layer switch if another key is pressed, and the above sequence would be registered as `KC_RGHT` (the mapping of `L` on layer 2).
|
||||
|
||||
?> The `HOLD_ON_OTHER_KEY_PRESS` option is essentially redundant with the default mod-tap behaviour. The only notable difference is that `HOLD_ON_OTHER_KEY_PRESS` reduces the delay before the key events are made visible to the host.
|
||||
|
||||
For more granular control of this feature, you can add the following to your `config.h`:
|
||||
|
||||
```c
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -18,14 +18,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
[0] = LAYOUT(
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, 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_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, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
|
||||
// basic function layer
|
||||
[1] = LAYOUT(
|
||||
[1] = LAYOUT_all(
|
||||
QK_BOOT, 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_TRNS, KC_DEL,
|
||||
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUHS, KC_TRNS,
|
||||
|
@@ -18,28 +18,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
[0] = LAYOUT(
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_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, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
|
||||
// basic function layer
|
||||
[1] = LAYOUT(
|
||||
[1] = LAYOUT_all(
|
||||
QK_BOOT, 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_TRNS, KC_DEL,
|
||||
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
// extra layer for VIA
|
||||
[2] = LAYOUT(
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
// extra layer for VIA
|
||||
[3] = LAYOUT(
|
||||
[3] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
24
keyboards/4pplet/waffling60/rev_d_iso/matrix_diagram.md
Normal file
24
keyboards/4pplet/waffling60/rev_d_iso/matrix_diagram.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Matrix Diagram for 4pplet Waffling60 Rev D ISO
|
||||
|
||||
```
|
||||
┌───────┐
|
||||
2u Backspace │1D │
|
||||
└───────┘
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │1D │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2D │
|
||||
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
|
||||
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │
|
||||
├────┴┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─┴───┤
|
||||
│40 │41 │42 │44 │46 │48 │4B │4C │4D │
|
||||
└─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘
|
||||
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB
|
||||
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
┌─────┬───┬───────────────────────────────────────┬───┬─────┐
|
||||
│40 │41 │46 │4C │4D │ 10u Spacebar
|
||||
└─────┴───┴───────────────────────────────────────┴───┴─────┘
|
||||
```
|
7
keyboards/adafruit/macropad/keymaps/drashna/config.h
Normal file
7
keyboards/adafruit/macropad/keymaps/drashna/config.h
Normal file
@@ -0,0 +1,7 @@
|
||||
// Copyright 2023 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64
|
||||
#define TAPPING_TERM 499
|
100
keyboards/adafruit/macropad/keymaps/drashna/keymap.c
Normal file
100
keyboards/adafruit/macropad/keymaps/drashna/keymap.c
Normal file
@@ -0,0 +1,100 @@
|
||||
// Copyright 2023 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "drashna.h"
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
LT(1,KC_MUTE),
|
||||
KC_ENT, KC_0, KC_BSPC,
|
||||
KC_7, KC_8, KC_9,
|
||||
KC_4, KC_5, KC_6,
|
||||
KC_1, KC_2, KC_3
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
_______,
|
||||
CK_TOGG, AU_TOGG, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||
[1] = {ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
|
||||
};
|
||||
#endif
|
||||
|
||||
void render_oled_title(bool side) {
|
||||
oled_write_P(PSTR(" Macropad "), true);
|
||||
}
|
||||
|
||||
void render_rgb_mode(uint8_t col, uint8_t line);
|
||||
|
||||
void l_render_keylock_status(led_t led_usb_state, uint8_t col, uint8_t line) {
|
||||
oled_set_cursor(col, line);
|
||||
#ifdef CAPS_WORD_ENABLE
|
||||
led_usb_state.caps_lock |= is_caps_word_on();
|
||||
#endif
|
||||
oled_write_P(PSTR(OLED_RENDER_LOCK_NUML), led_usb_state.num_lock);
|
||||
oled_write_P(PSTR(" "), false);
|
||||
oled_write_P(PSTR(OLED_RENDER_LOCK_CAPS), led_usb_state.caps_lock);
|
||||
oled_write_P(PSTR(" "), false);
|
||||
oled_write_P(PSTR(OLED_RENDER_LOCK_SCLK), led_usb_state.scroll_lock);
|
||||
}
|
||||
|
||||
bool oled_task_keymap(void) {
|
||||
oled_write_raw_P(header_image, sizeof(header_image));
|
||||
oled_set_cursor(0, 1);
|
||||
oled_write_raw_P(row_2_image, sizeof(row_2_image));
|
||||
oled_set_cursor(4, 0);
|
||||
render_oled_title(false);
|
||||
|
||||
render_kitty(0, 2);
|
||||
render_matrix_scan_rate(1, 7, 2);
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
oled_set_cursor(7, 4);
|
||||
bool l_is_audio_on = is_audio_on();
|
||||
|
||||
static const char PROGMEM audio_status[2][3] = {{0xE0, 0xE1, 0}, {0xE2, 0xE3, 0}};
|
||||
oled_write_P(audio_status[l_is_audio_on], false);
|
||||
|
||||
# ifdef AUDIO_CLICKY
|
||||
bool l_is_clicky_on = is_clicky_on();
|
||||
static const char PROGMEM audio_clicky_status[2][3] = {{0xF4, 0xF5, 0}, {0xF6, 0xF7, 0}};
|
||||
oled_write_P(audio_clicky_status[l_is_clicky_on && l_is_audio_on], false);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
static const char PROGMEM cat_mode[3] = {0xF8, 0xF9, 0};
|
||||
oled_write_P(cat_mode, get_keyboard_lock());
|
||||
|
||||
#ifdef RGB_MATIRX_ENABLE
|
||||
static const char PROGMEM rgb_layer_status[2][3] = {{0xEE, 0xEF, 0}, {0xF0, 0xF1, 0}};
|
||||
oled_write_P(rgb_layer_status[rgb_matrix_is_enabled()], false);
|
||||
#endif
|
||||
|
||||
#ifdef HAPTIC_ENABLE
|
||||
static const char PROGMEM nukem_good[2] = {0xFA, 0};
|
||||
oled_write_P(haptic_get_enable() ? nukem_good : PSTR(" "), false);
|
||||
#endif
|
||||
|
||||
l_render_keylock_status(host_keyboard_led_state(), 7, 5);
|
||||
render_rgb_mode(1, 6);
|
||||
|
||||
for (uint8_t i = 1; i < 7; i++) {
|
||||
oled_set_cursor(0, i);
|
||||
oled_write_raw_P(display_border, sizeof(display_border));
|
||||
oled_set_cursor(21, i);
|
||||
oled_write_raw_P(display_border, sizeof(display_border));
|
||||
}
|
||||
oled_set_cursor(0, 7);
|
||||
oled_write_raw_P(footer_image, sizeof(footer_image));
|
||||
|
||||
return false;
|
||||
}
|
3
keyboards/adafruit/macropad/keymaps/drashna/rules.mk
Normal file
3
keyboards/adafruit/macropad/keymaps/drashna/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
DEBUG_MATRIX_SCAN_RATE_ENABLE = api
|
||||
WPM_ENABLE = yes
|
162
keyboards/akko/5108/5108.c
Normal file
162
keyboards/akko/5108/5108.c
Normal file
@@ -0,0 +1,162 @@
|
||||
/* Copyright (C) 2022 jonylee@hfd
|
||||
*
|
||||
* 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"
|
||||
// clang-format off
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
|
||||
/* Refer to IS31 manual for these locations
|
||||
* driver
|
||||
* | R location
|
||||
* | | G location
|
||||
* | | | B location
|
||||
* | | | | */
|
||||
/*row0*/
|
||||
{1, A_1, B_1, C_1},
|
||||
{1, A_2, B_2, C_2},
|
||||
{1, A_3, B_3, C_3},
|
||||
{1, A_4, B_4, C_4},
|
||||
{1, A_5, B_5, C_5},
|
||||
{1, A_6, B_6, C_6},
|
||||
{1, A_7, B_7, C_7},
|
||||
{1, A_8, B_8, C_8},
|
||||
{1, A_9, B_9, C_9},
|
||||
{1, A_10, B_10, C_10},
|
||||
{1, A_11, B_11, C_11},
|
||||
{1, A_12, B_12, C_12},
|
||||
{1, A_13, B_13, C_13},
|
||||
{1, A_14, B_14, C_14},
|
||||
{1, A_15, B_15, C_15},
|
||||
{1, A_16, B_16, C_16},
|
||||
{1, D_11, E_11, F_11},
|
||||
{1, D_12, E_12, F_12},
|
||||
{1, D_13, E_13, F_13},
|
||||
{1, D_14, E_14, F_14},
|
||||
|
||||
/*row1*/
|
||||
{0, A_1, B_1, C_1},
|
||||
{0, A_2, B_2, C_2},
|
||||
{0, A_3, B_3, C_3},
|
||||
{0, A_4, B_4, C_4},
|
||||
{0, A_5, B_5, C_5},
|
||||
{0, A_6, B_6, C_6},
|
||||
{0, A_7, B_7, C_7},
|
||||
{0, A_8, B_8, C_8},
|
||||
{0, A_9, B_9, C_9},
|
||||
{0, A_10, B_10, C_10},
|
||||
{0, A_11, B_11, C_11},
|
||||
{0, A_12, B_12, C_12},
|
||||
{0, A_13, B_13, C_13},
|
||||
{0, A_14, B_14, C_14},
|
||||
{1, D_1, E_1, F_1 },
|
||||
{1, D_2, E_2, F_2},
|
||||
{1, D_3, E_3, F_3},
|
||||
{1, D_4, E_4, F_4},
|
||||
{1, D_5, E_5, F_5},
|
||||
{1, D_6, E_6, F_6},
|
||||
{1, D_7, E_7, F_7},
|
||||
|
||||
/*row2*/
|
||||
{0, D_1, E_1, F_1},
|
||||
{0, D_2, E_2, F_2},
|
||||
{0, D_3, E_3, F_3},
|
||||
{0, D_4, E_4, F_4},
|
||||
{0, D_5, E_5, F_5},
|
||||
{0, D_6, E_6, F_6},
|
||||
{0, D_7, E_7, F_7},
|
||||
{0, D_8, E_8, F_8},
|
||||
{0, D_9, E_9, F_9},
|
||||
{0, D_10, E_10, F_10},
|
||||
{0, D_11, E_11, F_11},
|
||||
{0, D_12, E_12, F_12},
|
||||
{0, D_13, E_13, F_13},
|
||||
{0, D_14, E_14, F_14},
|
||||
{1, G_1, H_1, I_1},
|
||||
{1, G_2, H_2, I_2},
|
||||
{1, G_3, H_3, I_3},
|
||||
{1, D_8, E_8, F_8},
|
||||
{1, D_9, E_9, F_9},
|
||||
{1, D_10, E_10, F_10},
|
||||
{1, G_7, H_7, I_7},
|
||||
|
||||
/*row3*/
|
||||
{0, G_1, H_1, I_1},
|
||||
{0, G_2, H_2, I_2},
|
||||
{0, G_3, H_3, I_3},
|
||||
{0, G_4, H_4, I_4},
|
||||
{0, G_5, H_5, I_5},
|
||||
{0, G_6, H_6, I_6},
|
||||
{0, G_7, H_7, I_7},
|
||||
{0, G_8, H_8, I_8},
|
||||
{0, G_9, H_9, I_9},
|
||||
{0, G_10, H_10, I_10},
|
||||
{0, G_11, H_11, I_11},
|
||||
{0, G_12, H_12, I_12},
|
||||
{0, G_13, H_13, I_13},
|
||||
{1, G_4, H_4, I_4},
|
||||
{1, G_5, H_5, I_5},
|
||||
{1, G_6, H_6, I_6},
|
||||
|
||||
/*row4*/
|
||||
{0, J_1, K_1, L_1},
|
||||
{0, J_2, K_2, L_2},
|
||||
{0, J_3, K_3, L_3},
|
||||
{0, J_4, K_4, L_4},
|
||||
{0, J_5, K_5, L_5},
|
||||
{0, J_6, K_6, L_6},
|
||||
{0, J_7, K_7, L_7},
|
||||
{0, J_8, K_8, L_8},
|
||||
{0, J_9, K_9, L_9},
|
||||
{0, J_10, K_10, L_10},
|
||||
{0, J_11, K_11, L_11},
|
||||
{0, J_12, K_12, L_12},
|
||||
{1, J_4, K_4, L_4},
|
||||
{1, J_7, K_7, L_7},
|
||||
{1, J_8, K_8, L_8},
|
||||
{1, J_9, K_9, L_9},
|
||||
{1, J_10, K_10, L_10},
|
||||
|
||||
/*row5*/
|
||||
{0, J_13, K_13, L_13},
|
||||
{0, J_14, K_14, L_14},
|
||||
{0, J_15, K_15, L_15},
|
||||
{0, J_16, K_16, L_16},
|
||||
{0, G_14, H_14, I_14},
|
||||
{0, G_15, H_15, I_15},
|
||||
{0, G_16, H_16, I_16},
|
||||
{0, D_15, E_15, F_15},
|
||||
{1, J_1, K_1, L_1},
|
||||
{1, J_2, K_2, L_2},
|
||||
{1, J_3, K_3, L_3},
|
||||
{1, J_5, K_5, L_5},
|
||||
{1, J_6, K_6, L_6},
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
void keyboard_pre_init_kb(void) {
|
||||
setPinOutput(LED_WIN_LOCK_PIN); // LED3 Win Lock
|
||||
writePinLow(LED_WIN_LOCK_PIN);
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
|
||||
bool led_update_kb(led_t led_state) {
|
||||
bool res = led_update_user(led_state);
|
||||
if (res) {
|
||||
writePin(LED_WIN_LOCK_PIN, keymap_config.no_gui);
|
||||
}
|
||||
return res;
|
||||
}
|
54
keyboards/akko/5108/config.h
Normal file
54
keyboards/akko/5108/config.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/* Copyright (C) 2022 jonylee@hfd
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Use 5 dynamic keymap layers */
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 6
|
||||
|
||||
/* LED Indicators */
|
||||
#define LED_WIN_LOCK_PIN C11
|
||||
|
||||
/* 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
|
||||
|
||||
/* SPI Config for spi flash*/
|
||||
#define SPI_DRIVER SPIDQ
|
||||
#define SPI_SCK_PIN B3
|
||||
#define SPI_MOSI_PIN B5
|
||||
#define SPI_MISO_PIN B4
|
||||
#define SPI_MOSI_PAL_MODE 5
|
||||
|
||||
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
|
||||
#define WEAR_LEVELING_BACKING_SIZE (8 * 1024)
|
||||
|
||||
/* I2C Config for LED Driver */
|
||||
#define DRIVER_COUNT 2
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
#define DRIVER_ADDR_2 0b1110111
|
||||
#define I2C1_SCL_PAL_MODE 4
|
||||
#define I2C1_OPMODE OPMODE_I2C
|
||||
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 108
|
||||
|
||||
#define RGB_TRIGGER_ON_KEYDOWN
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_MATRIX_KEYRELEASES
|
23
keyboards/akko/5108/halconf.h
Normal file
23
keyboards/akko/5108/halconf.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/* Copyright (C) 2022 jonylee@hfd
|
||||
*
|
||||
* 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 HAL_USE_I2C TRUE
|
||||
#define HAL_USE_SPI TRUE
|
||||
#define SPI_USE_WAIT TRUE
|
||||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
|
||||
#include_next <halconf.h>
|
290
keyboards/akko/5108/info.json
Normal file
290
keyboards/akko/5108/info.json
Normal file
@@ -0,0 +1,290 @@
|
||||
{
|
||||
"keyboard_name": "5108",
|
||||
"manufacturer": "Akko",
|
||||
"url":"https://www.akkogear.com",
|
||||
"maintainer": "jonylee@hfd",
|
||||
"usb": {
|
||||
"vid": "0xFFFE",
|
||||
"pid": "0x000D",
|
||||
"device_version": "1.0.3",
|
||||
"suspend_wakeup_delay": 400,
|
||||
"force_nkro": true
|
||||
},
|
||||
"processor": "WB32FQ95",
|
||||
"bootloader": "wb32-dfu",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
"command": false,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": [ "C1", "C2", "C3", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "C4", "C5", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14"],
|
||||
"rows": ["B15", "C6", "C7", "C8", "C9", "A8"]
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"indicators": {
|
||||
"num_lock": "A15",
|
||||
"caps_lock": "C10"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "IS31FL3733",
|
||||
"max_brightness": 180,
|
||||
"animations": {
|
||||
"breathing": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"raindrops": true,
|
||||
"typing_heatmap": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_cross": true,
|
||||
"multisplash": true
|
||||
},
|
||||
"layout":[
|
||||
{ "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 2], "x": 30, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 3], "x": 40, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 4], "x": 50, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 5], "x": 70, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 6], "x": 80, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 7], "x": 90, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 8], "x": 100, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 9], "x": 110, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 10], "x": 120, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 11], "x": 130, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 12], "x": 140, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 14], "x": 156, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 15], "x": 166, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 16], "x": 176, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 17], "x": 194, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 18], "x": 204, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 19], "x": 214, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 20], "x": 224, "y": 0 },
|
||||
|
||||
{ "flags": 4, "matrix": [1, 0], "x": 0, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 1], "x": 10, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 2], "x": 20, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 3], "x": 30, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 4], "x": 40, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 5], "x": 50, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 6], "x": 60, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 7], "x": 70, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 8], "x": 80, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 9], "x": 90, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 10], "x": 100, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 11], "x": 110, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 12], "x": 120, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 13], "x": 140, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 14], "x": 156, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 15], "x": 166, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 16], "x": 176, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 17], "x": 194, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 18], "x": 204, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 19], "x": 214, "y": 13 },
|
||||
{ "flags": 4, "matrix": [1, 20], "x": 224, "y": 13 },
|
||||
|
||||
{ "flags": 4, "matrix": [2, 0], "x": 0, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 1], "x": 10, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 2], "x": 20, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 3], "x": 30, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 4], "x": 40, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 5], "x": 50, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 6], "x": 60, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 7], "x": 70, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 8], "x": 80, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 9], "x": 90, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 10], "x": 100, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 11], "x": 110, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 12], "x": 128, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 13], "x": 140, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 14], "x": 156, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 15], "x": 166, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 16], "x": 176, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 17], "x": 194, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 18], "x": 204, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 19], "x": 214, "y": 26 },
|
||||
{ "flags": 4, "matrix": [2, 20], "x": 224, "y": 26 },
|
||||
|
||||
{ "flags": 4, "matrix": [3, 0], "x": 0, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 1], "x": 10, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 2], "x": 20, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 3], "x": 30, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 4], "x": 40, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 5], "x": 50, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 6], "x": 60, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 7], "x": 70, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 8], "x": 80, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 9], "x": 90, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 10], "x": 100, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 11], "x": 110, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 13], "x": 135, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 17], "x": 194, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 18], "x": 204, "y": 38 },
|
||||
{ "flags": 4, "matrix": [3, 19], "x": 214, "y": 38 },
|
||||
|
||||
{ "flags": 4, "matrix": [4, 0], "x": 5, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 1], "x": 20, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 2], "x": 30, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 3], "x": 40, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 4], "x": 50, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 5], "x": 60, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 6], "x": 70, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 7], "x": 80, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 8], "x": 90, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 9], "x": 100, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 10], "x": 110, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 13], "x": 135, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 15], "x": 166, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 17], "x": 194, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 18], "x": 204, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 19], "x": 214, "y": 51 },
|
||||
{ "flags": 4, "matrix": [4, 20], "x": 224, "y": 51 },
|
||||
|
||||
{ "flags": 4, "matrix": [5, 0], "x": 0, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 1], "x": 10, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 2], "x": 20, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 5], "x": 60, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 9], "x": 100, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 10], "x": 110, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 11], "x": 130, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 13], "x": 140, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 14], "x": 156, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 15], "x": 166, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 16], "x": 176, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 18], "x": 199, "y": 64 },
|
||||
{ "flags": 4, "matrix": [5, 19], "x": 214, "y": 64 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "F1", "matrix": [0, 1], "x": 2, "y": 0 },
|
||||
{ "label": "F2", "matrix": [0, 2], "x": 3, "y": 0 },
|
||||
{ "label": "F3", "matrix": [0, 3], "x": 4, "y": 0 },
|
||||
{ "label": "F4", "matrix": [0, 4], "x": 5, "y": 0 },
|
||||
{ "label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0 },
|
||||
{ "label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0 },
|
||||
{ "label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0 },
|
||||
{ "label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "matrix": [0, 9], "x": 11, "y": 0 },
|
||||
{ "label": "F10", "matrix": [0, 10], "x": 12, "y": 0 },
|
||||
{ "label": "F11", "matrix": [0, 11], "x": 13, "y": 0 },
|
||||
{ "label": "F12", "matrix": [0, 12], "x": 14, "y": 0 },
|
||||
{ "label": "PrtSc", "matrix": [0, 14], "x": 15.25, "y": 0 },
|
||||
{ "label": "ScrLk", "matrix": [0, 15], "x": 16.25, "y": 0 },
|
||||
{ "label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0 },
|
||||
{ "label": "Cal", "matrix": [0, 17], "x": 18.5, "y": 0 },
|
||||
{ "label": "Mute", "matrix": [0, 18], "x": 19.5, "y": 0 },
|
||||
{ "label": "Vold", "matrix": [0, 19], "x": 20.5, "y": 0 },
|
||||
{ "label": "Volu", "matrix": [0, 20], "x": 21.5, "y": 0 },
|
||||
|
||||
{ "label": "~", "matrix": [1, 0], "x": 0, "y": 1.25 },
|
||||
{ "label": "!", "matrix": [1, 1], "x": 1, "y": 1.25 },
|
||||
{ "label": "@", "matrix": [1, 2], "x": 2, "y": 1.25 },
|
||||
{ "label": "#", "matrix": [1, 3], "x": 3, "y": 1.25 },
|
||||
{ "label": "$", "matrix": [1, 4], "x": 4, "y": 1.25 },
|
||||
{ "label": "%", "matrix": [1, 5], "x": 5, "y": 1.25 },
|
||||
{ "label": "^", "matrix": [1, 6], "x": 6, "y": 1.25 },
|
||||
{ "label": "&", "matrix": [1, 7], "x": 7, "y": 1.25 },
|
||||
{ "label": "*", "matrix": [1, 8], "x": 8, "y": 1.25 },
|
||||
{ "label": "(", "matrix": [1, 9], "x": 9, "y": 1.25 },
|
||||
{ "label": ")", "matrix": [1, 10], "x": 10, "y": 1.25 },
|
||||
{ "label": "_", "matrix": [1, 11], "x": 11, "y": 1.25 },
|
||||
{ "label": "+", "matrix": [1, 12], "x": 12, "y": 1.25 },
|
||||
{ "label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2 },
|
||||
{ "label": "Ins", "matrix": [1, 14], "x": 15.25, "y": 1.25 },
|
||||
{ "label": "Home", "matrix": [1, 15], "x": 16.25, "y": 1.25 },
|
||||
{ "label": "PgUp", "matrix": [1, 16], "x": 17.25, "y": 1.25 },
|
||||
{ "label": "Num", "matrix": [1, 17], "x": 18.5, "y": 1.25 },
|
||||
{ "label": "/", "matrix": [1, 18], "x": 19.5, "y": 1.25 },
|
||||
{ "label": "*", "matrix": [1, 19], "x": 20.5, "y": 1.25 },
|
||||
{ "label": "-", "matrix": [1, 20], "x": 21.5, "y": 1.25 },
|
||||
|
||||
{ "label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5 },
|
||||
{ "label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25 },
|
||||
{ "label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25 },
|
||||
{ "label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25 },
|
||||
{ "label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25 },
|
||||
{ "label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25 },
|
||||
{ "label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25 },
|
||||
{ "label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25 },
|
||||
{ "label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25 },
|
||||
{ "label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25 },
|
||||
{ "label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25 },
|
||||
{ "label": "{", "matrix": [2, 11], "x": 11.5, "y": 2.25 },
|
||||
{ "label": "}", "matrix": [2, 12], "x": 12.5, "y": 2.25 },
|
||||
{ "label": "|", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5 },
|
||||
{ "label": "Del", "matrix": [2, 14], "x": 15.25, "y": 2.25 },
|
||||
{ "label": "End", "matrix": [2, 15], "x": 16.25, "y": 2.25 },
|
||||
{ "label": "PgDn", "matrix": [2, 16], "x": 17.25, "y": 2.25 },
|
||||
{ "label": "7", "matrix": [2, 17], "x": 18.5, "y": 2.25 },
|
||||
{ "label": "8", "matrix": [2, 18], "x": 19.5, "y": 2.25 },
|
||||
{ "label": "9", "matrix": [2, 19], "x": 20.5, "y": 2.25 },
|
||||
{ "label": "+", "matrix": [2, 20], "x": 21.5, "y": 2.25, "h": 2 },
|
||||
|
||||
{ "label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75 },
|
||||
{ "label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25 },
|
||||
{ "label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25 },
|
||||
{ "label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25 },
|
||||
{ "label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25 },
|
||||
{ "label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25 },
|
||||
{ "label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25 },
|
||||
{ "label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25 },
|
||||
{ "label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25 },
|
||||
{ "label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25 },
|
||||
{ "label": ":", "matrix": [3, 10], "x": 10.75, "y": 3.25 },
|
||||
{ "label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25 },
|
||||
{ "label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25 },
|
||||
{ "label": "4", "matrix": [3, 17], "x": 18.5, "y": 3.25 },
|
||||
{ "label": "5", "matrix": [3, 18], "x": 19.5, "y": 3.25 },
|
||||
{ "label": "6", "matrix": [3, 19], "x": 20.5, "y": 3.25 },
|
||||
|
||||
{ "label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25 },
|
||||
{ "label": "Z", "matrix": [4, 1], "x": 2.25, "y": 4.25 },
|
||||
{ "label": "X", "matrix": [4, 2], "x": 3.25, "y": 4.25 },
|
||||
{ "label": "C", "matrix": [4, 3], "x": 4.25, "y": 4.25 },
|
||||
{ "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.25 },
|
||||
{ "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.25 },
|
||||
{ "label": "N", "matrix": [4, 6], "x": 7.25, "y": 4.25 },
|
||||
{ "label": "M", "matrix": [4, 7], "x": 8.25, "y": 4.25 },
|
||||
{ "label": "<", "matrix": [4, 8], "x": 9.25, "y": 4.25 },
|
||||
{ "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 },
|
||||
{ "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 },
|
||||
{ "label": "Shift", "matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75 },
|
||||
{ "label": "Up", "matrix": [4, 15], "x": 16.25, "y": 4.25 },
|
||||
{ "label": "1", "matrix": [4, 17], "x": 18.5, "y": 4.25 },
|
||||
{ "label": "2", "matrix": [4, 18], "x": 19.5, "y": 4.25 },
|
||||
{ "label": "3", "matrix": [4, 19], "x": 20.5, "y": 4.25 },
|
||||
{ "label": "Enter", "matrix": [4, 20], "x": 21.5, "y": 4.25, "h": 2 },
|
||||
|
||||
{ "label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "Win", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "Space", "matrix": [5, 5], "x": 3.75, "y": 5.25, "w": 6.25 },
|
||||
{ "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "Win", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "Ctrl", "matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "Left", "matrix": [5, 14], "x": 15.25, "y": 5.25 },
|
||||
{ "label": "Down", "matrix": [5, 15], "x": 16.25, "y": 5.25 },
|
||||
{ "label": "Right", "matrix": [5, 16], "x": 17.25, "y": 5.25 },
|
||||
{ "label": "0", "matrix": [5, 18], "x": 18.5, "y": 5.25, "w": 2 },
|
||||
{ "label": ".", "matrix": [5, 19], "x": 20.5, "y": 5.25 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
79
keyboards/akko/5108/keymaps/default/keymap.c
Normal file
79
keyboards/akko/5108/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,79 @@
|
||||
/* Copyright (C) 2023 jonylee@hfd
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum __layers {
|
||||
WIN_B,
|
||||
WIN_W,
|
||||
WIN_FN,
|
||||
MAC_B,
|
||||
MAC_W,
|
||||
MAC_FN
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[WIN_B] = LAYOUT( /* Base */
|
||||
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_SCRL, KC_PAUS, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
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_NUM, 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_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, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
|
||||
[WIN_W] = LAYOUT( /* Base */
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D, _______, _______),
|
||||
|
||||
[WIN_FN] = LAYOUT( /* FN */
|
||||
_______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______,TG(WIN_W),_______,_______,_______,_______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
|
||||
_______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______),
|
||||
|
||||
[MAC_B] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
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_NUM, 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_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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
|
||||
[MAC_W] = LAYOUT( /* Base */
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D, _______, _______),
|
||||
|
||||
[MAC_FN] = LAYOUT( /* FN */
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______,TG(MAC_W),_______,_______,_______,_______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______)
|
||||
};
|
||||
// clang-format on
|
79
keyboards/akko/5108/keymaps/via/keymap.c
Normal file
79
keyboards/akko/5108/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,79 @@
|
||||
/* Copyright (C) 2023 jonylee@hfd
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum __layers {
|
||||
WIN_B,
|
||||
WIN_W,
|
||||
WIN_FN,
|
||||
MAC_B,
|
||||
MAC_W,
|
||||
MAC_FN
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[WIN_B] = LAYOUT( /* Base */
|
||||
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_SCRL, KC_PAUS, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
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_NUM, 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_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, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
|
||||
[WIN_W] = LAYOUT( /* Base */
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D, _______, _______),
|
||||
|
||||
[WIN_FN] = LAYOUT( /* FN */
|
||||
_______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______,TG(WIN_W),_______,_______,_______,_______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
|
||||
_______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______),
|
||||
|
||||
[MAC_B] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
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_NUM, 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_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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
|
||||
[MAC_W] = LAYOUT( /* Base */
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D, _______, _______),
|
||||
|
||||
[MAC_FN] = LAYOUT( /* FN */
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______,TG(MAC_W),_______,_______,_______,_______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______)
|
||||
};
|
||||
// clang-format on
|
1
keyboards/akko/5108/keymaps/via/rules.mk
Normal file
1
keyboards/akko/5108/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
24
keyboards/akko/5108/mcuconf.h
Normal file
24
keyboards/akko/5108/mcuconf.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/* Copyright (C) 2022 jonylee@hfd
|
||||
*
|
||||
* 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_next <mcuconf.h>
|
||||
|
||||
#undef WB32_SPI_USE_QSPI
|
||||
#define WB32_SPI_USE_QSPI TRUE
|
||||
|
||||
#undef WB32_I2C_USE_I2C1
|
||||
#define WB32_I2C_USE_I2C1 TRUE
|
20
keyboards/akko/5108/readme.md
Normal file
20
keyboards/akko/5108/readme.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# 5108
|
||||
|
||||
A customizable 100% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986)
|
||||
* Hardware Supported: Akko 5108
|
||||
* Hardware Availability: [akko](https://www.akkogear.com/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make akko/5108:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make akko/5108:default:flash
|
||||
|
||||
## Bootloader
|
||||
**Reset Key**: Hold down the key located at *K000*, which programmed as *Esc* while plugging in the keyboard.
|
||||
|
||||
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).
|
2
keyboards/akko/5108/rules.mk
Normal file
2
keyboards/akko/5108/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
EEPROM_DRIVER = wear_leveling
|
||||
WEAR_LEVELING_DRIVER = spi_flash
|
217
keyboards/akko/acr87/acr87.c
Normal file
217
keyboards/akko/acr87/acr87.c
Normal file
@@ -0,0 +1,217 @@
|
||||
/* Copyright (C) 2022 jonylee@hfd
|
||||
*
|
||||
* 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"
|
||||
// clang-format off
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
|
||||
/* Refer to IS31 manual for these locations
|
||||
* driver
|
||||
* | R location
|
||||
* | | G location
|
||||
* | | | B location
|
||||
* | | | | */
|
||||
/*row0*/
|
||||
{1, A_1, B_1, C_1},
|
||||
{1, A_2, B_2, C_2},
|
||||
{1, A_3, B_3, C_3},
|
||||
{1, A_4, B_4, C_4},
|
||||
{1, A_5, B_5, C_5},
|
||||
{1, A_6, B_6, C_6},
|
||||
{1, A_7, B_7, C_7},
|
||||
{1, A_8, B_8, C_8},
|
||||
{1, A_9, B_9, C_9},
|
||||
{1, A_10, B_10, C_10},
|
||||
{1, A_11, B_11, C_11},
|
||||
{1, A_12, B_12, C_12},
|
||||
{1, A_13, B_13, C_13},
|
||||
{1, A_14, B_14, C_14},
|
||||
{1, A_15, B_15, C_15},
|
||||
{1, A_16, B_16, C_16},
|
||||
|
||||
/*row1*/
|
||||
{0, A_1, B_1, C_1},
|
||||
{0, A_2, B_2, C_2},
|
||||
{0, A_3, B_3, C_3},
|
||||
{0, A_4, B_4, C_4},
|
||||
{0, A_5, B_5, C_5},
|
||||
{0, A_6, B_6, C_6},
|
||||
{0, A_7, B_7, C_7},
|
||||
{0, A_8, B_8, C_8},
|
||||
{0, A_9, B_9, C_9},
|
||||
{0, A_10, B_10, C_10},
|
||||
{0, A_11, B_11, C_11},
|
||||
{0, A_12, B_12, C_12},
|
||||
{0, A_13, B_13, C_13},
|
||||
{0, A_14, B_14, C_14},
|
||||
{1, D_1, E_1, F_1},
|
||||
{1, D_2, E_2, F_2},
|
||||
{1, D_3, E_3, F_3},
|
||||
|
||||
/*row2*/
|
||||
{0, D_1, E_1, F_1},
|
||||
{0, D_2, E_2, F_2},
|
||||
{0, D_3, E_3, F_3},
|
||||
{0, D_4, E_4, F_4},
|
||||
{0, D_5, E_5, F_5},
|
||||
{0, D_6, E_6, F_6},
|
||||
{0, D_7, E_7, F_7},
|
||||
{0, D_8, E_8, F_8},
|
||||
{0, D_9, E_9, F_9},
|
||||
{0, D_10, E_10, F_10},
|
||||
{0, D_11, E_11, F_11},
|
||||
{0, D_12, E_12, F_12},
|
||||
{0, D_13, E_13, F_13},
|
||||
{0, D_14, E_14, F_14},
|
||||
{1, G_1, H_1, I_1},
|
||||
{1, G_2, H_2, I_2},
|
||||
{1, G_3, H_3, I_3},
|
||||
|
||||
/*row3*/
|
||||
{0, G_1, H_1, I_1},
|
||||
{0, G_2, H_2, I_2},
|
||||
{0, G_3, H_3, I_3},
|
||||
{0, G_4, H_4, I_4},
|
||||
{0, G_5, H_5, I_5},
|
||||
{0, G_6, H_6, I_6},
|
||||
{0, G_7, H_7, I_7},
|
||||
{0, G_8, H_8, I_8},
|
||||
{0, G_9, H_9, I_9},
|
||||
{0, G_10, H_10, I_10},
|
||||
{0, G_11, H_11, I_11},
|
||||
{0, G_12, H_12, I_12},
|
||||
{0, G_13, H_13, I_13},
|
||||
|
||||
/*row4*/
|
||||
{0, J_1, K_1, L_1},
|
||||
{0, J_2, K_2, L_2},
|
||||
{0, J_3, K_3, L_3},
|
||||
{0, J_4, K_4, L_4},
|
||||
{0, J_5, K_5, L_5},
|
||||
{0, J_6, K_6, L_6},
|
||||
{0, J_7, K_7, L_7},
|
||||
{0, J_8, K_8, L_8},
|
||||
{0, J_9, K_9, L_9},
|
||||
{0, J_10, K_10, L_10},
|
||||
{0, J_11, K_11, L_11},
|
||||
{0, J_12, K_12, L_12},
|
||||
{1, J_4, K_4, L_4},
|
||||
|
||||
/*row5*/
|
||||
{0, J_13, K_13, L_13},
|
||||
{0, J_14, K_14, L_14},
|
||||
{0, J_15, K_15, L_15},
|
||||
{0, J_16, K_16, L_16},
|
||||
{0, G_14, H_14, I_14},
|
||||
{0, G_15, H_15, I_15},
|
||||
{0, G_16, H_16, I_16},
|
||||
{0, D_15, E_15, F_15},
|
||||
{1, J_1, K_1, L_1},
|
||||
{1, J_2, K_2, L_2},
|
||||
{1, J_3, K_3, L_3},
|
||||
|
||||
{2, J_12, K_12, L_12},
|
||||
{2, J_11, K_11, L_11},
|
||||
{2, J_10, K_10, L_10},
|
||||
{2, J_9, K_9, L_9},
|
||||
{2, J_8, K_8, L_8},
|
||||
{2, J_7, K_7, L_7},
|
||||
{2, J_6, K_6, L_6},
|
||||
{2, J_5, K_5, L_5},
|
||||
{2, J_4, K_4, L_4},
|
||||
{2, J_3, K_3, L_3},
|
||||
{2, J_2, K_2, L_2},
|
||||
{2, J_1, K_1, L_1},
|
||||
{2, G_12, H_12, I_12},
|
||||
{2, G_11, H_11, I_11},
|
||||
{2, G_10, H_10, I_10},
|
||||
{2, G_9, H_9, I_9},
|
||||
|
||||
{2, A_1, B_1, C_1},
|
||||
{2, G_8, H_8, I_8},
|
||||
|
||||
{2, A_2, B_2, C_2},
|
||||
{2, G_7, H_7, I_7},
|
||||
|
||||
{2, A_3, B_3, C_3},
|
||||
{2, G_6, H_6, I_6},
|
||||
|
||||
{2, A_4, B_4, C_4},
|
||||
{2, G_5, H_5, I_5},
|
||||
|
||||
{2, A_5, B_5, C_5},
|
||||
{2, G_4, H_4, I_4},
|
||||
|
||||
{2, A_6, B_6, C_6},
|
||||
{2, G_3, H_3, I_3},
|
||||
|
||||
{2, A_7, B_7, C_7},
|
||||
{2, G_2, H_2, I_2},
|
||||
|
||||
{2, A_8, B_8, C_8},
|
||||
{2, A_9, B_9, C_9},
|
||||
{2, A_10, B_10, C_10},
|
||||
{2, A_11, B_11, C_11},
|
||||
{2, A_12, B_12, C_12},
|
||||
{2, D_1, E_1, F_1},
|
||||
{2, D_2, E_2, F_2},
|
||||
{2, D_3, E_3, F_3},
|
||||
{2, D_4, E_4, F_4},
|
||||
{2, D_5, E_5, F_5},
|
||||
{2, D_6, E_6, F_6},
|
||||
{2, D_7, E_7, F_7},
|
||||
{2, D_8, E_8, F_8},
|
||||
{2, D_9, E_9, F_9},
|
||||
{2, D_10, E_10, F_10},
|
||||
{2, D_11, E_11, F_11},
|
||||
{2, D_12, E_12, F_12},
|
||||
{2, G_1, H_1, I_1},
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max)
|
||||
{
|
||||
if (!rgb_matrix_indicators_advanced_user(led_min, led_max))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (host_keyboard_led_state().caps_lock)
|
||||
{
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(50, 255, 255, 255);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!rgb_matrix_get_flags())
|
||||
{
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(50, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
if (keymap_config.no_gui)
|
||||
{
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(77, 255, 255, 255);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!rgb_matrix_get_flags())
|
||||
{
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(77, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
53
keyboards/akko/acr87/config.h
Normal file
53
keyboards/akko/acr87/config.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/* Copyright (C) 2022 jonylee@hfd
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Use 5 dynamic keymap layers */
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 6
|
||||
|
||||
/* 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
|
||||
|
||||
/* SPI Config for spi flash*/
|
||||
#define SPI_DRIVER SPIDQ
|
||||
#define SPI_SCK_PIN B3
|
||||
#define SPI_MOSI_PIN B5
|
||||
#define SPI_MISO_PIN B4
|
||||
#define SPI_MOSI_PAL_MODE 5
|
||||
|
||||
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
|
||||
#define WEAR_LEVELING_BACKING_SIZE (8 * 1024)
|
||||
|
||||
/* I2C Config for LED Driver */
|
||||
#define DRIVER_COUNT 3
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
#define DRIVER_ADDR_2 0b1110111
|
||||
#define DRIVER_ADDR_3 0b1110110
|
||||
|
||||
#define I2C1_SCL_PAL_MODE 4
|
||||
#define I2C1_OPMODE OPMODE_I2C
|
||||
#define I2C1_CLOCK_SPEED 400000 /* 400000 */
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 135
|
||||
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
#define RGB_TRIGGER_ON_KEYDOWN
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_MATRIX_KEYRELEASES
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user