Compare commits
27 Commits
Author | SHA1 | Date | |
---|---|---|---|
15a106b1ef | |||
ac9f9f9efb | |||
ec83c0b185 | |||
d300811009 | |||
27e6e27d3a | |||
5687fc7646 | |||
ebe36ea83c | |||
6b205c3064 | |||
b5d0c44690 | |||
d0e0b9e583 | |||
b0dc99fbd8 | |||
5b8dae0d61 | |||
fd56a2a1dc | |||
be9f6e679b | |||
b53356f7ab | |||
c402bac023 | |||
a030e8094f | |||
c3c401f91d | |||
b63e388692 | |||
81f3f0f3e9 | |||
d0c36a7683 | |||
c6cc638752 | |||
621dbdf8ee | |||
896f38c52c | |||
f56580404d | |||
5bb8f7ae84 | |||
d31d1488e8 |
8
.github/workflows/ci_builds.yml
vendored
8
.github/workflows/ci_builds.yml
vendored
@ -39,11 +39,13 @@ jobs:
|
||||
- name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }})
|
||||
run: |
|
||||
export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
|
||||
qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes
|
||||
qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes || touch .failed
|
||||
# Generate the step summary markdown
|
||||
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY
|
||||
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
|
||||
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
|
||||
truncate --size='<960K' $GITHUB_STEP_SUMMARY
|
||||
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
|
||||
# Exit with failure if the compilation stage failed
|
||||
[ ! -f .failed ] || exit 1
|
||||
|
||||
- name: 'Upload artifacts'
|
||||
uses: actions/upload-artifact@v3
|
||||
|
@ -46,16 +46,7 @@ Before starting, you will want to make sure that you have all of the build tools
|
||||
|
||||
This part is super simple. However, there is some configuration that we need to do to ensure things are configured correctly.
|
||||
|
||||
### Configuring VS Code
|
||||
|
||||
First, we need to set up IntelliSense. This isn't strictly required, but it will make your life a LOT easier. To do this, we need to create the `.vscode/c_cpp_properties.json` file in the QMK Firmware folder, You can do this all manually, but I've done most of the work already.
|
||||
|
||||
Grab [this file](https://gist.github.com/drashna/48e2c49ce877be592a1650f91f8473e8) and save it. You may need to edit this file, if you didn't install MSYS2 to the default location, or are using WSL/LxSS.
|
||||
|
||||
Once you have saved this file, you will need to reload VS Code, if it was already running.
|
||||
|
||||
?> You should see an `extensions.json` and `settings.json` file in the `.vscode` folder, as well.
|
||||
|
||||
#### MSYS2 Setup
|
||||
|
||||
Now, we will set up the MSYS2 window to show up in VSCode as the integrated terminal. This has a number of advantages. Mostly, you can control+click on errors and jump to those files. This makes debugging much easier. It's also nice, in that you don't have to jump to another window.
|
||||
|
||||
@ -110,8 +101,50 @@ This installs a bunch of Git related tools that may make using Git with QMK Firm
|
||||
Restart once you've installed any extensions
|
||||
|
||||
# Configure VS Code for QMK
|
||||
|
||||
1. Click <kbd><kbd>File</kbd> > <kbd>Open Folder</kbd></kbd>
|
||||
2. Open the QMK Firmware folder that you cloned from GitHub.
|
||||
3. Click <kbd><kbd>File</kbd> > <kbd>Save Workspace As...</kbd></kbd>
|
||||
|
||||
## Configuring VS Code
|
||||
|
||||
Using the [standard `compile_commands.json` database](https://clang.llvm.org/docs/JSONCompilationDatabase.html), we can get VS code C/C++ extension to use the exact same includes and defines used for your keyboard and keymap.
|
||||
|
||||
1. Run `qmk generate-compilation-database -kb <keyboard> -km <keymap>` to generate the `compile_commands.json`.
|
||||
1. Create `.vscode/c_cpp_properties.json` with the following content:
|
||||
```
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "qmk",
|
||||
"compilerArgs": ["-mmcu=atmega32u4"],
|
||||
"compilerPath": "/usr/bin/avr-gcc",
|
||||
"cStandard": "gnu11",
|
||||
"cppStandard": "gnu++14",
|
||||
"compileCommands": "${workspaceFolder}/compile_commands.json",
|
||||
"intelliSenseMode": "linux-gcc-arm",
|
||||
"browse": {
|
||||
"path": [
|
||||
"${workspaceFolder}"
|
||||
],
|
||||
"limitSymbolsToIncludedHeaders": true,
|
||||
"databaseFilename": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
}
|
||||
```
|
||||
|
||||
Change values in `.vscode/c_cpp_properties.json` for your environment:
|
||||
|
||||
1. Copy the `-mmcu` argument from `compile_commands.json` into your `compilerArgs`. This is to work around a [bug in vscode c/c++ extension](https://github.com/microsoft/vscode-cpptools/issues/6478).
|
||||
1. Use the `compilerPath` from `compile_commands.json`.
|
||||
1. Modify `cStandard`, `cppStandard` and `intelliSenseMode` values to the correct values for your platform. See [this section](https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference#_configuration-properties) for reference. For WSL, it should still be gcc-x64.
|
||||
|
||||
And now you're ready to code QMK Firmware in VS Code
|
||||
|
||||
|
||||
## Troubleshooting VSCode C/C++ extension
|
||||
|
||||
If the defines are not matching what you expect, open the source code and run action `C/C++: Log Diagnostics`. This will list the exact list of defines and include paths defined in `compile_commands.json`, and if it's not part of your compilation database, it will tell you so.
|
@ -1,27 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
QK_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_BSLS,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_LBRC, KC_RBRC, KC_BSPC,
|
||||
KC_LGUI, 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,
|
||||
SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, SC_RSPC, MO(2),
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_RALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
QK_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_BSLS,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_LBRC, KC_RBRC, KC_BSPC,
|
||||
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_NO, KC_ENT,
|
||||
SC_LSPO, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, SC_RSPC, MO(2),
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_RALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, KC_RCTL),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
KC_EXEC, 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_INS, _______,
|
||||
_______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL,
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, KC_PENT,
|
||||
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
DF(1), DF(0), _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, QK_BOOT )
|
||||
};
|
||||
|
||||
|
39
keyboards/4pplet/steezy60/keymaps/canon/keymap.c
Normal file
39
keyboards/4pplet/steezy60/keymaps/canon/keymap.c
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ | Ent│
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───| er │
|
||||
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift│ │
|
||||
* ├────┬───|───┴┬──┴┬──┴───┴───┴───┴───┴┬──┴┬──┴┬──┴─┬───|────┤
|
||||
* │Ctrl│GUI│None│Alt│ Space │Alt│GUI│None│App│Ctrl│
|
||||
* └────┴───┴────┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
||||
*/
|
||||
[0] = LAYOUT_canon(
|
||||
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_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,
|
||||
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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_NO, KC_APP, KC_RCTL)
|
||||
};
|
@ -1,18 +1,34 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[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_BSLS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
|
||||
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_BSLS,
|
||||
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_NO, KC_RSFT, KC_NO,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
|
||||
|
||||
[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_DEL,
|
||||
_______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______ )
|
||||
};
|
||||
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_DEL,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
|
||||
};
|
||||
|
@ -1,32 +1,48 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[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_BSLS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
|
||||
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_BSLS,
|
||||
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_NUBS, KC_ENT,
|
||||
KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
|
||||
|
||||
[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_DEL,
|
||||
_______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______ ),
|
||||
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_DEL,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ )
|
||||
};
|
||||
};
|
||||
|
@ -5,10 +5,25 @@ A 60% PCB with a ton of layout options for SMK and Alps switches
|
||||
More info: https://geekhack.org/index.php?topic=103531.0
|
||||
|
||||
* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
|
||||
* Hardware Supported: Steezy60 Rev A
|
||||
* Hardware Supported: Steezy60 Rev A and B
|
||||
* Hardware Availability: https://4pplet.com/products/steezy60
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 4pplet/steezy60/rev_a:default
|
||||
make 4pplet/steezy60/rev_b: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).
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 4pplet/steezy60/rev_a:default:flash
|
||||
make 4pplet/steezy60/rev_b: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down Escape and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB or short the reset header
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
@ -1,26 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
// ROWS: Top to bottom, COLS: Left to right
|
||||
#define MATRIX_ROW_PINS {C2,D0,B0,C7,C5}
|
||||
#define MATRIX_COL_PINS {C4,C6,B7,B6,B5,B4,B3,B2,B1,D6,D5,D4,D2,D1}
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define RGB_DI_PIN D3
|
||||
#define RGBLED_NUM 12
|
||||
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
||||
#include "rev_a.h"
|
@ -1,18 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k4d, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d,k4c, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
|
||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
|
||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
|
||||
{k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
|
||||
{k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d} \
|
||||
}
|
@ -1,12 +1,4 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
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
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
KEY_LOCK_ENABLE = yes
|
||||
|
19
keyboards/4pplet/steezy60/rev_b/config.h
Normal file
19
keyboards/4pplet/steezy60/rev_b/config.h
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define WS2812_EXTERNAL_PULLUP
|
725
keyboards/4pplet/steezy60/rev_b/info.json
Normal file
725
keyboards/4pplet/steezy60/rev_b/info.json
Normal file
File diff suppressed because it is too large
Load Diff
10
keyboards/4pplet/steezy60/rev_b/rules.mk
Normal file
10
keyboards/4pplet/steezy60/rev_b/rules.mk
Normal file
@ -0,0 +1,10 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
KEY_LOCK_ENABLE = yes
|
||||
|
||||
# Wildcard to allow APM32 MCU
|
||||
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
73
keyboards/alhenkb/macropad5x4/info.json
Normal file
73
keyboards/alhenkb/macropad5x4/info.json
Normal file
@ -0,0 +1,73 @@
|
||||
{
|
||||
"manufacturer": "AlhenKB",
|
||||
"keyboard_name": "Macropad 5x4",
|
||||
"maintainer": "alhenx",
|
||||
"development_board": "promicro",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"rows": ["F5", "F7", "B3", "B6", "B5"],
|
||||
"cols": ["F4", "F6", "B1", "B2"]
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0001",
|
||||
"vid": "0x6178"
|
||||
},
|
||||
"community_layouts": ["ortho_5x4", "numpad_5x4"],
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x4": {
|
||||
"layout": [
|
||||
{"label": "K00 (F5,F4)", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "K01 (F5,F6)", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "K02 (F5,B1)", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "K03 (F5,B2)", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "K10 (F7,F4)", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "K11 (F7,F6)", "matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"label": "K12 (F7,B1)", "matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"label": "K13 (F7,B2)", "matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"label": "K20 (B3,F4)", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "K21 (B3,F6)", "matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"label": "K22 (B3,B1)", "matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"label": "K23 (B3,B2)", "matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"label": "K30 (B6,F4)", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "K31 (B6,F6)", "matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"label": "K32 (B6,B1)", "matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"label": "K33 (B6,B2)", "matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"label": "K40 (B5,F4)", "matrix": [4, 0], "x": 0, "y": 4},
|
||||
{"label": "K41 (B5,F6)", "matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"label": "K42 (B5,B1)", "matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"label": "K43 (B5,B2)", "matrix": [4, 3], "x": 3, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_numpad_5x4": {
|
||||
"layout": [
|
||||
{"label": "K00 (F5,F4)", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "K01 (F5,F6)", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "K02 (F5,B1)", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "K03 (F5,B2)", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "K10 (F7,F4)", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "K11 (F7,F6)", "matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"label": "K12 (F7,B1)", "matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"label": "K20 (B3,F4)", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "K21 (B3,F6)", "matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"label": "K22 (B3,B1)", "matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"label": "K23 (B3,B2)", "matrix": [2, 3], "x": 3, "y": 1, "h": 2},
|
||||
{"label": "K30 (B6,F4)", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "K31 (B6,F6)", "matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"label": "K32 (B6,B1)", "matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"label": "K40 (B5,F4)", "matrix": [4, 0], "x": 0, "y": 4, "w": 2},
|
||||
{"label": "K42 (B5,B1)", "matrix": [4, 2], "x": 2, "y": 4}
|
||||
{"label": "K43 (B5,B2)", "matrix": [4, 3], "x": 3, "y": 3, "h": 2},
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
27
keyboards/alhenkb/macropad5x4/keymaps/default/keymap.c
Normal file
27
keyboards/alhenkb/macropad5x4/keymaps/default/keymap.c
Normal file
@ -0,0 +1,27 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │ 1 │ 2 │ 3 │ 4 │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 5 │ 6 │ 7 │ 8 │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ Q │ W │ E │ R │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ A │ S │ D │ F │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ Z │ X │ C │ V │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_ortho_5x4(
|
||||
KC_P1, KC_P2, KC_P3, KC_P4,
|
||||
KC_P5, KC_P6, KC_P7, KC_P8,
|
||||
KC_Q, KC_W, KC_E, KC_R,
|
||||
KC_A, KC_S, KC_D, KC_F,
|
||||
KC_Z, KC_X, KC_C, KC_V
|
||||
),
|
||||
};
|
48
keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c
Normal file
48
keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c
Normal file
@ -0,0 +1,48 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 7 │ 8 │ 9 │ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ 4 │ 5 │ 6 │ │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 1 │ 2 │ 3 │ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │ 0 │ . │ │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_numpad_5x4(
|
||||
TG(1), KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* ┌───┬───┬───┐───┤
|
||||
* │Hom│ ↑ │PgU│ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ ← │ │ → │ │
|
||||
* ├───┼───┼───┤───┤
|
||||
* │End│ ↓ │PgD│ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │Insert │Del│ │
|
||||
* └───────┴───┘───┘
|
||||
*/
|
||||
[1] = LAYOUT_numpad_5x4(
|
||||
_______, _______, _______, _______,
|
||||
KC_HOME, KC_UP, KC_PGUP,
|
||||
KC_LEFT, XXXXXXX, KC_RGHT, _______,
|
||||
KC_END, KC_DOWN, KC_PGDN,
|
||||
KC_INS, KC_DEL, _______
|
||||
)
|
||||
};
|
27
keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c
Normal file
27
keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c
Normal file
@ -0,0 +1,27 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │ 1 │ 2 │ 3 │ 4 │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 5 │ 6 │ 7 │ 8 │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ Q │ W │ E │ R │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ A │ S │ D │ F │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ Z │ X │ C │ V │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_ortho_5x4(
|
||||
KC_P1, KC_P2, KC_P3, KC_P4,
|
||||
KC_P5, KC_P6, KC_P7, KC_P8,
|
||||
KC_Q, KC_W, KC_E, KC_R,
|
||||
KC_A, KC_S, KC_D, KC_F,
|
||||
KC_Z, KC_X, KC_C, KC_V
|
||||
),
|
||||
};
|
1
keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk
Normal file
1
keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
41
keyboards/alhenkb/macropad5x4/readme.md
Normal file
41
keyboards/alhenkb/macropad5x4/readme.md
Normal file
@ -0,0 +1,41 @@
|
||||
# AlhenKB - Macropad 5x4 and Numpad
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
A macropad 5x4 for MerryPCB.
|
||||
|
||||
* Keyboard Maintainer: [Alhen](https://github.com/alhenx)
|
||||
* Hardware Supported: MerryPCB
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
Macropad:
|
||||
|
||||
make alhenkb/macropad5x4:default
|
||||
|
||||
Numpad:
|
||||
|
||||
make alhenkb/macropad5x4:numpad
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
Macropad:
|
||||
|
||||
make alhenkb/macropad5x4:default:flash
|
||||
|
||||
|
||||
Numpad:
|
||||
|
||||
make alhenkb/macropad5x4:numpad: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/alhenkb/macropad5x4/rules.mk
Normal file
1
keyboards/alhenkb/macropad5x4/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
56
keyboards/butterkeebs/pocketpad/info.json
Normal file
56
keyboards/butterkeebs/pocketpad/info.json
Normal file
@ -0,0 +1,56 @@
|
||||
{
|
||||
"manufacturer": "ButterKeebs",
|
||||
"keyboard_name": "PocketPad",
|
||||
"maintainer": "qmk",
|
||||
"diode_direction": "ROW2COL",
|
||||
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x1475",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F1", "C7", "D5", "B7"],
|
||||
"rows": ["F7", "F6", "F5", "F4", "B1"]
|
||||
},
|
||||
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0, "matrix": [0,0]},
|
||||
{"x": 1, "y": 0, "matrix": [0,1]},
|
||||
{"x": 2, "y": 0, "matrix": [0,2]},
|
||||
{"x": 3, "y": 0, "matrix": [0,3]},
|
||||
|
||||
{"x": 0, "y": 1, "matrix": [1,0]},
|
||||
{"x": 1, "y": 1, "matrix": [1,1]},
|
||||
{"x": 2, "y": 1, "matrix": [1,2]},
|
||||
{"x": 3, "y": 1, "matrix": [1,3]},
|
||||
|
||||
{"x": 0, "y": 2, "matrix": [2,0]},
|
||||
{"x": 1, "y": 2, "matrix": [2,1]},
|
||||
{"x": 2, "y": 2, "matrix": [2,2]},
|
||||
{"x": 3, "y": 2, "matrix": [2,3]},
|
||||
|
||||
{"x": 0, "y": 3, "matrix": [3,0]},
|
||||
{"x": 1, "y": 3, "matrix": [3,1]},
|
||||
{"x": 2, "y": 3, "matrix": [3,2]},
|
||||
{"x": 3, "y": 3, "matrix": [3,3]},
|
||||
|
||||
{"x": 0, "y": 4, "matrix": [4,0]},
|
||||
{"x": 1, "y": 4, "matrix": [4,1]}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
14
keyboards/butterkeebs/pocketpad/keymaps/default/keymap.c
Normal file
14
keyboards/butterkeebs/pocketpad/keymaps/default/keymap.c
Normal file
@ -0,0 +1,14 @@
|
||||
// ButterKeebs <butterkeebs@github>
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
LAYOUT(
|
||||
KC_NUM_LOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
|
||||
KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
|
||||
KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_ENTER,
|
||||
KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_DOT,
|
||||
KC_F, KC_KP_0)
|
||||
};
|
27
keyboards/butterkeebs/pocketpad/readme.md
Normal file
27
keyboards/butterkeebs/pocketpad/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# PocketPad
|
||||
|
||||

