mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-03-03 18:30:57 +00:00
Merge remote-tracking branch 'upstream/master' into docusaurus
This commit is contained in:
commit
6d53f61608
@ -37,9 +37,9 @@ For more information on bitwise operators in C, click [here](https://en.wikipedi
|
||||
|
||||
In practice, this means that you can check whether a given modifier is active with `get_mods() & MOD_BIT(KC_<modifier>)` (see the [list of modifier keycodes](keycodes_basic.md#modifiers)) or with `get_mods() & MOD_MASK_<modifier>` if the difference between left and right hand modifiers is not important and you want to match both. Same thing can be done for one-shot modifiers if you replace `get_mods()` with `get_oneshot_mods()`.
|
||||
|
||||
To check that *only* a specific set of mods is active at a time, AND the modifier state and your desired mod mask as explained above and compare the result to the mod mask itself: `get_mods() & <mod mask> == <mod mask>`.
|
||||
To check that *only* a specific set of mods is active at a time, use a simple equality operator: `get_mods() == <mod mask>`.
|
||||
|
||||
For example, let's say you want to trigger a piece of custom code if one-shot left control and one-shot left shift are on but every other one-shot mods are off. To do so, you can compose the desired mod mask by combining the mod bits for left control and shift with `(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))` and then plug it in: `get_oneshot_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT)) == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))`. Using `MOD_MASK_CS` instead for the mod bitmask would have forced you to press four modifier keys (both versions of control and shift) to fulfill the condition.
|
||||
For example, let's say you want to trigger a piece of custom code if one-shot left control and one-shot left shift are on but every other one-shot mods are off. To do so, you can compose the desired mod mask by combining the mod bits for left control and shift with `(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))` and then plug it in: `get_oneshot_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))`. Using `MOD_MASK_CS` instead for the mod bitmask would have forced you to press four modifier keys (both versions of control and shift) to fulfill the condition.
|
||||
|
||||
The full list of mod masks is as follows:
|
||||
|
||||
@ -91,7 +91,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
case KC_ESC:
|
||||
// Detect the activation of only Left Alt
|
||||
if ((get_mods() & MOD_BIT(KC_LALT)) == MOD_BIT(KC_LALT)) {
|
||||
if (get_mods() == MOD_BIT(KC_LALT)) {
|
||||
if (record->event.pressed) {
|
||||
// No need to register KC_LALT because it's already active.
|
||||
// The Alt modifier will apply on this KC_TAB.
|
||||
@ -184,4 +184,4 @@ This page used to encompass a large set of features. We have moved many sections
|
||||
|
||||
## Key Overrides {#key-overrides}
|
||||
|
||||
* [Key Overrides](feature_key_overrides.md)
|
||||
* [Key Overrides](feature_key_overrides.md)
|
||||
|
@ -58,7 +58,7 @@ const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
|
||||
const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END};
|
||||
const uint16_t PROGMEM sd_combo[] = {KC_S, KC_D, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
[AB_ESC] = COMBO(ab_combo, KC_ESC),
|
||||
[JK_TAB] = COMBO(jk_combo, KC_TAB),
|
||||
[QW_SFT] = COMBO(qw_combo, KC_LSFT),
|
||||
|
@ -450,6 +450,75 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
This allows you to toggle between scrolling and cursor movement by pressing the DRAG_SCROLL key.
|
||||
|
||||
### Advanced Drag Scroll
|
||||
|
||||
Sometimes, like with the Cirque trackpad, you will run into issues where the scrolling may be too fast.
|
||||
|
||||
Here is a slightly more advanced example of drag scrolling. You will be able to change the scroll speed based on the values in set in `SCROLL_DIVISOR_H` and `SCROLL_DIVISOR_V`. This bit of code is also set up so that instead of toggling the scrolling state with set_scrolling = !set_scrolling, the set_scrolling variable is set directly to record->event.pressed. This way, the drag scrolling will only be active while the DRAG_SCROLL button is held down.
|
||||
|
||||
```c
|
||||
enum custom_keycodes {
|
||||
DRAG_SCROLL = SAFE_RANGE,
|
||||
};
|
||||
|
||||
bool set_scrolling = false;
|
||||
|
||||
// Modify these values to adjust the scrolling speed
|
||||
#define SCROLL_DIVISOR_H 8.0
|
||||
#define SCROLL_DIVISOR_V 8.0
|
||||
|
||||
// Variables to store accumulated scroll values
|
||||
float scroll_accumulated_h = 0;
|
||||
float scroll_accumulated_v = 0;
|
||||
|
||||
// Function to handle mouse reports and perform drag scrolling
|
||||
report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
|
||||
// Check if drag scrolling is active
|
||||
if (set_scrolling) {
|
||||
// Calculate and accumulate scroll values based on mouse movement and divisors
|
||||
scroll_accumulated_h += (float)mouse_report.x / SCROLL_DIVISOR_H;
|
||||
scroll_accumulated_v += (float)mouse_report.y / SCROLL_DIVISOR_V;
|
||||
|
||||
// Assign integer parts of accumulated scroll values to the mouse report
|
||||
mouse_report.h = (int8_t)scroll_accumulated_h;
|
||||
mouse_report.v = (int8_t)scroll_accumulated_v;
|
||||
|
||||
// Update accumulated scroll values by subtracting the integer parts
|
||||
scroll_accumulated_h -= (int8_t)scroll_accumulated_h;
|
||||
scroll_accumulated_v -= (int8_t)scroll_accumulated_v;
|
||||
|
||||
// Clear the X and Y values of the mouse report
|
||||
mouse_report.x = 0;
|
||||
mouse_report.y = 0;
|
||||
}
|
||||
return mouse_report;
|
||||
}
|
||||
|
||||
// Function to handle key events and enable/disable drag scrolling
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case DRAG_SCROLL:
|
||||
// Toggle set_scrolling when DRAG_SCROLL key is pressed or released
|
||||
set_scrolling = record->event.pressed;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Function to handle layer changes and disable drag scrolling when not in AUTO_MOUSE_DEFAULT_LAYER
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// Disable set_scrolling if the current layer is not the AUTO_MOUSE_DEFAULT_LAYER
|
||||
if (get_highest_layer(state) != AUTO_MOUSE_DEFAULT_LAYER) {
|
||||
set_scrolling = false;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
## Split Examples
|
||||
|
||||
The following examples make use the `SPLIT_POINTING_ENABLE` functionality and show how to manipulate the mouse report for a scrolling mode.
|
||||
|
336
keyboards/bahm/aster_ergo/info.json
Normal file
336
keyboards/bahm/aster_ergo/info.json
Normal file
@ -0,0 +1,336 @@
|
||||
{
|
||||
"manufacturer": "Mechlovin Studio",
|
||||
"keyboard_name": "Aster Ergo",
|
||||
"maintainer": "Bahm",
|
||||
"processor": "STM32F103",
|
||||
"bootloader": "stm32duino",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": true,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B1", "B0", "A7", "A6", "B4", "B3", "A15", "A5", "A2", "A1"],
|
||||
"rows": ["B7", "B6", "B5", "B11", "B10", "A4"]
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x8701",
|
||||
"vid": "0xBA00"
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "B2",
|
||||
"scroll_lock": "C13"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 14.5, "y": 0},
|
||||
{"matrix": [0, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 18.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 19.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [1, 11], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [1, 12], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [1, 13], "x": 14.5, "y": 1.25},
|
||||
{"matrix": [2, 13], "x": 15.5, "y": 1.25},
|
||||
{"matrix": [1, 14], "x": 17.25, "y": 1.25},
|
||||
{"matrix": [1, 15], "x": 18.25, "y": 1.25},
|
||||
{"matrix": [1, 16], "x": 19.25, "y": 1.25},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 11, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 12, "y": 2.25},
|
||||
{"matrix": [2, 11], "x": 13, "y": 2.25},
|
||||
{"matrix": [2, 12], "x": 14, "y": 2.25},
|
||||
{"matrix": [3, 13], "x": 15, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 2.25},
|
||||
{"matrix": [2, 15], "x": 18.25, "y": 2.25},
|
||||
{"matrix": [2, 16], "x": 19.25, "y": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [3, 11], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [3, 12], "x": 14.25, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||
{"matrix": [5, 7], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [4, 11], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [4, 12], "x": 13.75, "y": 4.25, "w": 1.75},
|
||||
{"matrix": [4, 13], "x": 15.5, "y": 4.25},
|
||||
{"matrix": [4, 15], "x": 18.25, "y": 4.25},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 5], "x": 5, "y": 5.25, "w": 2.25},
|
||||
{"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.75},
|
||||
{"matrix": [5, 9], "x": 10.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 10], "x": 11.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 12], "x": 14.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 14], "x": 17.25, "y": 5.25},
|
||||
{"matrix": [5, 15], "x": 18.25, "y": 5.25},
|
||||
{"matrix": [5, 16], "x": 19.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 14.5, "y": 0},
|
||||
{"matrix": [0, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 18.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 19.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [1, 11], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [1, 12], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [1, 13], "x": 14.5, "y": 1.25, "w": 2},
|
||||
{"matrix": [1, 14], "x": 17.25, "y": 1.25},
|
||||
{"matrix": [1, 15], "x": 18.25, "y": 1.25},
|
||||
{"matrix": [1, 16], "x": 19.25, "y": 1.25},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 11, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 12, "y": 2.25},
|
||||
{"matrix": [2, 11], "x": 13, "y": 2.25},
|
||||
{"matrix": [2, 12], "x": 14, "y": 2.25},
|
||||
{"matrix": [3, 13], "x": 15, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 2.25},
|
||||
{"matrix": [2, 15], "x": 18.25, "y": 2.25},
|
||||
{"matrix": [2, 16], "x": 19.25, "y": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [3, 11], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [3, 12], "x": 14.25, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||
{"matrix": [5, 7], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [4, 11], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [4, 12], "x": 13.75, "y": 4.25, "w": 2.75},
|
||||
{"matrix": [4, 15], "x": 18.25, "y": 4.25},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 5], "x": 5, "y": 5.25, "w": 2.25},
|
||||
{"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.75},
|
||||
{"matrix": [5, 9], "x": 10.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 10], "x": 11.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 12], "x": 14.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 14], "x": 17.25, "y": 5.25},
|
||||
{"matrix": [5, 15], "x": 18.25, "y": 5.25},
|
||||
{"matrix": [5, 16], "x": 19.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 14.5, "y": 0},
|
||||
{"matrix": [0, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 18.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 19.25, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"matrix": [1, 7], "x": 8.5, "y": 1.25},
|
||||
{"matrix": [1, 8], "x": 9.5, "y": 1.25},
|
||||
{"matrix": [1, 9], "x": 10.5, "y": 1.25},
|
||||
{"matrix": [1, 10], "x": 11.5, "y": 1.25},
|
||||
{"matrix": [1, 11], "x": 12.5, "y": 1.25},
|
||||
{"matrix": [1, 12], "x": 13.5, "y": 1.25},
|
||||
{"matrix": [1, 13], "x": 14.5, "y": 1.25, "w": 2},
|
||||
{"matrix": [1, 14], "x": 17.25, "y": 1.25},
|
||||
{"matrix": [1, 15], "x": 18.25, "y": 1.25},
|
||||
{"matrix": [1, 16], "x": 19.25, "y": 1.25},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"matrix": [2, 6], "x": 8, "y": 2.25},
|
||||
{"matrix": [2, 7], "x": 9, "y": 2.25},
|
||||
{"matrix": [2, 8], "x": 10, "y": 2.25},
|
||||
{"matrix": [2, 9], "x": 11, "y": 2.25},
|
||||
{"matrix": [2, 10], "x": 12, "y": 2.25},
|
||||
{"matrix": [2, 11], "x": 13, "y": 2.25},
|
||||
{"matrix": [2, 12], "x": 14, "y": 2.25},
|
||||
{"matrix": [3, 13], "x": 15.25, "y": 2.25, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 2.25},
|
||||
{"matrix": [2, 15], "x": 18.25, "y": 2.25},
|
||||
{"matrix": [2, 16], "x": 19.25, "y": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"matrix": [3, 6], "x": 8.25, "y": 3.25},
|
||||
{"matrix": [3, 7], "x": 9.25, "y": 3.25},
|
||||
{"matrix": [3, 8], "x": 10.25, "y": 3.25},
|
||||
{"matrix": [3, 9], "x": 11.25, "y": 3.25},
|
||||
{"matrix": [3, 10], "x": 12.25, "y": 3.25},
|
||||
{"matrix": [3, 11], "x": 13.25, "y": 3.25},
|
||||
{"matrix": [3, 12], "x": 14.25, "y": 3.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4.25},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4.25},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4.25},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4.25},
|
||||
{"matrix": [5, 7], "x": 7.75, "y": 4.25},
|
||||
{"matrix": [4, 7], "x": 8.75, "y": 4.25},
|
||||
{"matrix": [4, 8], "x": 9.75, "y": 4.25},
|
||||
{"matrix": [4, 9], "x": 10.75, "y": 4.25},
|
||||
{"matrix": [4, 10], "x": 11.75, "y": 4.25},
|
||||
{"matrix": [4, 11], "x": 12.75, "y": 4.25},
|
||||
{"matrix": [4, 12], "x": 13.75, "y": 4.25, "w": 2.75},
|
||||
{"matrix": [4, 15], "x": 18.25, "y": 4.25},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 4], "x": 3.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 5], "x": 5, "y": 5.25, "w": 2.25},
|
||||
{"matrix": [5, 8], "x": 7.75, "y": 5.25, "w": 2.75},
|
||||
{"matrix": [5, 9], "x": 10.5, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 10], "x": 11.75, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 12], "x": 14.25, "y": 5.25, "w": 1.25},
|
||||
{"matrix": [5, 14], "x": 17.25, "y": 5.25},
|
||||
{"matrix": [5, 15], "x": 18.25, "y": 5.25},
|
||||
{"matrix": [5, 16], "x": 19.25, "y": 5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
28
keyboards/bahm/aster_ergo/keymaps/default/keymap.c
Normal file
28
keyboards/bahm/aster_ergo/keymaps/default/keymap.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright 2023 Mechlovin' Studio
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_tkl_ansi(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
52
keyboards/bahm/aster_ergo/keymaps/via/keymap.c
Normal file
52
keyboards/bahm/aster_ergo/keymaps/via/keymap.c
Normal file
@ -0,0 +1,52 @@
|
||||
/* Copyright 2023 Mechlovin' Studio
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(2), KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
3
keyboards/bahm/aster_ergo/keymaps/via/rules.mk
Normal file
3
keyboards/bahm/aster_ergo/keymaps/via/rules.mk
Normal file
@ -0,0 +1,3 @@
|
||||
# This file intentionally left blank
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
25
keyboards/bahm/aster_ergo/readme.md
Normal file
25
keyboards/bahm/aster_ergo/readme.md
Normal file
@ -0,0 +1,25 @@
|
||||
# bahm/aster_ergo
|
||||
|
||||
The Aster Ergo PCB for the Aster Ergo keyboard (A TKL ergo keyboarđ)
|
||||
|
||||
* Keyboard Maintainer: [mechlovin](https://github.com/mechlovin)
|
||||
* Hardware Supported: Aster Ergo PCB, APM32F103
|
||||
* Hardware Availability: [GH](https://geekhack.org/index.php?topic=116962.0)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make bahm/aster_ergo:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make bahm/aster_ergo: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 - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/bahm/aster_ergo/rules.mk
Normal file
1
keyboards/bahm/aster_ergo/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
@ -5,9 +5,9 @@
|
||||
"maintainer": "SamuraiKek",
|
||||
"debounce": 2,
|
||||
"usb": {
|
||||
"vid": "0xFEED",
|
||||
"pid": "0x0000",
|
||||
"device_version": "0.0.2"
|
||||
"vid": "0x424D",
|
||||
"pid": "0x4D4E",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"split": {
|
||||
"soft_serial_pin": "D0"
|
||||
@ -16,7 +16,7 @@
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
"layout": [
|
||||
{"label":"Esc", "x":0, "y":0.75},
|
||||
{"label":"1", "x":1, "y":0.5},
|
||||
{"label":"2", "x":2, "y":0.25},
|
||||
|
@ -16,4 +16,3 @@
|
||||
|
||||
#pragma once
|
||||
#define EE_HANDS
|
||||
|
||||
|
@ -15,13 +15,13 @@
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
enum custom_keycodes {
|
||||
_QWERTY,
|
||||
_LOWER
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
_LOWER
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
|
||||
/*
|
||||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05,
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15,
|
||||
@ -57,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_LCTL, KC_HOME, KC_INS, KC_DEL, KC_LGUI, KC_SPC, KC_LALT, KC_ENT, KC_BSPC, LOWER, KC_LBRC, KC_RBRC, KC_END, KC_GRV
|
||||
KC_LCTL, KC_HOME, KC_INS, KC_DEL, KC_LGUI, KC_SPC, KC_LALT, KC_ENT, KC_BSPC, LOWER, KC_LBRC, KC_RBRC, KC_END, KC_GRV
|
||||
// └────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
|
76
keyboards/blank_tehnologii/manibus/keymaps/via/keymap.c
Normal file
76
keyboards/blank_tehnologii/manibus/keymaps/via/keymap.c
Normal file
@ -0,0 +1,76 @@
|
||||
/* Copyright 2021 SamuraiKek
|
||||
*
|
||||
* 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 custom_layers {
|
||||
_QWERTY,
|
||||
_FN1
|
||||
};
|
||||
|
||||
#define FN1 MO(_FN1)
|
||||
/*
|
||||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05,
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15,
|
||||
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25,
|
||||
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35,
|
||||
L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46,
|
||||
|
||||
[_UNIVERSAL] = LAYOUT(
|
||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
// └────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
|
||||
)
|
||||
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_LCTL, KC_HOME, KC_INS, KC_DEL, KC_LGUI, KC_SPC, KC_LALT, KC_ENT, KC_BSPC, FN1, KC_LBRC, KC_RBRC, KC_END, KC_GRV
|
||||
// └────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_FN1] = 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,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_UP, _______, KC_MPLY, KC_F12,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT,KC_VOLD, KC_VOLU,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPRV, KC_MNXT, _______, _______,
|
||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
|
||||
// └────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
|
||||
)
|
||||
};
|
1
keyboards/blank_tehnologii/manibus/keymaps/via/rules.mk
Normal file
1
keyboards/blank_tehnologii/manibus/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
@ -2,7 +2,7 @@
|
||||
"manufacturer": "Zach White",
|
||||
"keyboard_name": "DirectPins ProMicro",
|
||||
"maintainer": "skullydazed",
|
||||
"bootloader": "atmel-dfu",
|
||||
"development_board": "promicro",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
@ -22,7 +22,6 @@
|
||||
["B5", "B6"]
|
||||
]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x2320",
|
||||
|
98
keyboards/kbdcraft/adam64/adam64.c
Normal file
98
keyboards/kbdcraft/adam64/adam64.c
Normal file
@ -0,0 +1,98 @@
|
||||
/*
|
||||
* Copyright 2023 KBDCraft
|
||||
* Copyright 2023 Adophoxia <andyao1528@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#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
|
||||
* | | | | */
|
||||
{0, CS14_SW1, CS13_SW1, CS15_SW1},
|
||||
{0, CS14_SW2, CS13_SW2, CS15_SW2},
|
||||
{0, CS14_SW3, CS13_SW3, CS15_SW3},
|
||||
{0, CS14_SW4, CS13_SW4, CS15_SW4},
|
||||
{0, CS14_SW5, CS13_SW5, CS15_SW5},
|
||||
{0, CS14_SW6, CS13_SW6, CS15_SW6},
|
||||
{0, CS14_SW7, CS13_SW7, CS15_SW7},
|
||||
{0, CS32_SW1, CS31_SW1, CS33_SW1},
|
||||
{0, CS32_SW2, CS31_SW2, CS33_SW2},
|
||||
{0, CS32_SW3, CS31_SW3, CS33_SW3},
|
||||
{0, CS32_SW4, CS31_SW4, CS33_SW4},
|
||||
{0, CS32_SW5, CS31_SW5, CS33_SW5},
|
||||
{0, CS32_SW6, CS31_SW6, CS33_SW6},
|
||||
{0, CS32_SW7, CS31_SW7, CS33_SW7},
|
||||
|
||||
{0, CS23_SW1, CS24_SW1, CS22_SW1},
|
||||
{0, CS23_SW2, CS24_SW2, CS22_SW2},
|
||||
{0, CS23_SW3, CS24_SW3, CS22_SW3},
|
||||
{0, CS23_SW4, CS24_SW4, CS22_SW4},
|
||||
{0, CS23_SW5, CS24_SW5, CS22_SW5},
|
||||
{0, CS23_SW6, CS24_SW6, CS22_SW6},
|
||||
{0, CS23_SW7, CS24_SW7, CS22_SW7},
|
||||
{0, CS35_SW1, CS34_SW1, CS36_SW1},
|
||||
{0, CS35_SW2, CS34_SW2, CS36_SW2},
|
||||
{0, CS35_SW3, CS34_SW3, CS36_SW3},
|
||||
{0, CS35_SW4, CS34_SW4, CS36_SW4},
|
||||
{0, CS35_SW5, CS34_SW5, CS36_SW5},
|
||||
{0, CS35_SW6, CS34_SW6, CS36_SW6},
|
||||
{0, CS35_SW7, CS34_SW7, CS36_SW7},
|
||||
|
||||
{0, CS17_SW1, CS16_SW1, CS18_SW1},
|
||||
{0, CS17_SW2, CS16_SW2, CS18_SW2},
|
||||
{0, CS17_SW3, CS16_SW3, CS18_SW3},
|
||||
{0, CS17_SW4, CS16_SW4, CS18_SW4},
|
||||
{0, CS17_SW5, CS16_SW5, CS18_SW5},
|
||||
{0, CS17_SW6, CS16_SW6, CS18_SW6},
|
||||
{0, CS17_SW7, CS16_SW7, CS18_SW7},
|
||||
{0, CS26_SW1, CS25_SW1, CS27_SW1},
|
||||
{0, CS26_SW2, CS25_SW2, CS27_SW2},
|
||||
{0, CS26_SW3, CS25_SW3, CS27_SW3},
|
||||
{0, CS26_SW4, CS25_SW4, CS27_SW4},
|
||||
{0, CS26_SW5, CS25_SW5, CS27_SW5},
|
||||
{0, CS26_SW7, CS25_SW7, CS27_SW7},
|
||||
|
||||
{0, CS20_SW1, CS19_SW1, CS21_SW1},
|
||||
{0, CS20_SW2, CS19_SW2, CS21_SW2},
|
||||
{0, CS20_SW3, CS19_SW3, CS21_SW3},
|
||||
{0, CS20_SW4, CS19_SW4, CS21_SW4},
|
||||
{0, CS20_SW5, CS19_SW5, CS21_SW5},
|
||||
{0, CS20_SW6, CS19_SW6, CS21_SW6},
|
||||
{0, CS20_SW7, CS19_SW7, CS21_SW7},
|
||||
{0, CS29_SW1, CS28_SW1, CS30_SW1},
|
||||
{0, CS29_SW2, CS28_SW2, CS30_SW2},
|
||||
{0, CS29_SW3, CS28_SW3, CS30_SW3},
|
||||
{0, CS29_SW4, CS28_SW4, CS30_SW4},
|
||||
{0, CS29_SW5, CS28_SW5, CS30_SW5},
|
||||
{0, CS29_SW6, CS28_SW6, CS30_SW6},
|
||||
{0, CS29_SW7, CS28_SW7, CS30_SW7},
|
||||
|
||||
{0, CS9_SW1, CS10_SW1, CS8_SW1},
|
||||
{0, CS9_SW2, CS10_SW2, CS8_SW2},
|
||||
{0, CS9_SW3, CS10_SW3, CS8_SW3},
|
||||
{0, CS9_SW6, CS10_SW6, CS8_SW6},
|
||||
{0, CS2_SW3, CS1_SW3, CS3_SW3},
|
||||
{0, CS2_SW4, CS1_SW4, CS3_SW4},
|
||||
{0, CS2_SW5, CS1_SW5, CS3_SW5},
|
||||
{0, CS2_SW6, CS1_SW6, CS3_SW6},
|
||||
{0, CS2_SW7, CS1_SW7, CS3_SW7}
|
||||
};
|
||||
#endif
|
34
keyboards/kbdcraft/adam64/config.h
Normal file
34
keyboards/kbdcraft/adam64/config.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright 2023 KBDCraft
|
||||
* Copyright 2023 Adophoxia <andyao1528@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define I2C1_SCL_PIN B8
|
||||
#define I2C1_SDA_PIN B9
|
||||
#define I2C1_CLOCK_SPEED 400000
|
||||
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9
|
||||
|
||||
#define DRIVER_COUNT 1
|
||||
#define DRIVER_ADDR_1 0b0110000
|
||||
#define RGB_MATRIX_LED_COUNT 64
|
||||
|
||||
/* turn off effects when suspended */
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
23
keyboards/kbdcraft/adam64/halconf.h
Normal file
23
keyboards/kbdcraft/adam64/halconf.h
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2023 KBDCraft
|
||||
* Copyright 2023 Adophoxia <andyao1528@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C TRUE
|
||||
|
||||
#include_next <halconf.h>
|
213
keyboards/kbdcraft/adam64/info.json
Normal file
213
keyboards/kbdcraft/adam64/info.json
Normal file
@ -0,0 +1,213 @@
|
||||
{
|
||||
|
||||
"keyboard_name": "Adam64",
|
||||
"manufacturer": "KBDCRAFT",
|
||||
"url": "https://kbdcraft.store/products/adam",
|
||||
"maintainer": "KBDCraft",
|
||||
"usb": {
|
||||
"vid": "0x586A",
|
||||
"pid": "0xB001",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"processor": "STM32F401",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_pins": {
|
||||
"rows": ["C8", "C9", "A8", "A10", "B14"],
|
||||
"cols": ["B15", "C6", "C7", "A15", "B7", "C10", "C11", "C12", "D2", "B3", "B4", "B5", "A0", "A1"]
|
||||
},
|
||||
"features":{
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"nkro": true,
|
||||
"console": false,
|
||||
"command": false,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"rgb_matrix":{
|
||||
"driver": "IS31FL3741",
|
||||
"max_brightness": 150,
|
||||
"animations":{
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": 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,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_rain": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_fractal": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"layout": [
|
||||
{"flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 1], "x": 16, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 2], "x": 32, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 3], "x": 48, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 4], "x": 64, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 5], "x": 80, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 6], "x": 96, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 7], "x": 112, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 8], "x": 128, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 9], "x": 144, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 10], "x": 160, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 11], "x": 176, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 12], "x": 192, "y": 0 },
|
||||
{"flags": 4, "matrix": [0, 13], "x": 208, "y": 0 },
|
||||
|
||||
{"flags": 4, "matrix": [1, 0], "x": 0, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 1], "x": 16, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 2], "x": 32, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 3], "x": 48, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 4], "x": 64, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 5], "x": 80, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 6], "x": 96, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 7], "x": 112, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 8], "x": 128, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 9], "x": 144, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 10], "x": 160, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 11], "x": 176, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 12], "x": 192, "y": 10 },
|
||||
{"flags": 4, "matrix": [1, 13], "x": 208, "y": 10 },
|
||||
|
||||
{"flags": 4, "matrix": [2, 0], "x": 0, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 1], "x": 16, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 2], "x": 32, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 3], "x": 48, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 4], "x": 64, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 5], "x": 80, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 6], "x": 96, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 7], "x": 112, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 8], "x": 128, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 9], "x": 144, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 10], "x": 160, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 11], "x": 176, "y": 20 },
|
||||
{"flags": 4, "matrix": [2, 13], "x": 208, "y": 20 },
|
||||
|
||||
{"flags": 4, "matrix": [3, 0], "x": 0, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 1], "x": 16, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 2], "x": 32, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 3], "x": 48, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 4], "x": 64, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 5], "x": 80, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 6], "x": 96, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 7], "x": 112, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 8], "x": 128, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 9], "x": 144, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 10], "x": 160, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 11], "x": 176, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 12], "x": 192, "y": 30 },
|
||||
{"flags": 4, "matrix": [3, 13], "x": 208, "y": 30 },
|
||||
|
||||
{"flags": 4, "matrix": [4, 0], "x": 0, "y": 40 },
|
||||
{"flags": 4, "matrix": [4, 1], "x": 16, "y": 40 },
|
||||
{"flags": 4, "matrix": [4, 2], "x": 32, "y": 40 },
|
||||
{"flags": 4, "matrix": [4, 5], "x": 80, "y": 40 },
|
||||
{"flags": 4, "matrix": [4, 9], "x": 144, "y": 40 },
|
||||
{"flags": 4, "matrix": [4, 10], "x": 160, "y": 40 },
|
||||
{"flags": 4, "matrix": [4, 11], "x": 176, "y": 40 },
|
||||
{"flags": 4, "matrix": [4, 12], "x": 192, "y": 40 },
|
||||
{"flags": 4, "matrix": [4, 13], "x": 208, "y": 40 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_64_ansi": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "matrix": [0, 13], "w": 2, "x": 13, "y": 0 },
|
||||
|
||||
{ "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
|
||||
{ "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
|
||||
{ "matrix": [3, 0], "w": 2, "x": 0, "y": 3 },
|
||||
{ "matrix": [3, 1], "x": 2, "y": 3 },
|
||||
{ "matrix": [3, 2], "x": 3, "y": 3 },
|
||||
{ "matrix": [3, 3], "x": 4, "y": 3 },
|
||||
{ "matrix": [3, 4], "x": 5, "y": 3 },
|
||||
{ "matrix": [3, 5], "x": 6, "y": 3 },
|
||||
{ "matrix": [3, 6], "x": 7, "y": 3 },
|
||||
{ "matrix": [3, 7], "x": 8, "y": 3 },
|
||||
{ "matrix": [3, 8], "x": 9, "y": 3 },
|
||||
{ "matrix": [3, 9], "x": 10, "y": 3 },
|
||||
{ "matrix": [3, 10], "x": 11, "y": 3 },
|
||||
{ "matrix": [3, 11], "x": 12, "y": 3 },
|
||||
{ "matrix": [3, 12], "x": 13, "y": 3 },
|
||||
{ "matrix": [3, 13], "x": 14, "y": 3 },
|
||||
|
||||
{ "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "matrix": [4, 9], "x": 10, "y": 4 },
|
||||
{ "matrix": [4, 10], "x": 11, "y": 4 },
|
||||
{ "matrix": [4, 11], "x": 12, "y": 4 },
|
||||
{ "matrix": [4, 12], "x": 13, "y": 4 },
|
||||
{ "matrix": [4, 13], "x": 14, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
37
keyboards/kbdcraft/adam64/keymaps/default/keymap.c
Normal file
37
keyboards/kbdcraft/adam64/keymaps/default/keymap.c
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2023 KBDCraft
|
||||
* Copyright 2023 Adophoxia <andyao1528@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_64_ansi(
|
||||
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_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_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
|
||||
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_64_ansi(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SCRL, KC_PAUS, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EE_CLR,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, NK_TOGG, KC_NO, KC_NO, KC_INS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_MOD, KC_VOLD, RGB_TOG
|
||||
)
|
||||
};
|
37
keyboards/kbdcraft/adam64/keymaps/via/keymap.c
Normal file
37
keyboards/kbdcraft/adam64/keymaps/via/keymap.c
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2023 KBDCraft
|
||||
* Copyright 2023 Adophoxia <andyao1528@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_64_ansi(
|
||||
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_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_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
|
||||
KC_LCTL, KC_LOPT, KC_LCMD, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_64_ansi(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, KC_PSCR, KC_SCRL, KC_PAUS, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, KC_HOME, KC_PGUP, EE_CLR,
|
||||
_______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_INS, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
|
||||
_______, _______, _______, _______, _______, _______, RGB_MOD, KC_VOLD, RGB_TOG
|
||||
)
|
||||
};
|
1
keyboards/kbdcraft/adam64/keymaps/via/rules.mk
Normal file
1
keyboards/kbdcraft/adam64/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
24
keyboards/kbdcraft/adam64/mcuconf.h
Normal file
24
keyboards/kbdcraft/adam64/mcuconf.h
Normal file
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Copyright 2023 KBDCraft
|
||||
* Copyright 2023 Adophoxia <andyao1528@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_I2C_USE_I2C1
|
||||
#define STM32_I2C_USE_I2C1 TRUE
|
27
keyboards/kbdcraft/adam64/readme.md
Normal file
27
keyboards/kbdcraft/adam64/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# KBDCraft Adam64
|
||||
|
||||

|
||||
|
||||
A custom 64-key mechanical keyboard comprised of Legos.
|
||||
|
||||
* Keyboard Maintainer: The QMK Community
|
||||
* Hardware Supported: STM32F401
|
||||
* Hardware Availability: https://kbdcraft.store/products/adam
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make kbdcraft/adam64:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make kbdcraft/adam64: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 - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
2
keyboards/kbdcraft/adam64/rules.mk
Normal file
2
keyboards/kbdcraft/adam64/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
23
keyboards/keebio/iris/keymaps/jestes5111/config.h
Normal file
23
keyboards/keebio/iris/keymaps/jestes5111/config.h
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2023 Jesse Estes (@jestes5111)
|
||||
|
||||
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 EE_HANDS
|
||||
#define RGBLIGHT_SPLIT
|
||||
#define RGBLIGHT_SLEEP
|
||||
#define ENABLE_COMPILE_KEYCODE
|
163
keyboards/keebio/iris/keymaps/jestes5111/keymap.c
Normal file
163
keyboards/keebio/iris/keymaps/jestes5111/keymap.c
Normal file
@ -0,0 +1,163 @@
|
||||
/*
|
||||
Copyright 2023 Jesse Estes (@jestes5111)
|
||||
|
||||
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
|
||||
|
||||
// Combinations of two keystrokes for easier reading
|
||||
#define CSFT LCTL(KC_LSFT)
|
||||
#define GSFT LGUI(KC_LSFT)
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
_FUNC,
|
||||
_PASTA,
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
THUMB = QK_USER,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_APP,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_RALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
KC_LGUI, TL_LOWR, KC_SPC, KC_ENT, TL_UPPR, KC_RGUI
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_INS, KC_DEL,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_F13, KC_F14, KC_F15, KC_F16, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
CSFT, KC_F17, KC_F18, KC_F19, KC_F20, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, RCS(KC_L),
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
GSFT, KC_F21, KC_F22, KC_F23, KC_F24, KC_WHOM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
KC_NO, KC_TRNS, KC_NO, KC_UNDS, KC_TRNS, KC_NO
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_TAB, KC_NO, KC_NO, KC_NO, KC_AMPR, KC_LPRN, KC_RPRN, KC_ASTR, KC_EQL, KC_MINS, KC_PLUS, KC_BSLS,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_ENT, KC_NO, KC_NO, KC_NO, KC_PIPE, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_NO, KC_DQUO, KC_QUOT,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_CAPS, KC_NO, KC_NO, KC_NO, KC_LABK, KC_LCBR, KC_MENU, KC_NO, KC_RCBR, KC_RABK, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
KC_NO, KC_TRNS, KC_UNDS, KC_NO, KC_TRNS, KC_NO
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, LCA(KC_R), LCA(KC_T), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, QK_BOOT,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, LCA(KC_V), LCA(KC_D), KC_NO, KC_NO, KC_NO, TO(_FUNC), KC_NO, QK_LOCK, TO(_PASTA), QK_MAKE,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, EE_CLR,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
KC_NO, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_FUNC] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
KC_ESC, KC_SLSH, KC_ASTR, KC_MINS, KC_PLUS, KC_EQL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BSPC,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_TAB, KC_7, KC_8, KC_9, KC_LPRN, KC_RPRN, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_BTN3, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LCTL, KC_4, KC_5, KC_6, KC_DOT, KC_NUM, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_LSFT, KC_1, KC_2, KC_3, KC_0, KC_ENT, KC_LALT, KC_BTN2, KC_BTN1, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
TO(_QWERTY), KC_CIRC, KC_SPC, KC_ENT, KC_BTN5, KC_BTN4
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
|
||||
[_PASTA] = LAYOUT(
|
||||
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, THUMB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
|
||||
TO(_QWERTY), KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO
|
||||
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
|
||||
),
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case THUMB:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(":disguised_face: :thumbsup:");
|
||||
wait_ms(100);
|
||||
tap_code(KC_ENTER);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
rgblight_enable_noeeprom();
|
||||
rgblight_sethsv_noeeprom(HSV_PURPLE);
|
||||
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _LOWER:
|
||||
rgblight_sethsv_noeeprom(HSV_GREEN);
|
||||
break;
|
||||
case _RAISE:
|
||||
rgblight_sethsv_noeeprom(HSV_RED);
|
||||
break;
|
||||
case _ADJUST:
|
||||
rgblight_sethsv_noeeprom(HSV_WHITE);
|
||||
break;
|
||||
case _FUNC:
|
||||
rgblight_sethsv_noeeprom(HSV_BLUE);
|
||||
break;
|
||||
case _PASTA:
|
||||
rgblight_sethsv_noeeprom(HSV_ORANGE);
|
||||
break;
|
||||
default:
|
||||
rgblight_sethsv_noeeprom(HSV_PURPLE);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
6
keyboards/keebio/iris/keymaps/jestes5111/readme.md
Normal file
6
keyboards/keebio/iris/keymaps/jestes5111/readme.md
Normal file
@ -0,0 +1,6 @@
|
||||

|
||||
|
||||
# My Iris
|
||||
|
||||
Designed for creating/editing in VIM and Excel, gaming, and general keyboard-focused media consumption.
|
||||
WIP.
|
9
keyboards/keebio/iris/keymaps/jestes5111/rules.mk
Normal file
9
keyboards/keebio/iris/keymaps/jestes5111/rules.mk
Normal file
@ -0,0 +1,9 @@
|
||||
MOUSEKEY_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
NKRO_ENABLE = yes
|
||||
BACKLIGHT_ENABLE = no
|
||||
KEY_LOCK_ENABLE = yes
|
||||
UNICODE_ENABLE = yes
|
||||
|
||||
ENCODER_ENABLE = no
|
||||
TRI_LAYER_ENABLE = yes
|
28
keyboards/keebio/iris/keymaps/johnstegeman/config.h
Normal file
28
keyboards/keebio/iris/keymaps/johnstegeman/config.h
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
Copyright 2023 John Stegeman
|
||||
|
||||
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 USE_I2C
|
||||
#define EE_HANDS
|
||||
|
||||
#define RGBLIGHT_LAYERS
|
||||
|
||||
#define TAPPING_TOGGLE 1 // tap just once for TT() to toggle the layer
|
||||
#define TAPPING_TERM 200
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define RGBLIGHT_LAYERS_RETAIN_VAL
|
144
keyboards/keebio/iris/keymaps/johnstegeman/keymap.c
Normal file
144
keyboards/keebio/iris/keymaps/johnstegeman/keymap.c
Normal file
@ -0,0 +1,144 @@
|
||||
/*
|
||||
Copyright 2023 John Stegeman
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#include "print.h"
|
||||
#include "light_layers.h"
|
||||
|
||||
enum layers {
|
||||
_COLEMAK,
|
||||
_NAVNUM,
|
||||
_CONTROL,
|
||||
};
|
||||
|
||||
// Enter when tapped, shift when held
|
||||
#define SHEN MT(MOD_LSFT, KC_ENT)
|
||||
|
||||
// Enter when tapped, alt when held
|
||||
#define ALEN MT(MOD_LALT, KC_ENT)
|
||||
|
||||
#define CTX LT(0,KC_X)
|
||||
#define CPC LT(0,KC_C)
|
||||
#define PSV LT(0,KC_V)
|
||||
|
||||
// Space when tapped, shift when held
|
||||
#define SHSP MT(MOD_RSFT, KC_SPC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_COLEMAK] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_MINS, KC_SCLN,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_LSFT, KC_Z, CTX, CPC, KC_D, PSV, KC_HOME, KC_RALT, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_EQL,
|
||||
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||
MO(1), ALEN, KC_LGUI, KC_BSPC, SHSP, LT(2,KC_ENT)
|
||||
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_NAVNUM] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, KC_DOWN, KC_LCBR, KC_END, KC_RALT, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, _______,
|
||||
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||
_______, _______, KC_DEL, KC_DEL, _______, KC_P0
|
||||
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_CONTROL] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______,
|
||||
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||
_______, _______, _______, _______, _______, _______
|
||||
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||
)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
switch (keycode) {
|
||||
case LT(0,KC_X):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(G(KC_X)); // Intercept hold function to send GUI-X
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
case LT(0,KC_C):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(G(KC_C)); // Intercept hold function to send GUI-C
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
case LT(0,KC_V):
|
||||
if (!record->tap.count && record->event.pressed) {
|
||||
tap_code16(G(KC_V)); // Intercept hold function to send GUI-V
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Key overrides
|
||||
|
||||
// GUI + esc = ~
|
||||
const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, S(KC_GRV));
|
||||
|
||||
// Shift + esc = `
|
||||
const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, KC_GRV);
|
||||
|
||||
// Shift + bkspc = delete word
|
||||
const key_override_t shift_bkspc_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, A(KC_BSPC));
|
||||
|
||||
const key_override_t **key_overrides = (const key_override_t *[]){
|
||||
&tilde_esc_override,
|
||||
&grave_esc_override,
|
||||
// &shift_bkspc_override,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
rgblight_layers = MY_LIGHT_LAYERS;
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
rgblight_set_layer_state(_COLEMAK, layer_state_cmp(state, _COLEMAK));
|
||||
rgblight_set_layer_state(_NAVNUM, layer_state_cmp(state, _NAVNUM));
|
||||
|
||||
return state;
|
||||
}
|
83
keyboards/keebio/iris/keymaps/johnstegeman/light_layers.h
Normal file
83
keyboards/keebio/iris/keymaps/johnstegeman/light_layers.h
Normal file
@ -0,0 +1,83 @@
|
||||
/*
|
||||
Copyright 2023 John Stegeman
|
||||
|
||||
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
|
||||
|
||||
/*
|
||||
|
||||
LED index mapping:
|
||||
|
||||
(31) (32) (33) (67) (66) (65)
|
||||
┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||
│0 │1 │2 │3 │4 │5 │ │39 │38 │37 │36 │35 │34 │
|
||||
├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
│11 │10 │9 │8 │7 │6 │ │40 │41 │42 │43 │44 │45 │
|
||||
├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
│12 │13 │14 │15 │16 │17 │ │51 │50 │49 │48 │47 │46 │
|
||||
├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||
│23 │22 │21 │20 │19 │18 │27 │ │61 │52 │53 │54 │55 │56 │57 │
|
||||
└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||
│24 │25 │26 │ │60 │59 │58 │
|
||||
└────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||
(30) (29) (28) (62) (63) (64)
|
||||
|
||||
*/
|
||||
|
||||
const rgblight_segment_t PROGMEM COLEMAK_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
// left side
|
||||
{0, 6, HSV_BLUE},
|
||||
{6, 5, HSV_AZURE},
|
||||
{11, 2, HSV_BLUE},
|
||||
{13, 10, HSV_AZURE},
|
||||
{23, 2, HSV_BLUE},
|
||||
{25, 1, HSV_RED},
|
||||
{26, 2, HSV_BLUE},
|
||||
{28, 3, HSV_BLUE}, // underglow
|
||||
{31, 3, HSV_BLUE}, // underglow
|
||||
// right side
|
||||
{34, 6, HSV_BLUE},
|
||||
{40, 4, HSV_AZURE},
|
||||
{44, 3, HSV_BLUE},
|
||||
{47, 7, HSV_AZURE},
|
||||
{54, 5, HSV_BLUE},
|
||||
{59, 1, HSV_RED},
|
||||
{60, 2, HSV_BLUE},
|
||||
{62, 3, HSV_BLUE}, // underglow
|
||||
{65, 3, HSV_BLUE} // underglow
|
||||
);
|
||||
|
||||
const rgblight_segment_t PROGMEM NAVNUM_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
|
||||
{0, 14, HSV_BLACK},
|
||||
{14, 3, HSV_GREEN},
|
||||
{17, 2, HSV_BLACK},
|
||||
{19, 1, HSV_GREEN},
|
||||
{20, 21, RGB_OFF},
|
||||
{41, 3, HSV_GREEN},
|
||||
{44, 4, HSV_BLACK},
|
||||
{48, 3, HSV_GREEN},
|
||||
{51, 2, HSV_BLACK},
|
||||
{53, 3, HSV_GREEN},
|
||||
{56, 2, HSV_BLACK},
|
||||
{58, 1, HSV_GREEN},
|
||||
{59, 9, HSV_BLACK}
|
||||
);
|
||||
|
||||
|
||||
const rgblight_segment_t* const PROGMEM MY_LIGHT_LAYERS[] = RGBLIGHT_LAYERS_LIST(
|
||||
COLEMAK_LIGHT_LAYER,
|
||||
NAVNUM_LIGHT_LAYER
|
||||
);
|
1
keyboards/keebio/iris/keymaps/johnstegeman/readme.md
Normal file
1
keyboards/keebio/iris/keymaps/johnstegeman/readme.md
Normal file
@ -0,0 +1 @@
|
||||
# Keebio Iris Colemak layout
|
24
keyboards/keebio/iris/keymaps/johnstegeman/rules.mk
Normal file
24
keyboards/keebio/iris/keymaps/johnstegeman/rules.mk
Normal file
@ -0,0 +1,24 @@
|
||||
# Build Options
|
||||
|
||||
BOOTMAGIC_ENABLE = no
|
||||
MOUSEKEY_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
NKRO_ENABLE = no
|
||||
BACKLIGHT_ENABLE = no
|
||||
|
||||
AUDIO_ENABLE = no
|
||||
ENCODER_ENABLE = no
|
||||
SPACE_CADET_ENABLE = no
|
||||
GRAVE_ESC_ENABLE = no
|
||||
MAGIC_ENABLE = no
|
||||
TAP_DANCE_ENABLE = no
|
||||
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
RGBLIGHT_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = no
|
||||
#RGB_MATRIX_ENABLE = yes
|
||||
#RGB_MATRIX_DRIVER = WS2812
|
||||
LTO_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
KEY_OVERRIDE_ENABLE = yes
|
@ -85,7 +85,7 @@
|
||||
{"matrix":[3,12], "x":14.75, "y":3.25},
|
||||
{"matrix":[3,13], "x":15.75, "y":3.25},
|
||||
{"matrix":[3,14], "x":16.75, "y":3.25},
|
||||
{"matrix":[2,14], "x":17.75, "y":3.25, "w":1.25, "h":2},
|
||||
{"matrix":[2,14], "x":17.75, "y":2.25, "w":1.25, "h":2},
|
||||
{"matrix":[3,15], "x":19.5, "y":3.25},
|
||||
|
||||
{"matrix":[4, 0], "x":0, "y":4.25},
|
||||
|
@ -102,7 +102,7 @@
|
||||
{"matrix":[3,15], "x":21.5, "y":2.25, "h":2},
|
||||
|
||||
{"matrix":[4, 0], "x":0, "y":4.25, "w":1.25},
|
||||
{"matrix":[4, 1], "x":2.25, "y":4.25},
|
||||
{"matrix":[4, 1], "x":1.25, "y":4.25},
|
||||
{"matrix":[4, 2], "x":2.25, "y":4.25},
|
||||
{"matrix":[4, 3], "x":3.25, "y":4.25},
|
||||
{"matrix":[4, 4], "x":4.25, "y":4.25},
|
||||
|
@ -85,7 +85,7 @@
|
||||
{"matrix":[3,12], "x":14.75, "y":3.25},
|
||||
{"matrix":[3,13], "x":15.75, "y":3.25},
|
||||
{"matrix":[3,14], "x":16.75, "y":3.25},
|
||||
{"matrix":[2,14], "x":17.75, "y":3.25, "w":1.25, "h":2},
|
||||
{"matrix":[2,14], "x":17.75, "y":2.25, "w":1.25, "h":2},
|
||||
{"matrix":[3,15], "x":19.5, "y":3.25},
|
||||
|
||||
{"matrix":[4, 0], "x":0, "y":4.25},
|
||||
|
@ -102,7 +102,7 @@
|
||||
{"matrix":[3,15], "x":21.5, "y":2.25, "h":2},
|
||||
|
||||
{"matrix":[4, 0], "x":0, "y":4.25, "w":1.25},
|
||||
{"matrix":[4, 1], "x":2.25, "y":4.25},
|
||||
{"matrix":[4, 1], "x":1.25, "y":4.25},
|
||||
{"matrix":[4, 2], "x":2.25, "y":4.25},
|
||||
{"matrix":[4, 3], "x":3.25, "y":4.25},
|
||||
{"matrix":[4, 4], "x":4.25, "y":4.25},
|
||||
|
74
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/config.h
Executable file
74
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/config.h
Executable file
@ -0,0 +1,74 @@
|
||||
/* Copyright 2020 lmlask
|
||||
*
|
||||
* 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 MOUSEKEY_DELAY 50
|
||||
#define MIDI_ADVANCED
|
||||
#define TAPPING_TERM 175 //For fast typing
|
||||
#define QUICK_TAP_TERM 0 //No autorepeat in tap-hold keys
|
||||
#define HOLD_ON_OTHER_KEY_PRESS //For fast typing
|
||||
|
||||
// Min 0, max 32
|
||||
#define JOYSTICK_BUTTON_COUNT 32
|
||||
// Min 0, max 6: X, Y, Z, Rx, Ry, Rz
|
||||
#define JOYSTICK_AXIS_COUNT 0
|
||||
// Min 8, max 16
|
||||
#define JOYSTICK_AXIS_RESOLUTION 8
|
||||
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
|
||||
//#undef ENABLE_RGB_MATRIX_ALPHAS_MODS // Enables RGB_MATRIX_ALPHAS_MODS
|
||||
#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Enables RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Enables RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
//#undef ENABLE_RGB_MATRIX_BREATHING // Enables RGB_MATRIX_BREATHING
|
||||
//#undef ENABLE_RGB_MATRIX_BAND_SAT // Enables RGB_MATRIX_BAND_SAT
|
||||
//#undef ENABLE_RGB_MATRIX_BAND_VAL //Enables RGB_MATRIX_BAND_VAL
|
||||
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Enables RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Enables RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Enables RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Enables RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_ALL // Enables RGB_MATRIX_CYCLE_ALL
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Enables RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN // Enables RGB_MATRIX_CYCLE_UP_DOWN
|
||||
#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Enables RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN //Enables RGB_MATRIX_CYCLE_OUT_IN
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Enables RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL // Enables RGB_MATRIX_CYCLE_PINWHEEL
|
||||
#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL // Enables RGB_MATRIX_CYCLE_SPIRAL
|
||||
#undef ENABLE_RGB_MATRIX_DUAL_BEACON //Enables RGB_MATRIX_DUAL_BEACON
|
||||
#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON// Enables RGB_MATRIX_RAINBOW_BEACON
|
||||
#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Enables RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
#undef ENABLE_RGB_MATRIX_RAINDROPS //Enables RGB_MATRIX_RAINDROPS
|
||||
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS// Enables RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
//#undef ENABLE_RGB_MATRIX_HUE_BREATHING // Enables RGB_MATRIX_HUE_BREATHING
|
||||
#undef ENABLE_RGB_MATRIX_HUE_PENDULUM //Enables RGB_MATRIX_HUE_PENDULUM
|
||||
#undef ENABLE_RGB_MATRIX_HUE_WAVE //Enables RGB_MATRIX_HUE_WAVE
|
||||
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL //Enables RGB_MATRIX_PIXEL_FRACTAL
|
||||
#undef ENABLE_RGB_MATRIX_PIXEL_FLOW //Enables RGB_MATRIX_PIXEL_FLOW
|
||||
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN //Enables RGB_MATRIX_PIXEL_RAIN
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Enables RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE // Enables RGB_MATRIX_SOLID_REACTIVE
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE //Enables RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Enables RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Enables RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Enables RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS //Enables RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS //Enables RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
//#undef ENABLE_RGB_MATRIX_SPLASH //Enables RGB_MATRIX_SPLASH
|
||||
#undef ENABLE_RGB_MATRIX_MULTISPLASH // Enables RGB_MATRIX_MULTISPLASH
|
||||
//#undef ENABLE_RGB_MATRIX_SOLID_SPLASH //Enables RGB_MATRIX_SOLID_SPLASH
|
||||
#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Enables RGB_MATRIX_SOLID_MULTISPLASH
|
184
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c
Normal file → Executable file
184
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/keymap.c
Normal file → Executable file
@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 lmlmask
|
||||
/* Copyright 2020 lmlask
|
||||
*
|
||||
* 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
|
||||
@ -15,119 +15,149 @@
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keymap_brazilian_abnt2.h"
|
||||
#include <keymap_brazilian_abnt2.h>
|
||||
|
||||
enum layers {
|
||||
_WORKMAN,
|
||||
_QWERTY,
|
||||
_DVORAK,
|
||||
_COLEMAK,
|
||||
_MIDI,
|
||||
_GAME,
|
||||
|
||||
_SYM,
|
||||
_FUNCTION,
|
||||
_MIDI,
|
||||
_NAV,
|
||||
_NUM,
|
||||
_ADJUST
|
||||
_ADJUST,
|
||||
_MOUSE,
|
||||
|
||||
_CPY,
|
||||
_SWP
|
||||
};
|
||||
|
||||
enum planck_keycodes {
|
||||
WORKMAN = SAFE_RANGE,
|
||||
WORKMAN = QK_USER,
|
||||
QWERTY,
|
||||
DVORAK,
|
||||
COLEMAK,
|
||||
MIDI
|
||||
MIDI,
|
||||
GAME,
|
||||
TOG_CPY,
|
||||
TOG_SWP,
|
||||
};
|
||||
|
||||
#define SYM MO(_SYM)
|
||||
#define FUN LT(_FUNCTION, KC_ENT)
|
||||
#define MYTAB LT(_NAV, KC_TAB)
|
||||
#define MYNAV LT(_NAV, KC_DEL)
|
||||
#define MYNUM LT(_NUM, KC_BSPC)
|
||||
#define NAVTAB LT(_NAV, KC_TAB)
|
||||
#define SYM LT(_SYM, KC_BSPC)
|
||||
#define NUM LT(_NUM, KC_DEL)
|
||||
#define FUN MO(_FUNCTION)
|
||||
#define CTL_ENT RCTL_T(KC_ENT)
|
||||
|
||||
//Hand swap config, similar to Planck
|
||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{{11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0} },
|
||||
{{11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1} },
|
||||
{{11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2} },
|
||||
{{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}, {8, 3}, {9, 3}, {10, 3}},
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
//qwerty base layer ok
|
||||
//BASE LAYERS
|
||||
[_QWERTY] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_TILD,
|
||||
MYTAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_ACUT,
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT,
|
||||
NAVTAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_TILD,
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, SYM, MYNAV, KC_SPC, MYNUM, FUN, KC_RGUI, KC_LALT, RCTL_T(KC_ENT)
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
|
||||
//workman base layer ok
|
||||
[_WORKMAN] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, BR_CCED, BR_TILD,
|
||||
MYTAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, BR_ACUT,
|
||||
KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, BR_CCED, BR_ACUT,
|
||||
NAVTAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, BR_TILD,
|
||||
SC_LSPO, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, SYM, MYNAV, KC_SPC, MYNUM, FUN, KC_RGUI, KC_LALT, RCTL_T(KC_ENT)
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
|
||||
//dvorak base layer ok
|
||||
[_DVORAK] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, BR_SLSH, BR_TILD,
|
||||
MYTAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, BR_ACUT,
|
||||
KC_ESC, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, BR_SLSH, BR_ACUT,
|
||||
NAVTAB, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, BR_TILD,
|
||||
SC_LSPO, BR_CCED, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, SYM, MYNAV, KC_SPC, MYNUM, FUN, KC_RGUI, KC_LALT, RCTL_T(KC_ENT)
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
|
||||
//colemak base layer ok
|
||||
[_COLEMAK] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, BR_CCED, BR_TILD,
|
||||
MYTAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, BR_ACUT,
|
||||
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, BR_CCED, BR_ACUT,
|
||||
NAVTAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, BR_TILD,
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, BR_SLSH, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, SYM, MYNAV, KC_SPC, MYNUM, FUN, KC_RGUI, KC_LALT, RCTL_T(KC_ENT)
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
|
||||
//navigation and utility layer ok
|
||||
//UTILITY LAYERS - SHORTCUT (CPY), SWAP HANDS (SWP)
|
||||
[_CPY] = LAYOUT_planck_mit(
|
||||
_______, KC_PGUP, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_SWP] = LAYOUT_planck_mit(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, NUM, SH_T(KC_BSPC),_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
//AUX LAYERS (NAV, SYM, NUM, FN)
|
||||
[_NAV] = LAYOUT_planck_mit(
|
||||
KC_TRNS, _______, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU,
|
||||
_______, _______, _______, _______, BR_QUOT, _______, KC_ENT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD,
|
||||
KC_TRNS, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, _______, _______, KC_BSPC, KC_DEL, _______, _______, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, MYNUM, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, C(KC_V), C(KC_Z),
|
||||
_______, KC_LALT, KC_LGUI, KC_LSFT, KC_LCTL, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, C(KC_C), C(KC_X),
|
||||
_______, _______, _______, _______, _______, _______, KC_ENT, KC_BSPC, KC_DEL, KC_VOLD, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, KC_ENT, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
),
|
||||
|
||||
//symbols layer ok
|
||||
[_SYM] = LAYOUT_planck_mit(
|
||||
BR_DQUO, BR_EXLM, BR_AT, BR_HASH, BR_DLR, BR_PERC, BR_DIAE, BR_AMPR, BR_ASTR, BR_LPRN, BR_RPRN, BR_COLN,
|
||||
BR_QUOT, BR_PIPE, _______, _______, _______, _______, _______, BR_PLUS, BR_UNDS, BR_LBRC, BR_RBRC, BR_SCLN,
|
||||
KC_TRNS, BR_BSLS, _______, _______, _______, _______, _______, BR_EQL, BR_MINS, BR_LCBR, BR_RCBR, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
BR_DQUO, BR_EXLM, BR_AT, BR_HASH, BR_DLR, BR_PERC, BR_DIAE, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
BR_QUOT, BR_BSLS, BR_SCLN, KC_MINS, BR_QUOT, _______, _______, KC_PLUS, _______, BR_LBRC, BR_RBRC, _______,
|
||||
_______, BR_PIPE, BR_COLN, KC_UNDS, BR_DQUO, _______, _______, KC_EQL, _______, BR_LCBR, BR_RCBR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
//numbers layer ok
|
||||
[_NUM] = LAYOUT_planck_mit(
|
||||
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, BR_MINS,
|
||||
_______, BR_ASTR, BR_SLSH, BR_MINS, BR_PLUS, _______, _______, KC_4, KC_5, KC_6, BR_COMM, BR_PLUS,
|
||||
KC_TRNS, BR_PERC, BR_EQL, BR_DOT, BR_COMM, _______, _______, KC_1, KC_2, KC_3, BR_DOT, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, _______, MYNAV, _______, _______, KC_0, KC_0, KC_COMM, KC_ENT
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, BR_SLSH, BR_MINS,
|
||||
_______, BR_SLSH, KC_ASTR, KC_MINS, KC_PLUS, _______, _______, KC_4, KC_5, KC_6, BR_ASTR, BR_PLUS,
|
||||
_______, BR_PERC, KC_EQL, KC_DOT, KC_COMM, _______, _______, KC_1, KC_2, KC_3, BR_COLN, BR_DOT,
|
||||
_______, _______, _______, _______, _______, _______, KC_0, KC_BSPC, BR_COMM, BR_EQL, KC_ENT
|
||||
),
|
||||
|
||||
//FN layer
|
||||
[_FUNCTION] = LAYOUT_planck_mit(
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_INS,
|
||||
KC_PSCR, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_F17, KC_F18, KC_F19, KC_F20, KC_PAUS,
|
||||
KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_F21, KC_F22, KC_F23, KC_F24, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_SCRL, _______, KC_F13, KC_F14, KC_F15, KC_F16, KC_INS,
|
||||
_______, KC_F5, KC_F6, KC_F7, KC_F8, KC_NUM, _______, KC_F17, KC_F18, KC_F19, KC_F20, KC_PAUS,
|
||||
_______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, KC_F21, KC_F22, KC_F23, KC_F24, KC_APP,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
),
|
||||
|
||||
// adjust layer ok
|
||||
//ADJUST LAYER FOR KEYBOARD CONTROL
|
||||
[_ADJUST] = LAYOUT_planck_mit(
|
||||
QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______,
|
||||
KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, MIDI,
|
||||
_______, MI_ON, MI_OFF, MI_TOGG, MU_ON, MU_OFF, MU_TOGG, MU_NEXT, AU_ON, AU_OFF, _______, _______,
|
||||
QK_BOOT, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, MIDI, GAME, _______, _______, _______,
|
||||
KC_CAPS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, QWERTY, DVORAK, COLEMAK, WORKMAN, _______,
|
||||
QK_RBT, _______, _______, _______, _______, _______, _______, TOG_CPY, TOG_SWP, _______, _______, _______,
|
||||
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
// midi layer
|
||||
//MOUSE LAYER
|
||||
[_MOUSE] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_BTN6, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN6, KC_NO,
|
||||
_______, KC_BTN4, KC_BTN2, KC_BTN3, KC_BTN1, KC_NO, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_NO,
|
||||
_______, KC_BTN5, KC_ACL2, KC_ACL1, KC_ACL0, KC_NO, KC_BTN7, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN5, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
//MIDI
|
||||
[_MIDI] = LAYOUT_planck_mit(
|
||||
MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs, MI_As, _______, MI_Cs, MI_Ds, _______, MI_Fs, MI_Gs,
|
||||
MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C, MI_D, MI_E, MI_F, MI_G,
|
||||
MI_BNDU, MI_OCTU, MI_TRSU, MI_VELU, _______, _______, _______, _______, _______, MI_ON, MI_CHNU, MI_TOGG,
|
||||
MI_BNDD, MI_OCTD, MI_TRSD, MI_VELD, MYNAV, MI_SUST, MYNUM, _______, MI_OFF, MI_CHND, MI_AOFF
|
||||
)
|
||||
MI_Cs, MI_Ds, MI_F, MI_Fs, MI_Gs, MI_As, MI_C, MI_Cs1, MI_Ds1, MI_F1, MI_Fs1, MI_Gs1,
|
||||
MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C1, MI_D1, MI_E, MI_F1, MI_G1,
|
||||
MI_BNDU, MI_OCTU, MI_TRSU, MI_VELU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MI_MODU,MI_CHNU, MI_TOGG,
|
||||
MI_BNDD, MI_OCTD, MI_TRSD, MI_VELD, MI_SOFT, MI_SUST, SYM, FUN, MI_MODD,MI_CHND, MI_AOFF
|
||||
),
|
||||
//GAME
|
||||
[_GAME] = LAYOUT_planck_mit(
|
||||
KC_ESC, JS_0, JS_1, JS_2, JS_3, JS_4, JS_5, JS_6, JS_7, JS_8, JS_9, KC_P,
|
||||
KC_TAB, JS_10, JS_11, JS_12, JS_13, JS_14, JS_15, JS_16, JS_17, JS_18, JS_19, KC_O,
|
||||
KC_LSFT, JS_20, JS_21, JS_22, JS_23, JS_24, JS_25, JS_26, JS_27, JS_28, JS_29, KC_L,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MEH, NUM, KC_SPC, SYM, FUN, KC_RALT, KC_HYPR, CTL_ENT
|
||||
),
|
||||
};
|
||||
|
||||
//Custom keycodes code for layer switching
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
@ -155,10 +185,32 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
set_single_persistent_default_layer(_MIDI);
|
||||
}
|
||||
return false;
|
||||
case GAME:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_GAME);
|
||||
}
|
||||
return false;
|
||||
case TOG_CPY:
|
||||
if (record->event.pressed) {
|
||||
layer_invert(_CPY);
|
||||
}
|
||||
return false;
|
||||
case TOG_SWP:
|
||||
if (record->event.pressed) {
|
||||
layer_invert(_SWP);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//ADJUST and MOUSE layers activation code
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _NAV, _NUM, _ADJUST);
|
||||
state = update_tri_layer_state(state, _FUNCTION, _SYM, _ADJUST);
|
||||
state = update_tri_layer_state(state, _NAV, _NUM, _MOUSE);
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
84
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/readme.md
Normal file → Executable file
84
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/readme.md
Normal file → Executable file
@ -1,35 +1,79 @@
|
||||
# Brazilian keymap for the BM40RGB keyboard
|
||||
|
||||

|
||||

|
||||
|
||||
This keymap deviates somewhat from the generally used conventions of Planck style keyboards.
|
||||
It's built on the following principles:
|
||||
|
||||
1. Availability of different base layers. QWERTY, Dvorak, Colemak and Workman are available. They can be chosen with the four right hand home row keys on the ADJUST layer (NAV + NUM keys). The base layout you choose gets stored on the keyboard EEPROM, so it will still be set if you unplug or reset the keyboard. I use Workman, so it's the default, but you can change to QWERTY easily with NAV + NUM + J (the J in QWERTY).
|
||||
2. Frequent use of navigation keys such as the arrow keys, home, end, and hotkeys using those keycodes. For that reason, it keeps the navigation keys on a dedicated nav layer, on the home row, under the right hand. The nav layer gets the highly accessible layer toggle button usually used for the LOWER layer on most Planck style keymaps. I find this much better than using dedicated arrow keys on the bottom right of the keyboard, as the very reason I swapped to a 40% is to move my hands less.
|
||||
1. Availability of different base layouts. QWERTY, Dvorak, Colemak and Workman are available. They can be chosen with the four right hand home row keys on the ADJUST layer (NAV + NUM keys). The base layout you choose gets stored on the keyboard EEPROM, so it will still be set if you unplug or reset the keyboard.
|
||||
2. Frequent use of navigation keys such as the arrow keys, home, end, and hotkeys using those keycodes. For that reason, it keeps the navigation keys on a dedicated nav layer, on the home row, under the right hand. The nav layer is activated by the first button of the home row (the usual caps lock position). I find this much better than using dedicated arrow keys on the bottom right of the keyboard, as the very reason I swapped to a 40% is to move my hands less.
|
||||
3. Accessibility of the ´ ` ^ ~ ç symbols. There are several blank spaces left on the symbols layer, if you need access to other symbols or diacritics.
|
||||
4. Proper touch typing, and hotkey access, with the Ctrl, Shift, Win/Super and Alt modifiers on both sides. I found my hands very much expect Ctrl to be on the edge of the keyboard, and as such I've kept both bottom corner keys as Ctrl. Using those keys as layer modifiers, albeit common in many keymaps, is something I found to be somewhat awkward, as it makes it basically impossible to use the hand used to press them.
|
||||
4. Proper touch typing, and hotkey access, with the Shift key on both sides. I found my hands very much expect Ctrl to be on the edge of the keyboard, and as such I've kept both bottom corner keys as Ctrl. The right Ctrl will act as an Enter key if tapped.
|
||||
5. Numbers and navigation keys should be slightly more accessible than symbols and function keys. If you use symbols more often, consider swapping the NUM and SYM layer toggle keys.
|
||||
6. It's easier to remember layers when they make sense conceptually. Hence, there are dedicated layers for navigation/utility (NAV), numbers (NUM), symbols (SYM) and function keys (FN). There's a dedicated MIDI layer. Don't forget to add #define MIDI_ADVANCED to your config.h if you plan on using it.
|
||||
7. Tap hold is a good tool and you should use it if you can. Backspace and Delete are set as tap functions on the two more accessible layer toggle keys.
|
||||
6. It's easier to remember layers when they make sense conceptually, so no "lower" and "raise" layers. Instead, there are dedicated layers for navigation/utility (NAV), numbers (NUM), symbols (SYM) and function keys (FN). There's also dedicated MIDI layers, a layer for one-hand typing, a mouse-emulating layer, and a layer for one-hand navigation and copy-pasting.
|
||||
7. Tap hold is a good tool and you should use it if you can. Backspace and Delete are set as tap functions on the two more accessible layer toggle keys. The bottom right Ctrl behaves as Enter when tapped. The Nav layer button is Tab when tapped.
|
||||
8. Easy-to-access shortcut modifiers. This layout includes a Master key (Shift+Ctrl+Alt) and a Hyper key (Shift+Ctrl+Alt+Super) for configuring system shortcuts.
|
||||
|
||||
It will only work as intended if your system keyboard layout is set to Brazilian ABNT2. It may work with other international layouts, but some keys, including brackets and the ´ ` ~ ^ keys, will get broken.
|
||||
It will only work as intended if your system keyboard layout is set to Brazilian ABNT2. It may work with other international layouts, but some keys, including brackets and the ´ ` ~ ^ keys, will get broken. If your system layout is another one, it should be relatively easy to change keymap.c (search and replace each key with the equivalent one from the international keymaps file).
|
||||
|
||||
# Layers and functions
|
||||
# Base Layers
|
||||
|
||||
In each key:
|
||||
Top left: Symbols;
|
||||
Top right: Functions;
|
||||
Bottom left: Navigation;
|
||||
Bottom right: Numbers;
|
||||
Bottom: secondary function (tap/hold)
|
||||
These are selected as the base by a button in the Adjust layer.
|
||||
|
||||
# BASE (Qwerty, Dvorak, Colemak, Workman)
|
||||

|
||||
## Normal
|
||||
|
||||
# Adjust (NAV+NUM)
|
||||

|
||||

|
||||
|
||||
# MIDI
|
||||

|
||||
QWERTY, Dvorak, Colemak and Workman are built-in.
|
||||
|
||||
## MIDI
|
||||
|
||||

|
||||
|
||||
One and a half octaves piano on the top rows, control signals in the bottom rows. SYM and FUN remain accessible so the ADJ layer can be accessed.
|
||||
|
||||
## Joystick
|
||||
|
||||

|
||||
|
||||
Emulates a 32-button joystick for using as a button-box or dedicated game controller.
|
||||
|
||||
# Modifier layers
|
||||
|
||||
These are activated by holding down modifier keys.
|
||||
|
||||
## Navigation Layer (NAV)
|
||||
|
||||

|
||||
|
||||
The layer you'll access most often. Navigation keys right on the right-hand homerow, plus a few common utilities.
|
||||
|
||||
## Functions Layer (FUN)
|
||||
|
||||

|
||||
|
||||
## Mouse Layer
|
||||
|
||||

|
||||
|
||||
Emulates mouse actions so you can perform simple tasks without reaching for the mouse.
|
||||
|
||||
## Adjust Layer (SYM + FUN)
|
||||
|
||||

|
||||
|
||||
# Additional/utility layers
|
||||
|
||||
These are utility overlays toggled by a key in the Adjust layer.
|
||||
|
||||
## Handswap Layer
|
||||
|
||||

|
||||
|
||||
For one-hand typing. The three top rows are mirrorred when SWAP is held down.
|
||||
|
||||
## CPY Layer (One-hand navigation layer)
|
||||
|
||||

|
||||
|
||||
For general navigation and quick copy-paste one-handed stuff. I don't like using it, but my job demands it sometimes.
|
||||
|
19
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/rules.mk
Executable file
19
keyboards/kprepublic/bm40hsrgb/keymaps/wolff_abnt2/rules.mk
Executable file
@ -0,0 +1,19 @@
|
||||
LTO_ENABLE = yes
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
TERMINAL_ENABLE = no
|
||||
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
SPLIT_KEYBOARD = no
|
||||
KEY_LOCK_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
LAYOUTS = planck_mit
|
||||
|
||||
MIDI_ENABLE = yes
|
||||
JOYSTICK_ENABLE = yes
|
||||
JOYSTICK_DRIVER = digital
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
SWAP_HANDS_ENABLE = yes
|
||||
|
||||
STENO_ENABLE = no # Enabling steno requires disabling all options in the previous block.
|
127
keyboards/lucid/velvet_hotswap/info.json
Normal file
127
keyboards/lucid/velvet_hotswap/info.json
Normal file
@ -0,0 +1,127 @@
|
||||
{
|
||||
"keyboard_name": "Velvet Hotswap",
|
||||
"manufacturer": "FJLaboratories",
|
||||
"url": "http://www.makerkeyboards.com",
|
||||
"maintainer": "Maker Keyboards",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0008",
|
||||
"vid": "0x7667"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["F2", "F3", "F4", "F5", "F6", "F7", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "D5", "D6", "D7"],
|
||||
"rows": ["B4", "B5", "B6", "C0", "E1", "E0"]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"processor": "at90usb646",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "label":"Esc", "x":0, "y":0},
|
||||
{"matrix": [0, 1], "label":"F1", "x":1.25, "y":0},
|
||||
{"matrix": [0, 2], "label":"F2", "x":2.25, "y":0},
|
||||
{"matrix": [0, 3], "label":"F3", "x":3.25, "y":0},
|
||||
{"matrix": [0, 4], "label":"F4", "x":4.25, "y":0},
|
||||
{"matrix": [0, 5], "label":"F5", "x":5.5, "y":0},
|
||||
{"matrix": [0, 6], "label":"F6", "x":6.5, "y":0},
|
||||
{"matrix": [0, 7], "label":"F7", "x":7.5, "y":0},
|
||||
{"matrix": [0, 8], "label":"F8", "x":8.5, "y":0},
|
||||
{"matrix": [0, 9], "label":"F9", "x":9.75, "y":0},
|
||||
{"matrix": [0, 10], "label":"F10", "x":10.75, "y":0},
|
||||
{"matrix": [0, 11], "label":"F11", "x":11.75, "y":0},
|
||||
{"matrix": [0, 12], "label":"F12", "x":12.75, "y":0},
|
||||
{"matrix": [0, 13], "label":"F13", "x":14, "y":0},
|
||||
{"matrix": [0, 14], "label":"PrtSc", "x":15.25, "y":0},
|
||||
{"matrix": [0, 15], "label":"Scroll Lock", "x":16.25, "y":0},
|
||||
{"matrix": [0, 16], "label":"Pause", "x":17.25, "y":0},
|
||||
|
||||
{"matrix": [1, 0], "label":"~", "x":0, "y":1.25},
|
||||
{"matrix": [1, 1], "label":"!", "x":1, "y":1.25},
|
||||
{"matrix": [1, 2], "label":"@", "x":2, "y":1.25},
|
||||
{"matrix": [1, 3], "label":"#", "x":3, "y":1.25},
|
||||
{"matrix": [1, 4], "label":"$", "x":4, "y":1.25},
|
||||
{"matrix": [1, 5], "label":"%", "x":5, "y":1.25},
|
||||
{"matrix": [1, 6], "label":"^", "x":6, "y":1.25},
|
||||
{"matrix": [1, 7], "label":"&", "x":7, "y":1.25},
|
||||
{"matrix": [1, 8], "label":"*", "x":8, "y":1.25},
|
||||
{"matrix": [1, 9], "label":"(", "x":9, "y":1.25},
|
||||
{"matrix": [1, 10], "label":")", "x":10, "y":1.25},
|
||||
{"matrix": [1, 11], "label":"_", "x":11, "y":1.25},
|
||||
{"matrix": [1, 12], "label":"+", "x":12, "y":1.25},
|
||||
{"matrix": [3, 12], "label":"Back Space", "x":13, "y":1.25},
|
||||
{"matrix": [1, 13], "label":"Back Space", "x":14, "y":1.25},
|
||||
{"matrix": [1, 14], "label":"Insert", "x":15.25, "y":1.25},
|
||||
{"matrix": [1, 15], "label":"Home", "x":16.25, "y":1.25},
|
||||
{"matrix": [1, 16], "label":"PgUp", "x":17.25, "y":1.25},
|
||||
|
||||
{"matrix": [2, 0], "label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"matrix": [2, 1], "label":"Q", "x":1.5, "y":2.25},
|
||||
{"matrix": [2, 2], "label":"W", "x":2.5, "y":2.25},
|
||||
{"matrix": [2, 3], "label":"E", "x":3.5, "y":2.25},
|
||||
{"matrix": [2, 4], "label":"R", "x":4.5, "y":2.25},
|
||||
{"matrix": [2, 5], "label":"T", "x":5.5, "y":2.25},
|
||||
{"matrix": [2, 6], "label":"Y", "x":6.5, "y":2.25},
|
||||
{"matrix": [2, 7], "label":"U", "x":7.5, "y":2.25},
|
||||
{"matrix": [2, 8], "label":"I", "x":8.5, "y":2.25},
|
||||
{"matrix": [2, 9], "label":"O", "x":9.5, "y":2.25},
|
||||
{"matrix": [2, 10], "label":"P", "x":10.5, "y":2.25},
|
||||
{"matrix": [2, 11], "label":"{", "x":11.5, "y":2.25},
|
||||
{"matrix": [2, 12], "label":"}", "x":12.5, "y":2.25},
|
||||
{"matrix": [2, 13], "label":"|", "x":13.5, "y":2.25, "w":1.5},
|
||||
{"matrix": [2, 14], "label":"Delete", "x":15.25, "y":2.25},
|
||||
{"matrix": [2, 15], "label":"End", "x":16.25, "y":2.25},
|
||||
{"matrix": [2, 16], "label":"PgDn", "x":17.25, "y":2.25},
|
||||
|
||||
{"matrix": [3, 0], "label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"matrix": [3, 1], "label":"A", "x":1.75, "y":3.25},
|
||||
{"matrix": [3, 2], "label":"S", "x":2.75, "y":3.25},
|
||||
{"matrix": [3, 3], "label":"D", "x":3.75, "y":3.25},
|
||||
{"matrix": [3, 4], "label":"F", "x":4.75, "y":3.25},
|
||||
{"matrix": [3, 5], "label":"G", "x":5.75, "y":3.25},
|
||||
{"matrix": [3, 6], "label":"H", "x":6.75, "y":3.25},
|
||||
{"matrix": [3, 7], "label":"J", "x":7.75, "y":3.25},
|
||||
{"matrix": [3, 8], "label":"K", "x":8.75, "y":3.25},
|
||||
{"matrix": [3, 9], "label":"L", "x":9.75, "y":3.25},
|
||||
{"matrix": [3, 10], "label":":", "x":10.75, "y":3.25},
|
||||
{"matrix": [3, 11], "label":"SQ", "x":11.75, "y":3.25},
|
||||
{"matrix": [3, 13], "label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
||||
|
||||
{"matrix": [4, 0], "label":"Left Shift", "x":0, "y":4.25, "w":2.25},
|
||||
{"matrix": [4, 1], "label":"Z", "x":2.25, "y":4.25},
|
||||
{"matrix": [4, 2], "label":"X", "x":3.25, "y":4.25},
|
||||
{"matrix": [4, 3], "label":"C", "x":4.25, "y":4.25},
|
||||
{"matrix": [4, 4], "label":"V", "x":5.25, "y":4.25},
|
||||
{"matrix": [4, 5], "label":"B", "x":6.25, "y":4.25},
|
||||
{"matrix": [4, 6], "label":"N", "x":7.25, "y":4.25},
|
||||
{"matrix": [4, 7], "label":"M", "x":8.25, "y":4.25},
|
||||
{"matrix": [4, 8], "label":"<", "x":9.25, "y":4.25},
|
||||
{"matrix": [4, 9], "label":">", "x":10.25, "y":4.25},
|
||||
{"matrix": [4, 10], "label":"?", "x":11.25, "y":4.25},
|
||||
{"matrix": [4, 12], "label":"Right Shift", "x":12.25, "y":4.25, "w":1.75},
|
||||
{"matrix": [4, 13], "label":"Right Shift", "x":12.25, "y":4.25},
|
||||
{"matrix": [4, 15], "label":"\u2191", "x":16.25, "y":4.25},
|
||||
|
||||
{"matrix": [5, 0], "label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 1], "label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 2], "label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 5], "x":3.75, "y":5.25, "w":6.25},
|
||||
{"matrix": [5, 9], "label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 10], "label":"Win", "x":11.25, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 11], "label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 13], "label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 14], "label":"\u2190", "x":15.25, "y":5.25},
|
||||
{"matrix": [5, 15], "label":"\u2193", "x":16.25, "y":5.25},
|
||||
{"matrix": [5, 16], "label":"\u2192", "x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
41
keyboards/lucid/velvet_hotswap/keymaps/default/keymap.c
Normal file
41
keyboards/lucid/velvet_hotswap/keymaps/default/keymap.c
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
Copyright 2022 <hello@makerkeyboards.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
|
||||
|
||||
enum layers {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_LAYER0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSPC, 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_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
61
keyboards/lucid/velvet_hotswap/keymaps/via/keymap.c
Normal file
61
keyboards/lucid/velvet_hotswap/keymaps/via/keymap.c
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
Copyright 2022 <hello@makerkeyboards.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
|
||||
|
||||
enum layers {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
_LAYER2,
|
||||
_LAYER3,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_LAYER0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_LAYER2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_LAYER3] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
1
keyboards/lucid/velvet_hotswap/keymaps/via/rules.mk
Normal file
1
keyboards/lucid/velvet_hotswap/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
20
keyboards/lucid/velvet_hotswap/readme.md
Normal file
20
keyboards/lucid/velvet_hotswap/readme.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Velvet Hotswap PCB by Lucid
|
||||
|
||||
The following is the QMK Firmware for the Velvet Hotswap PCB by [Maker Keyboards](http://www.makerkeyboards.com).
|
||||
* Keyboard Maintainer: Maker Keyboards
|
||||
* Hardware Supported: Velvet
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make lucid/velvet_hotswap: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 2 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the top left key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (Fn+Backslash by 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).
|
2
keyboards/lucid/velvet_hotswap/rules.mk
Normal file
2
keyboards/lucid/velvet_hotswap/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
# Processor frequency
|
||||
F_CPU = 8000000
|
130
keyboards/lucid/velvet_solder/info.json
Normal file
130
keyboards/lucid/velvet_solder/info.json
Normal file
@ -0,0 +1,130 @@
|
||||
{
|
||||
"keyboard_name": "Velvet Solder",
|
||||
"manufacturer": "FJLaboratories",
|
||||
"url": "http://www.makerkeyboards.com",
|
||||
"maintainer": "Maker Keyboards",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0007",
|
||||
"vid": "0x7667"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["F2", "F3", "F4", "F5", "F6", "F7", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "D5", "D6", "D7"],
|
||||
"rows": ["B4", "B5", "B6", "C0", "E1", "E0"]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"processor": "at90usb646",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "label":"Esc", "x":0, "y":0},
|
||||
{"matrix": [0, 1], "label":"F1", "x":1.25, "y":0},
|
||||
{"matrix": [0, 2], "label":"F2", "x":2.25, "y":0},
|
||||
{"matrix": [0, 3], "label":"F3", "x":3.25, "y":0},
|
||||
{"matrix": [0, 4], "label":"F4", "x":4.25, "y":0},
|
||||
{"matrix": [0, 5], "label":"F5", "x":5.5, "y":0},
|
||||
{"matrix": [0, 6], "label":"F6", "x":6.5, "y":0},
|
||||
{"matrix": [0, 7], "label":"F7", "x":7.5, "y":0},
|
||||
{"matrix": [0, 8], "label":"F8", "x":8.5, "y":0},
|
||||
{"matrix": [0, 9], "label":"F9", "x":9.75, "y":0},
|
||||
{"matrix": [0, 10], "label":"F10", "x":10.75, "y":0},
|
||||
{"matrix": [0, 11], "label":"F11", "x":11.75, "y":0},
|
||||
{"matrix": [0, 12], "label":"F12", "x":12.75, "y":0},
|
||||
{"matrix": [0, 13], "label":"F13", "x":14, "y":0},
|
||||
{"matrix": [0, 14], "label":"PrtSc", "x":15.25, "y":0},
|
||||
{"matrix": [0, 15], "label":"Scroll Lock", "x":16.25, "y":0},
|
||||
{"matrix": [0, 16], "label":"Pause", "x":17.25, "y":0},
|
||||
|
||||
{"matrix": [1, 0], "label":"~", "x":0, "y":1.25},
|
||||
{"matrix": [1, 1], "label":"!", "x":1, "y":1.25},
|
||||
{"matrix": [1, 2], "label":"@", "x":2, "y":1.25},
|
||||
{"matrix": [1, 3], "label":"#", "x":3, "y":1.25},
|
||||
{"matrix": [1, 4], "label":"$", "x":4, "y":1.25},
|
||||
{"matrix": [1, 5], "label":"%", "x":5, "y":1.25},
|
||||
{"matrix": [1, 6], "label":"^", "x":6, "y":1.25},
|
||||
{"matrix": [1, 7], "label":"&", "x":7, "y":1.25},
|
||||
{"matrix": [1, 8], "label":"*", "x":8, "y":1.25},
|
||||
{"matrix": [1, 9], "label":"(", "x":9, "y":1.25},
|
||||
{"matrix": [1, 10], "label":")", "x":10, "y":1.25},
|
||||
{"matrix": [1, 11], "label":"_", "x":11, "y":1.25},
|
||||
{"matrix": [1, 12], "label":"+", "x":12, "y":1.25},
|
||||
{"matrix": [1, 13], "label":"Back Space", "x":13, "y":1.25},
|
||||
{"matrix": [3, 14], "label":"Back Space", "x":14, "y":1.25},
|
||||
{"matrix": [1, 14], "label":"Insert", "x":15.25, "y":1.25},
|
||||
{"matrix": [1, 15], "label":"Home", "x":16.25, "y":1.25},
|
||||
{"matrix": [1, 16], "label":"PgUp", "x":17.25, "y":1.25},
|
||||
|
||||
{"matrix": [2, 0], "label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||
{"matrix": [2, 1], "label":"Q", "x":1.5, "y":2.25},
|
||||
{"matrix": [2, 2], "label":"W", "x":2.5, "y":2.25},
|
||||
{"matrix": [2, 3], "label":"E", "x":3.5, "y":2.25},
|
||||
{"matrix": [2, 4], "label":"R", "x":4.5, "y":2.25},
|
||||
{"matrix": [2, 5], "label":"T", "x":5.5, "y":2.25},
|
||||
{"matrix": [2, 6], "label":"Y", "x":6.5, "y":2.25},
|
||||
{"matrix": [2, 7], "label":"U", "x":7.5, "y":2.25},
|
||||
{"matrix": [2, 8], "label":"I", "x":8.5, "y":2.25},
|
||||
{"matrix": [2, 9], "label":"O", "x":9.5, "y":2.25},
|
||||
{"matrix": [2, 10], "label":"P", "x":10.5, "y":2.25},
|
||||
{"matrix": [2, 11], "label":"{", "x":11.5, "y":2.25},
|
||||
{"matrix": [2, 12], "label":"}", "x":12.5, "y":2.25},
|
||||
{"matrix": [2, 13], "label":"|", "x":13.5, "y":2.25, "w":1.5},
|
||||
{"matrix": [2, 14], "label":"Delete", "x":15.25, "y":2.25},
|
||||
{"matrix": [2, 15], "label":"End", "x":16.25, "y":2.25},
|
||||
{"matrix": [2, 16], "label":"PgDn", "x":17.25, "y":2.25},
|
||||
|
||||
{"matrix": [3, 0], "label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||
{"matrix": [3, 1], "label":"A", "x":1.75, "y":3.25},
|
||||
{"matrix": [3, 2], "label":"S", "x":2.75, "y":3.25},
|
||||
{"matrix": [3, 3], "label":"D", "x":3.75, "y":3.25},
|
||||
{"matrix": [3, 4], "label":"F", "x":4.75, "y":3.25},
|
||||
{"matrix": [3, 5], "label":"G", "x":5.75, "y":3.25},
|
||||
{"matrix": [3, 6], "label":"H", "x":6.75, "y":3.25},
|
||||
{"matrix": [3, 7], "label":"J", "x":7.75, "y":3.25},
|
||||
{"matrix": [3, 8], "label":"K", "x":8.75, "y":3.25},
|
||||
{"matrix": [3, 9], "label":"L", "x":9.75, "y":3.25},
|
||||
{"matrix": [3, 10], "label":":", "x":10.75, "y":3.25},
|
||||
{"matrix": [3, 11], "label":"SQ", "x":11.75, "y":3.25},
|
||||
{"matrix": [3, 13], "label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
||||
|
||||
{"matrix": [4, 0], "label":"Left Shift", "x":0, "y":4.25, "w":1.25},
|
||||
{"matrix": [4, 1], "label":"Left Shift", "x":1.25, "y":4.25, "w":1},
|
||||
{"matrix": [4, 2], "label":"Z", "x":2.25, "y":4.25},
|
||||
{"matrix": [4, 3], "label":"X", "x":3.25, "y":4.25},
|
||||
{"matrix": [4, 4], "label":"C", "x":4.25, "y":4.25},
|
||||
{"matrix": [4, 5], "label":"V", "x":5.25, "y":4.25},
|
||||
{"matrix": [4, 6], "label":"B", "x":6.25, "y":4.25},
|
||||
{"matrix": [4, 7], "label":"N", "x":7.25, "y":4.25},
|
||||
{"matrix": [4, 8], "label":"M", "x":8.25, "y":4.25},
|
||||
{"matrix": [4, 9], "label":"<", "x":9.25, "y":4.25},
|
||||
{"matrix": [4, 10], "label":">", "x":10.25, "y":4.25},
|
||||
{"matrix": [4, 11], "label":"?", "x":11.25, "y":4.25},
|
||||
{"matrix": [4, 12], "label":"Right Shift", "x":12.25, "y":4.25, "w":1.75},
|
||||
{"matrix": [4, 13], "label":"Right Shift", "x":12.25, "y":4.25},
|
||||
{"matrix": [4, 15], "label":"\u2191", "x":16.25, "y":4.25},
|
||||
|
||||
{"matrix": [5, 0], "label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 1], "label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 2], "label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 4], "x":3.75, "y":5.25, "w":2.75},
|
||||
{"matrix": [5, 5], "x":6.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 8], "x":6.75, "y":5.25, "w":2.25},
|
||||
{"matrix": [5, 9], "label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 10], "label":"Win", "x":11.25, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 11], "label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 13], "label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||
{"matrix": [5, 14], "label":"\u2190", "x":15.25, "y":5.25},
|
||||
{"matrix": [5, 15], "label":"\u2193", "x":16.25, "y":5.25},
|
||||
{"matrix": [5, 16], "label":"\u2192", "x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
41
keyboards/lucid/velvet_solder/keymaps/default/keymap.c
Normal file
41
keyboards/lucid/velvet_solder/keymaps/default/keymap.c
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
Copyright 2022 <hello@makerkeyboards.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
|
||||
|
||||
enum layers {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_LAYER0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSPC, KC_ENT,
|
||||
KC_LSFT, 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_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
61
keyboards/lucid/velvet_solder/keymaps/via/keymap.c
Normal file
61
keyboards/lucid/velvet_solder/keymaps/via/keymap.c
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
Copyright 2022 <hello@makerkeyboards.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
|
||||
|
||||
enum layers {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
_LAYER2,
|
||||
_LAYER3,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_LAYER0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_LAYER2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[_LAYER3] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
1
keyboards/lucid/velvet_solder/keymaps/via/rules.mk
Normal file
1
keyboards/lucid/velvet_solder/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
20
keyboards/lucid/velvet_solder/readme.md
Normal file
20
keyboards/lucid/velvet_solder/readme.md
Normal file
@ -0,0 +1,20 @@
|
||||
# Velvet Solder PCB by Lucid
|
||||
|
||||
The following is the QMK Firmware for the Velvet Solder PCB by [Maker Keyboards](http://www.makerkeyboards.com).
|
||||
* Keyboard Maintainer: Maker Keyboards
|
||||
* Hardware Supported: Velvet
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make lucid/velvet_solder: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).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 2 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the top left key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (Fn+Backslash by 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).
|
2
keyboards/lucid/velvet_solder/rules.mk
Normal file
2
keyboards/lucid/velvet_solder/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
# Processor frequency
|
||||
F_CPU = 8000000
|
80
keyboards/novelkeys/nk_plus/config.h
Normal file
80
keyboards/novelkeys/nk_plus/config.h
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
Copyright 2022 Yiancar
|
||||
|
||||
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
|
||||
|
||||
/* RGB options */
|
||||
|
||||
#define WS2812_PWM_DRIVER PWMD3
|
||||
#define WS2812_PWM_CHANNEL 1
|
||||
#define WS2812_PWM_PAL_MODE 1
|
||||
#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
|
||||
#define WS2812_DMA_CHANNEL 3
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 76
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
#define ENABLE_RGB_MATRIX_BREATHING
|
||||
#define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
#define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
#define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
#define ENABLE_RGB_MATRIX_RAINDROPS
|
||||
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
#define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
#define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
#define ENABLE_RGB_MATRIX_SPLASH
|
||||
#define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
21
keyboards/novelkeys/nk_plus/halconf.h
Normal file
21
keyboards/novelkeys/nk_plus/halconf.h
Normal file
@ -0,0 +1,21 @@
|
||||
/* Copyright 2022 Yiancar
|
||||
*
|
||||
* 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_PWM TRUE
|
||||
|
||||
#include_next <halconf.h>
|
196
keyboards/novelkeys/nk_plus/info.json
Executable file
196
keyboards/novelkeys/nk_plus/info.json
Executable file
@ -0,0 +1,196 @@
|
||||
{
|
||||
"keyboard_name": "NK+",
|
||||
"manufacturer": "Yiancar-Designs",
|
||||
"url": "www.yiancar-designs.com",
|
||||
"maintainer": "Yiancar",
|
||||
"usb": {
|
||||
"vid": "0x8968",
|
||||
"pid": "0x4E51",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["A2", "A1", "A0", "A3", "A4", "A5", "A6", "A7", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A14"],
|
||||
"rows": ["B2", "B1", "B0", "B10", "B3"]
|
||||
},
|
||||
"features": {
|
||||
"backlight": false,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true,
|
||||
"rgblight": false
|
||||
},
|
||||
"processor": "STM32F072",
|
||||
"bootloader": "stm32-dfu",
|
||||
"rgb_matrix": {
|
||||
"driver": "WS2812",
|
||||
"layout": [
|
||||
{ "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "flags": 1, "matrix": [0, 1], "x": 13, "y": 0 },
|
||||
{ "flags": 1, "matrix": [0, 2], "x": 32, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 3], "x": 45, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 4], "x": 58, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 5], "x": 70, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 6], "x": 83, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 7], "x": 96, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 8], "x": 109, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 9], "x": 122, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 10], "x": 134, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 11], "x": 147, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 12], "x": 160, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 13], "x": 173, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 14], "x": 186, "y": 0 },
|
||||
{ "flags": 1, "matrix": [0, 15], "x": 205, "y": 0 },
|
||||
{ "flags": 1, "matrix": [0, 16], "x": 224, "y": 0 },
|
||||
{ "flags": 1, "matrix": [1, 16], "x": 224, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 15], "x": 208, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 14], "x": 192, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 13], "x": 179, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 12], "x": 166, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 11], "x": 154, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 10], "x": 141, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 9], "x": 128, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 8], "x": 115, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 7], "x": 102, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 6], "x": 90, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 5], "x": 77, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 4], "x": 64, "y": 16 },
|
||||
{ "flags": 4, "matrix": [1, 3], "x": 51, "y": 16 },
|
||||
{ "flags": 1, "matrix": [1, 2], "x": 35, "y": 16 },
|
||||
{ "flags": 1, "matrix": [1, 1], "x": 13, "y": 16 },
|
||||
{ "flags": 1, "matrix": [1, 0], "x": 0, "y": 16 },
|
||||
{ "flags": 1, "matrix": [2, 0], "x": 0, "y": 32 },
|
||||
{ "flags": 1, "matrix": [2, 1], "x": 13, "y": 32 },
|
||||
{ "flags": 1, "matrix": [2, 2], "x": 37, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 3], "x": 54, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 4], "x": 67, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 5], "x": 80, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 6], "x": 93, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 7], "x": 106, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 8], "x": 118, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 9], "x": 131, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 10], "x": 144, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 11], "x": 157, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 12], "x": 170, "y": 32 },
|
||||
{ "flags": 4, "matrix": [2, 13], "x": 182, "y": 32 },
|
||||
{ "flags": 1, "matrix": [2, 15], "x": 203, "y": 32 },
|
||||
{ "flags": 1, "matrix": [2, 16], "x": 224, "y": 32 },
|
||||
{ "flags": 1, "matrix": [3, 16], "x": 224, "y": 48 },
|
||||
{ "flags": 1, "matrix": [3, 15], "x": 211, "y": 48 },
|
||||
{ "flags": 1, "matrix": [3, 14], "x": 194, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 13], "x": 176, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 12], "x": 163, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 11], "x": 150, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 10], "x": 138, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 9], "x": 125, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 8], "x": 112, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 7], "x": 99, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 6], "x": 86, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 5], "x": 74, "y": 48 },
|
||||
{ "flags": 4, "matrix": [3, 4], "x": 61, "y": 48 },
|
||||
{ "flags": 1, "matrix": [3, 2], "x": 40, "y": 48 },
|
||||
{ "flags": 1, "matrix": [3, 1], "x": 13, "y": 48 },
|
||||
{ "flags": 1, "matrix": [3, 0], "x": 0, "y": 48 },
|
||||
{ "flags": 1, "matrix": [4, 0], "x": 0, "y": 64 },
|
||||
{ "flags": 1, "matrix": [4, 1], "x": 13, "y": 64 },
|
||||
{ "flags": 1, "matrix": [4, 2], "x": 35, "y": 64 },
|
||||
{ "flags": 1, "matrix": [4, 3], "x": 51, "y": 64 },
|
||||
{ "flags": 1, "matrix": [4, 4], "x": 67, "y": 64 },
|
||||
{ "flags": 4, "matrix": [4, 8], "x": 122, "y": 64 },
|
||||
{ "flags": 1, "matrix": [4, 13], "x": 176, "y": 64 },
|
||||
{ "flags": 1, "matrix": [4, 14], "x": 198, "y": 64 },
|
||||
{ "flags": 1, "matrix": [4, 15], "x": 211, "y": 64 },
|
||||
{ "flags": 1, "matrix": [4, 16], "x": 224, "y": 64 }
|
||||
],
|
||||
"max_brightness": 120
|
||||
},
|
||||
"rgblight": {
|
||||
"pin": "B4"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "matrix": [0, 2], "x": 2.5, "y": 0 },
|
||||
{ "matrix": [0, 3], "x": 3.5, "y": 0 },
|
||||
{ "matrix": [0, 4], "x": 4.5, "y": 0 },
|
||||
{ "matrix": [0, 5], "x": 5.5, "y": 0 },
|
||||
{ "matrix": [0, 6], "x": 6.5, "y": 0 },
|
||||
{ "matrix": [0, 7], "x": 7.5, "y": 0 },
|
||||
{ "matrix": [0, 8], "x": 8.5, "y": 0 },
|
||||
{ "matrix": [0, 9], "x": 9.5, "y": 0 },
|
||||
{ "matrix": [0, 10], "x": 10.5, "y": 0 },
|
||||
{ "matrix": [0, 11], "x": 11.5, "y": 0 },
|
||||
{ "matrix": [0, 12], "x": 12.5, "y": 0 },
|
||||
{ "matrix": [0, 13], "x": 13.5, "y": 0 },
|
||||
{ "matrix": [0, 14], "x": 14.5, "y": 0 },
|
||||
{ "matrix": [0, 15], "x": 15.5, "y": 0 },
|
||||
{ "matrix": [0, 16], "x": 17.5, "y": 0 },
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 1, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 4, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 5, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 6, "y": 1 },
|
||||
{ "matrix": [1, 6], "x": 7, "y": 1 },
|
||||
{ "matrix": [1, 7], "x": 8, "y": 1 },
|
||||
{ "matrix": [1, 8], "x": 9, "y": 1 },
|
||||
{ "matrix": [1, 9], "x": 10, "y": 1 },
|
||||
{ "matrix": [1, 10], "x": 11, "y": 1 },
|
||||
{ "matrix": [1, 11], "x": 12, "y": 1 },
|
||||
{ "matrix": [1, 12], "x": 13, "y": 1 },
|
||||
{ "matrix": [1, 13], "x": 14, "y": 1 },
|
||||
{ "matrix": [1, 14], "x": 15, "y": 1 },
|
||||
{ "matrix": [1, 15], "x": 16, "y": 1 },
|
||||
{ "matrix": [1, 16], "x": 17.5, "y": 1 },
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 2.5, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 4.25, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 5.25, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 6.25, "y": 2 },
|
||||
{ "matrix": [2, 6], "x": 7.25, "y": 2 },
|
||||
{ "matrix": [2, 7], "x": 8.25, "y": 2 },
|
||||
{ "matrix": [2, 8], "x": 9.25, "y": 2 },
|
||||
{ "matrix": [2, 9], "x": 10.25, "y": 2 },
|
||||
{ "matrix": [2, 10], "x": 11.25, "y": 2 },
|
||||
{ "matrix": [2, 11], "x": 12.25, "y": 2 },
|
||||
{ "matrix": [2, 12], "x": 13.25, "y": 2 },
|
||||
{ "matrix": [2, 13], "x": 14.25, "y": 2 },
|
||||
{ "matrix": [2, 15], "x": 15.25, "y": 2 },
|
||||
{ "matrix": [2, 16], "x": 17.5, "y": 2 },
|
||||
{ "matrix": [3, 0], "x": 0, "y": 3 },
|
||||
{ "matrix": [3, 1], "x": 1, "y": 3 },
|
||||
{ "matrix": [3, 2], "x": 2.5, "y": 3 },
|
||||
{ "matrix": [3, 4], "x": 4.75, "y": 3 },
|
||||
{ "matrix": [3, 5], "x": 5.75, "y": 3 },
|
||||
{ "matrix": [3, 6], "x": 6.75, "y": 3 },
|
||||
{ "matrix": [3, 7], "x": 7.75, "y": 3 },
|
||||
{ "matrix": [3, 8], "x": 8.75, "y": 3 },
|
||||
{ "matrix": [3, 9], "x": 9.75, "y": 3 },
|
||||
{ "matrix": [3, 10], "x": 10.75, "y": 3 },
|
||||
{ "matrix": [3, 11], "x": 11.75, "y": 3 },
|
||||
{ "matrix": [3, 12], "x": 12.75, "y": 3 },
|
||||
{ "matrix": [3, 13], "x": 13.75, "y": 3 },
|
||||
{ "matrix": [3, 14], "x": 14.75, "y": 3 },
|
||||
{ "matrix": [3, 15], "x": 16.5, "y": 3 },
|
||||
{ "matrix": [3, 16], "x": 17.5, "y": 3 },
|
||||
{ "matrix": [4, 0], "x": 0, "y": 4 },
|
||||
{ "matrix": [4, 1], "x": 1, "y": 4 },
|
||||
{ "matrix": [4, 2], "x": 2.5, "y": 4 },
|
||||
{ "matrix": [4, 3], "x": 4, "y": 4 },
|
||||
{ "matrix": [4, 4], "x": 5, "y": 4 },
|
||||
{ "matrix": [4, 8], "x": 6.5, "y": 4 },
|
||||
{ "matrix": [4, 13], "x": 13.5, "y": 4 },
|
||||
{ "matrix": [4, 14], "x": 15.5, "y": 4 },
|
||||
{ "matrix": [4, 15], "x": 16.5, "y": 4 },
|
||||
{ "matrix": [4, 16], "x": 17.5, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
32
keyboards/novelkeys/nk_plus/keymaps/default/keymap.c
Normal file
32
keyboards/novelkeys/nk_plus/keymaps/default/keymap.c
Normal file
@ -0,0 +1,32 @@
|
||||
/* Copyright 2022 Yiancar
|
||||
*
|
||||
* 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( /* Base */
|
||||
KC_F1, KC_F2, 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_BSPC, KC_HOME,
|
||||
KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||
KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = LAYOUT( /* FN */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
33
keyboards/novelkeys/nk_plus/keymaps/via/keymap.c
Normal file
33
keyboards/novelkeys/nk_plus/keymaps/via/keymap.c
Normal file
@ -0,0 +1,33 @@
|
||||
/* Copyright 2022 Yiancar
|
||||
*
|
||||
* 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( /* Base */
|
||||
KC_F1, KC_F2, 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_BSPC, KC_HOME,
|
||||
KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||
KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||
KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = LAYOUT( /* FN */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
};
|
1
keyboards/novelkeys/nk_plus/keymaps/via/rules.mk
Normal file
1
keyboards/novelkeys/nk_plus/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
22
keyboards/novelkeys/nk_plus/mcuconf.h
Normal file
22
keyboards/novelkeys/nk_plus/mcuconf.h
Normal file
@ -0,0 +1,22 @@
|
||||
/* Copyright 2022 Yiancar
|
||||
*
|
||||
* 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 STM32_PWM_USE_TIM3
|
||||
#define STM32_PWM_USE_TIM3 TRUE
|
32
keyboards/novelkeys/nk_plus/readme.md
Normal file
32
keyboards/novelkeys/nk_plus/readme.md
Normal file
@ -0,0 +1,32 @@
|
||||
# NK+
|
||||
|
||||
This is a 65% with macro keys PCB. It supports VIA and full per-key RGB.
|
||||
|
||||
* Keyboard Maintainer: [Yiancar](https://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
|
||||
* Hardware Supported: A 65% with macro keys keyboard with STM32F072CB or APM compatible
|
||||
* Hardware Availability: https://novelkeys.com/
|
||||
|
||||
## Instructions
|
||||
|
||||
### Build
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make novelkeys/nk_plus:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
### Reset
|
||||
|
||||
- Unplug
|
||||
- Hold Escape
|
||||
- Plug In
|
||||
- Unplug
|
||||
- Release Escape
|
||||
|
||||
### Flash
|
||||
|
||||
- Unplug
|
||||
- Hold Escape
|
||||
- Plug In
|
||||
- Flash using QMK Toolbox or dfu-util (`make novelkeys/nk_plus:<keymap>:dfu-util`)
|
12
keyboards/novelkeys/nk_plus/rules.mk
Normal file
12
keyboards/novelkeys/nk_plus/rules.mk
Normal file
@ -0,0 +1,12 @@
|
||||
# Wildcard to allow APM32 MCU
|
||||
DFU_SUFFIX_ARGS = -v FFFF -p FFFF
|
||||
|
||||
# Do not put the microcontroller into power saving mode
|
||||
# when we get USB suspend event. We want it to keep updating
|
||||
# backlight effects.
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
WS2812_DRIVER = pwm # Per-key RGB MCU Driver
|
@ -22,7 +22,7 @@
|
||||
# define POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
|
||||
#endif // POINTING_DEVICE_ENABLE
|
||||
|
||||
#define I2C_DRIVER I2CD1
|
||||
#define I2C_DRIVER I2CD0
|
||||
#define I2C1_SDA_PIN GP16
|
||||
#define I2C1_SCL_PIN GP17
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Double tap TD(0) to enter bootloader
|
||||
static void enter_qk_boot(qk_tap_dance_state_t *state, void *user_data) {
|
||||
static void enter_qk_boot(tap_dance_state_t *state, void *user_data) {
|
||||
if (state->count >= 2) {
|
||||
reset_keyboard();
|
||||
reset_tap_dance(state);
|
||||
@ -13,7 +13,7 @@ static void enter_qk_boot(qk_tap_dance_state_t *state, void *user_data) {
|
||||
|
||||
enum SpleebLayer { _BASE = 0, _FN, _MOUSE };
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {[0] = ACTION_TAP_DANCE_FN(enter_qk_boot)};
|
||||
tap_dance_action_t tap_dance_actions[] = {[0] = ACTION_TAP_DANCE_FN(enter_qk_boot)};
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
@ -18,4 +18,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#define SOLENOID_PIN A2
|
||||
|
||||
#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
|
||||
#define RGB_DI_PIN B15
|
||||
#define RGBLED_NUM 9
|
||||
#define WS2812_SPI SPID2
|
||||
#define WS2812_SPI_MOSI_PAL_MODE 5
|
||||
|
||||
#define FORCE_NKRO
|
||||
|
@ -8,7 +8,7 @@ CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
HAPTIC_ENABLE = yes
|
||||
|
@ -171,9 +171,9 @@ static matrix_row_t get_real_keys(uint8_t row, matrix_row_t rowdata) {
|
||||
matrix_row_t out = 0;
|
||||
for (uint8_t col = 0; col < MATRIX_COLS; col++) {
|
||||
// read each key in the row data and check if the keymap defines it as a real key
|
||||
if (keycode_at_keymap_location(0, row, col) && (rowdata & (1 << col))) {
|
||||
if (keycode_at_keymap_location(0, row, col) && (rowdata & (((matrix_row_t)1) << col))) {
|
||||
// this creates new row data, if a key is defined in the keymap, it will be set here
|
||||
out |= 1 << col;
|
||||
out |= ((matrix_row_t)1) << col;
|
||||
}
|
||||
}
|
||||
return out;
|
||||
|
Loading…
Reference in New Issue
Block a user