|
||||
|
||||
*The PocketPad is a tiny 18 key macropad/numpad using 6mm tactile switches.*
|
||||
|
||||
* Keyboard Maintainer: [ButterKeebs](https://github.com/butterkeebs)
|
||||
* Hardware Supported: *Supports current V1.0.0 PocketPad PCB and Elite C / pin compatible MCU boards.*
|
||||
* Hardware Availability: *Currently not for sale*
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make butterkeebs/pocketpad:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make butterkeebs/pocketpad: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB. (Not available on Revision 1.0.0 PCB)
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/butterkeebs/pocketpad/rules.mk
Normal file
1
keyboards/butterkeebs/pocketpad/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally blank
|
@ -1,4 +1,4 @@
|
||||
/* Copyright 2022 HorrorTroll <https://github.com/HorrorTroll>
|
||||
/* Copyright 2023 Citrus Lab
|
||||
*
|
||||
* 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
|
||||
@ -13,15 +13,11 @@
|
||||
* 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 "led/flower_blooming/flower_blooming.h"
|
||||
// The pin connected to the data pin of the LEDs
|
||||
#define RGBLIGHT_LAYERS//允许您定义可打开或关闭的照明层。非常适合显示当前键盘层或大写锁定状态。
|
||||
#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF//如果已定义,则即使 RGB 光源处于关闭状态,也会显示照明图层。
|
||||
|
||||
static HSV FLOWER_BLOOMING_math(HSV hsv, uint8_t i, uint8_t time) {
|
||||
if (g_led_config.point[i].y > k_rgb_matrix_center.y)
|
||||
hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 + time;
|
||||
else
|
||||
hsv.h = g_led_config.point[i].x * 3 - g_led_config.point[i].y * 3 - time;
|
||||
return hsv;
|
||||
}
|
||||
|
||||
bool FLOWER_BLOOMING(effect_params_t* params) { return effect_runner_bloom(params, &FLOWER_BLOOMING_math); }
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
#define LOCKING_RESYNC_ENABLE//尝试使开关状态与键盘指示灯状态保持一致
|
28
keyboards/citrus/erdnuss65/erdnuss65.c
Normal file
28
keyboards/citrus/erdnuss65/erdnuss65.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright 2023 Citrus Lab
|
||||
*
|
||||
* 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"
|
||||
|
||||
//Indicator light function
|
||||
bool led_update_kb(led_t led_state) {
|
||||
if (led_update_user(led_state)) {
|
||||
if (led_state.caps_lock) {
|
||||
rgblight_setrgb_at(255, 255, 255, 0); //white
|
||||
} else {
|
||||
rgblight_setrgb_at(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
109
keyboards/citrus/erdnuss65/info.json
Normal file
109
keyboards/citrus/erdnuss65/info.json
Normal file
@ -0,0 +1,109 @@
|
||||
{
|
||||
"keyboard_name": "Erdnuss65",
|
||||
"manufacturer": "Citrus Lab",
|
||||
"processor": "STM32F103",
|
||||
"bootloader": "stm32duino",
|
||||
"maintainer": "ctt",
|
||||
"usb": {
|
||||
"vid": "0x636C",
|
||||
"pid": "0x6374",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
|
||||
"matrix_pins": {
|
||||
"rows":
|
||||
["B10","B1", "B0","A7","A6"],
|
||||
"cols":
|
||||
["B12","B14","B15","A8","B13","B3","B4","B5","A1","A2","A0","A3","A4","A5","B11"]
|
||||
},
|
||||
|
||||
"diode_direction": "COL2ROW",
|
||||
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
"command": false,
|
||||
"nkro": true,
|
||||
"backlight": false,
|
||||
"rgblight": true,
|
||||
"audio": false
|
||||
},
|
||||
"rgblight": {
|
||||
"pin": "A15",
|
||||
"led_count": 1
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "ESC K00 (B10,B12)", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "1 K01 (B10,B14)", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "2 K02 (B10,B15)", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "3 K03 (B10,A8)", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "4 K04 (B10,B13)", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "5 K05 (B10,B3)", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "6 K06 (B10,B4)", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "7 K07 (B10,B5)", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "8 K08 (B10,A1)", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "9 K09 (B10,A2)", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": "0 K0A (B10,A0)", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "- K0B (B10,A3)", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "= K0C (B10,A4)", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "BACKSPACE K0D (B10,A5)", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"label": "INS (B10,B11)", "matrix": [0, 14], "x": 15, "y": 0},
|
||||
{"label": "TAB (B1,B12)", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q (B1,B14)", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W (B1,B15)", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E (B1,A8)", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R (B1,B13)", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T (B1,B3)", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y (B1,B4)", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U (B1,B5)", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I (B1,A1)", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O (B1,A2)", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P (B1,A0)", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "[ (B1,A3)", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "] (B1,A4)", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "\" (B1,A5)", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"label": "DEL (B1,B11)", "matrix": [1, 14], "x": 15, "y": 1},
|
||||
{"label": "CAPSLOCK (B0,B12)", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
|
||||
{"label": "A (B0,B14)", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S (B0,B15)", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D (B0,A8)", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F (B0,B13)", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G (B0,B3)", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H (B0,B4)", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J (B0,B5)", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K (B0,A1)", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L (B0,A2)", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": "; (B0,A0)", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "' (B0,A3)", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "ENTER (B0,A5)", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"label": "PGUP (B0,B11)", "matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"label": "LSHIFT (A7,B12)", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"label": "Z (A7,B14)", "matrix": [3, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X (A7,B15)", "matrix": [3, 2], "x": 3.25, "y": 3},
|
||||
{"label": "C (A7,A8)", "matrix": [3, 3], "x": 4.25, "y": 3},
|
||||
{"label": "V (A7,B13)", "matrix": [3, 4], "x": 5.25, "y": 3},
|
||||
{"label": "B (A7,B3)", "matrix": [3, 5], "x": 6.25, "y": 3},
|
||||
{"label": "N (A7,B4)", "matrix": [3, 6], "x": 7.25, "y": 3},
|
||||
{"label": "M (A7,B5)", "matrix": [3, 7], "x": 8.25, "y": 3},
|
||||
{"label": ", (A7,A1)", "matrix": [3, 8], "x": 9.25, "y": 3},
|
||||
{"label": ". (A7,A2)", "matrix": [3, 9], "x": 10.25, "y": 3},
|
||||
{"label": "/ (A7,A0)", "matrix": [3, 10], "x": 11.25, "y": 3},
|
||||
{"label": "RSHIFT (A7,A4)", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "UP (A7,A5)", "matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"label": "PGDN (A7,B11)", "matrix": [3, 14], "x": 15, "y": 3},
|
||||
{"label": "LCTRL (A6,B12)", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"label": "WIN (A6,B14)", "matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"label": "ALT (A6,B15)", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"label": "SPACE (A6,A8)", "matrix": [4, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"label": "FN (A6,A0)", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5},
|
||||
{"label": "LEFT (A6,A4)", "matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"label": "DOWN (A6,A5)", "matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"label": "RIGHT (A6,B11)", "matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
23
keyboards/citrus/erdnuss65/keymaps/default/keymap.c
Normal file
23
keyboards/citrus/erdnuss65/keymaps/default/keymap.c
Normal file
@ -0,0 +1,23 @@
|
||||
// Copyright 2023 Citrus Lab
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#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_MINS, KC_EQL, KC_BSPC, KC_INS,
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
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_MPRV,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, RESET, KC_MNXT,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, KC_HOME,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MYCM, KC_VOLU, KC_END,
|
||||
_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, KC_MPLY
|
||||
)
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user