Merge branch 'master' into keyboards/trenctyl_manuform

This commit is contained in:
Matthias Fulz 2022-07-19 10:51:20 +02:00
commit e4ff1fdf80
464 changed files with 18630 additions and 3195 deletions

19
.gitignore vendored
View File

@ -5,6 +5,10 @@
.DS_Store .DS_Store
._* ._*
# Merge files
*.orig
*.rej
# Build artifacts # Build artifacts
.clang_complete .clang_complete
.build/ .build/
@ -27,16 +31,11 @@ quantum/version.h
*.uf2 *.uf2
# Old-style QMK Makefiles # Old-style QMK Makefiles
/keyboards/*/Makefile /keyboards/**/Makefile
/keyboards/*/*/Makefile
/keyboards/*/*/*/Makefile # kbfirmware....
/keyboards/*/*/*/*/Makefile /keyboards/**/kb.h
/keyboards/*/*/*/*/*/Makefile /keyboards/**/kb.c
/keyboards/*/keymaps/Makefile
/keyboards/*/*/keymaps/Makefile
/keyboards/*/*/*/keymaps/Makefile
/keyboards/*/*/*/*/keymaps/Makefile
/keyboards/*/*/*/*/*/keymaps/Makefile
# Eclipse/PyCharm/Other IDE Settings # Eclipse/PyCharm/Other IDE Settings
*.iml *.iml

View File

@ -84,6 +84,7 @@
* [One Shot Keys](one_shot_keys.md) * [One Shot Keys](one_shot_keys.md)
* [Pointing Device](feature_pointing_device.md) * [Pointing Device](feature_pointing_device.md)
* [Raw HID](feature_rawhid.md) * [Raw HID](feature_rawhid.md)
* [Secure](feature_secure.md)
* [Sequencer](feature_sequencer.md) * [Sequencer](feature_sequencer.md)
* [Swap Hands](feature_swap_hands.md) * [Swap Hands](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md) * [Tap Dance](feature_tap_dance.md)

54
docs/feature_secure.md Normal file
View File

@ -0,0 +1,54 @@
# Secure
The secure feature aims to prevent unwanted interaction without user intervention.
?> Secure does **not** currently implement encryption/decryption/etc and should not be a replacement where a strong hardware/software based solution is required.
### Unlock sequence
To unlock, the user must perform a set of actions. This can optionally be configured to be multiple keys.
* While unlocking all keyboard input is ignored
* Incorrect attempts will revert back to the previously locked state
### Automatic Locking
Once unlocked, the keyboard will revert back to a locked state after the configured timeout.
The timeout can be refreshed by using the `secure_activity_event` function, for example from one of the various [hooks](custom_quantum_functions.md).
## Usage
Add the following to your `rules.mk`:
```make
SECURE_ENABLE = yes
```
## Keycodes
| Key | Description |
|------------------|--------------------------------------------------------------------------------|
| `SECURE_LOCK` | Revert back to a locked state |
| `SECURE_UNLOCK` | Forces unlock without performing a unlock sequence |
| `SECURE_TOGGLE` | Toggle directly between locked and unlock without performing a unlock sequence |
| `SECURE_REQUEST` | Request that user perform the unlock sequence |
## Configuration
| Define | Default | Description |
|-------------------------|----------------|---------------------------------------------------------------------------------|
|`SECURE_UNLOCK_TIMEOUT` | `5000` | Timeout for the user to perform the configured unlock sequence - `0` to disable |
|`SECURE_IDLE_TIMEOUT` | `60000` | Timeout while unlocked before returning to locked - `0` to disable |
|`SECURE_UNLOCK_SEQUENCE` | `{ { 0, 0 } }` | Array of matrix locations describing a sequential sequence of keypresses |
## Functions
| Function | Description |
|---------------------------|----------------------------------------------------------------------------|
| `secure_is_locked()` | Check if the device is currently locked |
| `secure_is_unlocking()` | Check if an unlock sequence is currently in progress |
| `secure_is_unlocked()` | Check if the device is currently unlocked |
| `secure_lock()` | Lock down the device |
| `secure_unlock()` | Force unlock the device - bypasses user unlock sequence |
| `secure_request_unlock()` | Begin listening for an unlock sequence |
| `secure_activity_event()` | Flag that user activity has happened and the device should remain unlocked |

View File

@ -79,6 +79,9 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- `matrix_init_board()` etc. migrated to `keyboard_pre_init_kb()`, see: [keyboard_pre_init*](custom_quantum_functions.md?id=keyboard_pre_init_-function-documentation) - `matrix_init_board()` etc. migrated to `keyboard_pre_init_kb()`, see: [keyboard_pre_init*](custom_quantum_functions.md?id=keyboard_pre_init_-function-documentation)
- prefer `CUSTOM_MATRIX = lite` if custom matrix used, allows for standard debounce, see [custom matrix 'lite'](custom_matrix.md?id=lite) - prefer `CUSTOM_MATRIX = lite` if custom matrix used, allows for standard debounce, see [custom matrix 'lite'](custom_matrix.md?id=lite)
- prefer LED indicator [Configuration Options](feature_led_indicators.md?id=configuration-options) to custom `led_update_*()` implementations where possible - prefer LED indicator [Configuration Options](feature_led_indicators.md?id=configuration-options) to custom `led_update_*()` implementations where possible
- Encoder support should not be hacked into the keymap here -- no `tap_code(dynamic_keymap_get_keycode())` or `action_exec()` hacks. The [Encoder Map](feature_encoders.md?id=encoder-map) feature already supports the dynamic keymap feature (what power's VIA's "live keymap updates" capability).
- If support is absolutely necessary, it should be implemented exclusively at the keymap level, with none of the implementation bleeding into the keyboard level (no empty rows/columns, no encoder specific layouts, etc.), as those configurations can be redefined at the keymap level. Keymaps can then choose to use the `action_exec` hack. <!-- because people will complain, give them a way to implement it, in the meanwhile. To be removed. -->
- [Request for official proper VIA support](https://github.com/the-via/app/issues/26)
- `<keyboard>.h` - `<keyboard>.h`
- `#include "quantum.h"` appears at the top - `#include "quantum.h"` appears at the top
- `LAYOUT` macros should use standard definitions if applicable - `LAYOUT` macros should use standard definitions if applicable

View File

@ -238,3 +238,25 @@ Example:
``` ```
The device version is a BCD (binary coded decimal) value, in the format `MMmr`, so the below value would look like `0x0100` in the generated code. This also means the maximum valid values for each part are `99.9.9`, despite it being a hexadecimal value under the hood. The device version is a BCD (binary coded decimal) value, in the format `MMmr`, so the below value would look like `0x0100` in the generated code. This also means the maximum valid values for each part are `99.9.9`, despite it being a hexadecimal value under the hood.
### Secure
The following options can be configured:
|Key |Description |
|------------------|---------------------------------------------------------------------------------|
|`unlock_sequence` | Timeout for the user to perform the configured unlock sequence - `0` to disable |
|`unlock_timeout` | Timeout while unlocked before returning to locked - `0` to disable |
|`idle_timeout` | Array of matrix locations describing a sequential sequence of keypresses |
Example:
```json
{
"secure": {
"unlock_sequence": [ [0,0], [0,1] ],
"unlock_timeout": 5000,
"idle_timeout": 60000
}
}
```

View File

@ -0,0 +1,96 @@
/* Copyright 2022 ItsFiremanSam
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xCB00
#define PRODUCT_ID 0xF09F
#define DEVICE_VER 0x0001
#define MANUFACTURER ItsFiremanSam
#define PRODUCT TutelPad
/* key matrix size */
#define MATRIX_ROWS 2
#define MATRIX_COLS 4
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
/* Keyboard Matrix Assignments */
#define DIRECT_PINS { \
{ E6, D7, B1, B3 }, \
{ B5, B4, B2, B6 } \
}
#define RGB_DI_PIN D3 // LED data pin on controller
#define RGBLED_NUM 4 // Number of LEDs connected
#define RGBLIGHT_HUE_STEP 10 // The number of steps to cycle through the hue by
#define RGBLIGHT_SAT_STEP 17 // The number of steps to increment the saturation by
#define RGBLIGHT_VAL_STEP 17 // The number of steps to increment the brightness by
#define RGBLIGHT_LIMIT_VAL 255 // Max brightness level
#define RGBLIGHT_SLEEP // RGB will switch off when host goes to sleep
#define RGBLIGHT_EFFECT_BREATHING // Enable all additional RGB animation modes
#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 OLED_TIMEOUT 20000 // Turns off OLED after said amount of milliseconds
#define OLED_BRIGHTNESS 128
#define OLED_DISPLAY_128X64
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
*/
//#define GRAVE_ESC_CTRL_OVERRIDE
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 1
#define BOOTMAGIC_LITE_COLUMN 0

View File

@ -0,0 +1,20 @@
{
"keyboard_name": "TutelPad",
"url": "",
"maintainer": "ItsFiremanSam",
"layouts": {
"LAYOUT": {
"layout": [
{"label": "k03", "x": 0, "y": 0},
{"label": "k02", "x": 1, "y": 0},
{"label": "k01", "x": 2, "y": 0},
{"label": "k00", "x": 3, "y": 0},
{"label": "k13", "x": 0, "y": 1},
{"label": "k12", "x": 1, "y": 1},
{"label": "k11", "x": 2, "y": 1},
{"label": "k10", "x": 3, "y": 1}
]
}
}
}

View File

@ -0,0 +1,29 @@
/* Copyright 2022 ItsFiremanSam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
KC_1, KC_2, KC_3, KC_4,
KC_5, KC_6, KC_7, KC_8
)
};

View File

@ -0,0 +1,39 @@
/* Copyright 2022 ItsFiremanSam
*
* 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] = {
/* Base */
[0] = LAYOUT(
KC_1, KC_2, KC_3, KC_4,
KC_5, LT(1, KC_6), LT(1, KC_7), LT(1, KC_8)
),
[1] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______
),
[2] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______
),
[3] = LAYOUT(
_______, _______, _______, _______,
_______, _______, _______, _______
),
};

View File

@ -0,0 +1 @@
VIA_ENABLE = yes

View File

@ -0,0 +1,19 @@
# TutelPad macropad
* Keyboard Maintainer: [ItsFiremanSam](https://github.com/ItsFiremanSam)
* Hardware Supported: [TutelPad GitHub](https://github.com/0xCB-dev/0xCB-TutelPad)
* Hardware Availability: [KeebSupply](https://keeb.supply/)
## Bootloader
You can enter the bootloader by pressing the reset switch on the side while the keyboard is plugged in. You can also short the GND and RST pads on the controller.
Make example for this keyboard (after setting up your build environment):
make 0xcb/tutelpad:default
Flashing example for this keyboard:
make 0xcb/tutelpad: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).

View File

@ -0,0 +1,21 @@
## MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
OLED_ENABLE = yes
OLED_DRIVER = SSD1306

View File

@ -0,0 +1,106 @@
/* Copyright 2022 ItsFiremanSam
*
* 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 "tutelpad.h"
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_180;
}
static void render_logo(void) {
static const char PROGMEM tutel[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f,
0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f,
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f,
0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f,
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff,
0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0,
0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0,
0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
oled_write_raw_P(tutel, sizeof(tutel));
}
bool oled_task_kb(void) {
if (!oled_task_user()) {
return false;
}
render_logo();
return false;
}
#endif

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 ItsFiremanSam
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -17,15 +17,19 @@
#pragma once #pragma once
#include "quantum.h" #include "quantum.h"
#define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \
K12, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \
K36, K37, K38, K39, K40, K41, K42, K43, K44, K45 \
) { \
{K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \
{K12, KC_NO, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \
{K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \
{K36, K37, K38, K39,KC_NO,K40, K41,KC_NO,K42, K43, K44, K45} \
}
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define LAYOUT( \
k00, k01, k02, k03, \
k10, k11, k12, k13 \
) { \
{ k00, k01, k02, k03 }, \
{ k10, k11, k12, k13 } \
}

View File

@ -1,9 +1,13 @@
{ {
"keyboard_name": "Nayeon", "keyboard_name": "Nayeon",
"url": "", "url": "",
"maintainer": "Ramon Imbao", "maintainer": "ramonimbao",
"layout_aliases": {
"LAYOUT_ansi": "LAYOUT_tkl_f13_ansi_tsangan",
"LAYOUT_iso": "LAYOUT_tkl_f13_iso_tsangan"
},
"layouts": { "layouts": {
"LAYOUT_ansi": { "LAYOUT_tkl_f13_ansi_tsangan": {
"layout": [ "layout": [
{"x":0, "y":0}, {"x":0, "y":0},
{"x":1.25, "y":0}, {"x":1.25, "y":0},
@ -99,7 +103,105 @@
{"x":17.25, "y":5.25} {"x":17.25, "y":5.25}
] ]
}, },
"LAYOUT_iso": { "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": {
"layout": [
{"x":0, "y":0},
{"x":1.25, "y":0},
{"x":2.25, "y":0},
{"x":3.25, "y":0},
{"x":4.25, "y":0},
{"x":5.5, "y":0},
{"x":6.5, "y":0},
{"x":7.5, "y":0},
{"x":8.5, "y":0},
{"x":9.75, "y":0},
{"x":10.75, "y":0},
{"x":11.75, "y":0},
{"x":12.75, "y":0},
{"x":14, "y":0},
{"x":15.25, "y":0},
{"x":16.25, "y":0},
{"x":17.25, "y":0},
{"x":0, "y":1.25},
{"x":1, "y":1.25},
{"x":2, "y":1.25},
{"x":3, "y":1.25},
{"x":4, "y":1.25},
{"x":5, "y":1.25},
{"x":6, "y":1.25},
{"x":7, "y":1.25},
{"x":8, "y":1.25},
{"x":9, "y":1.25},
{"x":10, "y":1.25},
{"x":11, "y":1.25},
{"x":12, "y":1.25},
{"x":13, "y":1.25},
{"x":14, "y":1.25},
{"x":15.25, "y":1.25},
{"x":16.25, "y":1.25},
{"x":17.25, "y":1.25},
{"x":0, "y":2.25, "w":1.5},
{"x":1.5, "y":2.25},
{"x":2.5, "y":2.25},
{"x":3.5, "y":2.25},
{"x":4.5, "y":2.25},
{"x":5.5, "y":2.25},
{"x":6.5, "y":2.25},
{"x":7.5, "y":2.25},
{"x":8.5, "y":2.25},
{"x":9.5, "y":2.25},
{"x":10.5, "y":2.25},
{"x":11.5, "y":2.25},
{"x":12.5, "y":2.25},
{"x":13.5, "y":2.25, "w":1.5},
{"x":15.25, "y":2.25},
{"x":16.25, "y":2.25},
{"x":17.25, "y":2.25},
{"x":0, "y":3.25, "w":1.75},
{"x":1.75, "y":3.25},
{"x":2.75, "y":3.25},
{"x":3.75, "y":3.25},
{"x":4.75, "y":3.25},
{"x":5.75, "y":3.25},
{"x":6.75, "y":3.25},
{"x":7.75, "y":3.25},
{"x":8.75, "y":3.25},
{"x":9.75, "y":3.25},
{"x":10.75, "y":3.25},
{"x":11.75, "y":3.25},
{"x":12.75, "y":3.25, "w":2.25},
{"x":0, "y":4.25, "w":2.25},
{"x":2.25, "y":4.25},
{"x":3.25, "y":4.25},
{"x":4.25, "y":4.25},
{"x":5.25, "y":4.25},
{"x":6.25, "y":4.25},
{"x":7.25, "y":4.25},
{"x":8.25, "y":4.25},
{"x":9.25, "y":4.25},
{"x":10.25, "y":4.25},
{"x":11.25, "y":4.25},
{"x":12.25, "y":4.25, "w":1.75},
{"x":14, "y":4.25},
{"x":16.25, "y":4.25},
{"x":0, "y":5.25, "w":1.5},
{"x":1.5, "y":5.25},
{"x":2.5, "y":5.25, "w":1.5},
{"x":4, "y":5.25, "w":7},
{"x":11, "y":5.25, "w":1.5},
{"x":12.5, "y":5.25},
{"x":13.5, "y":5.25, "w":1.5},
{"x":15.25, "y":5.25},
{"x":16.25, "y":5.25},
{"x":17.25, "y":5.25}
]
},
"LAYOUT_tkl_f13_iso_tsangan": {
"layout": [ "layout": [
{"x":0, "y":0}, {"x":0, "y":0},
{"x":1.25, "y":0}, {"x":1.25, "y":0},
@ -196,6 +298,105 @@
{"x":17.25, "y":5.25} {"x":17.25, "y":5.25}
] ]
}, },
"LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": {
"layout": [
{"x":0, "y":0},
{"x":1.25, "y":0},
{"x":2.25, "y":0},
{"x":3.25, "y":0},
{"x":4.25, "y":0},
{"x":5.5, "y":0},
{"x":6.5, "y":0},
{"x":7.5, "y":0},
{"x":8.5, "y":0},
{"x":9.75, "y":0},
{"x":10.75, "y":0},
{"x":11.75, "y":0},
{"x":12.75, "y":0},
{"x":14, "y":0},
{"x":15.25, "y":0},
{"x":16.25, "y":0},
{"x":17.25, "y":0},
{"x":0, "y":1.25},
{"x":1, "y":1.25},
{"x":2, "y":1.25},
{"x":3, "y":1.25},
{"x":4, "y":1.25},
{"x":5, "y":1.25},
{"x":6, "y":1.25},
{"x":7, "y":1.25},
{"x":8, "y":1.25},
{"x":9, "y":1.25},
{"x":10, "y":1.25},
{"x":11, "y":1.25},
{"x":12, "y":1.25},
{"x":13, "y":1.25},
{"x":14, "y":1.25},
{"x":15.25, "y":1.25},
{"x":16.25, "y":1.25},
{"x":17.25, "y":1.25},
{"x":0, "y":2.25, "w":1.5},
{"x":1.5, "y":2.25},
{"x":2.5, "y":2.25},
{"x":3.5, "y":2.25},
{"x":4.5, "y":2.25},
{"x":5.5, "y":2.25},
{"x":6.5, "y":2.25},
{"x":7.5, "y":2.25},
{"x":8.5, "y":2.25},
{"x":9.5, "y":2.25},
{"x":10.5, "y":2.25},
{"x":11.5, "y":2.25},
{"x":12.5, "y":2.25},
{"x":15.25, "y":2.25},
{"x":16.25, "y":2.25},
{"x":17.25, "y":2.25},
{"x":0, "y":3.25, "w":1.75},
{"x":1.75, "y":3.25},
{"x":2.75, "y":3.25},
{"x":3.75, "y":3.25},
{"x":4.75, "y":3.25},
{"x":5.75, "y":3.25},
{"x":6.75, "y":3.25},
{"x":7.75, "y":3.25},
{"x":8.75, "y":3.25},
{"x":9.75, "y":3.25},
{"x":10.75, "y":3.25},
{"x":11.75, "y":3.25},
{"x":12.75, "y":3.25},
{"x":13.75, "y":2.25, "w":1.25, "h":2},
{"x":0, "y":4.25, "w":1.25},
{"x":1.25, "y":4.25},
{"x":2.25, "y":4.25},
{"x":3.25, "y":4.25},
{"x":4.25, "y":4.25},
{"x":5.25, "y":4.25},
{"x":6.25, "y":4.25},
{"x":7.25, "y":4.25},
{"x":8.25, "y":4.25},
{"x":9.25, "y":4.25},
{"x":10.25, "y":4.25},
{"x":11.25, "y":4.25},
{"x":12.25, "y":4.25, "w":1.75},
{"x":14, "y":4.25},
{"x":16.25, "y":4.25},
{"x":0, "y":5.25, "w":1.5},
{"x":1.5, "y":5.25},
{"x":2.5, "y":5.25, "w":1.5},
{"x":4, "y":5.25, "w":7},
{"x":11, "y":5.25, "w":1.5},
{"x":12.5, "y":5.25},
{"x":13.5, "y":5.25, "w":1.5},
{"x":15.25, "y":5.25},
{"x":16.25, "y":5.25},
{"x":17.25, "y":5.25}
]
},
"LAYOUT_all": { "LAYOUT_all": {
"layout": [ "layout": [
{"x":0, "y":0}, {"x":0, "y":0},

View File

@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ansi( [0] = LAYOUT_tkl_f13_ansi_tsangan(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS,
KC_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_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_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,

View File

@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_iso( [0] = LAYOUT_tkl_f13_iso_tsangan(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SLCK, KC_PAUS,
KC_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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,

View File

@ -24,7 +24,7 @@
// Full backspace // Full backspace
// Full right shift // Full right shift
// Full left shift // Full left shift
#define LAYOUT_ansi( \ #define LAYOUT_tkl_f13_ansi_tsangan( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
@ -40,11 +40,31 @@
{ k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \
} }
// ANSI layout
// Split backspace
// Split right shift
// Full left shift
#define LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k3d, k1e, k1f, k1g, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
k40, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
k50, k51, k52, k57, k5b, k5c, k5d, k5e, k5f, k5g \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, ___, ___, ___ }, \
{ k40, ___, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, ___, k4f, ___ }, \
{ k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \
}
// ISO layout // ISO layout
// Full backspace // Full backspace
// Full right shift // Full right shift
// Split left shift // Split left shift
#define LAYOUT_iso( \ #define LAYOUT_tkl_f13_iso_tsangan( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
@ -60,6 +80,26 @@
{ k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \ { k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \
} }
// ISO layout
// Split backspace
// Split right shift
// Split left shift
#define LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k3d, k1e, k1f, k1g, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, k2f, k2g, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k2d, \
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, k4f, \
k50, k51, k52, k57, k5b, k5c, k5d, k5e, k5f, k5g \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, ___, ___, ___ }, \
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d, ___, k4f, ___ }, \
{ k50, k51, k52, ___, ___, ___, ___, k57, ___, ___, ___, k5b, k5c, k5d, k5e, k5f, k5g }, \
}
// Layout for VIA // Layout for VIA
// Split backspace // Split backspace
// Split left shift // Split left shift

View File

@ -16,3 +16,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output AUDIO_ENABLE = no # Audio output
LAYOUTS = tkl_f13_ansi_tsangan tkl_f13_ansi_tsangan_split_bs_rshift tkl_f13_iso_tsangan tkl_f13_iso_tsangan_split_bs_rshift

View File

@ -66,10 +66,10 @@
{ "label": "K3B (D6,D7)", "x": 11.25, "y": 3 }, { "label": "K3B (D6,D7)", "x": 11.25, "y": 3 },
{ "label": "K3C (D6,D5)", "x": 12.25, "y": 3, "w": 1.75 }, { "label": "K3C (D6,D5)", "x": 12.25, "y": 3, "w": 1.75 },
{ "label": "K3D (D6,D3)", "x": 14, "y": 3 }, { "label": "K3D (D6,D3)", "x": 14, "y": 3 },
{ "label": "K40 (D4,F7)", "x": 0, "y": 4, "w": 1.25 }, { "label": "K40 (D4,F7)", "x": 0, "y": 4, "w": 1.5 },
{ "label": "K41 (D4,F6)", "x": 1.25, "y": 4, "w": 1.25 }, { "label": "K41 (D4,F6)", "x": 1.5, "y": 4},
{ "label": "K42 (D4,F5)", "x": 2.5, "y": 4, "w": 1.25 }, { "label": "K42 (D4,F5)", "x": 2.5, "y": 4, "w": 1.5 },
{ "label": "K46 (D4,C7)", "x": 3.75, "y": 4, "w": 7.25 }, { "label": "K46 (D4,C7)", "x": 4, "y": 4, "w": 7},
{ "label": "K4B (D4,D7)", "x": 11, "y": 4, "w": 1.5 }, { "label": "K4B (D4,D7)", "x": 11, "y": 4, "w": 1.5 },
{ "label": "K4C (D4,D5)", "x": 13, "y": 4 }, { "label": "K4C (D4,D5)", "x": 13, "y": 4 },
{ "label": "K4D (D4,D3)", "x": 14, "y": 4 }, { "label": "K4D (D4,D3)", "x": 14, "y": 4 },

View File

@ -0,0 +1,41 @@
{
"manufacturer": "Balloondog",
"keyboard_name": "TR90",
"maintainer": "balloondogcaps",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["F5", "F6", "D5"],
"rows": ["F0", "F1", "F4"]
},
"processor": "atmega32u4",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0001",
"vid": "0x4243"
},
"layouts": {
"LAYOUT": {
"layout": [
{ "matrix": [0, 0], "x": 0, "y": 0 },
{ "matrix": [0, 1], "x": 1, "y": 0 },
{ "matrix": [0, 2], "x": 2, "y": 0 },
{ "matrix": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 }
]
}
}
}

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2021 Balloondog
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -13,26 +13,19 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include QMK_KEYBOARD_H
#include "beiwagon.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef RGB_MATRIX_ENABLE [0] = LAYOUT( /* Base */
led_config_t g_led_config = { { KC_1, KC_2, KC_3,
{7,8,9}, KC_4, KC_5, KC_6,
{10,11,12}, KC_VOLD, KC_VOLU, MO(1)
{13,14,15}, ),
{16,17,18} [1] = LAYOUT(
}, { KC_7, KC_8, KC_9,
{2, 0}, {1, 0}, {0, 0}, KC_0, KC_MINUS, KC_PLUS,
{2, 1}, {1, 1}, {0, 1}, RESET, KC_AT , KC_TRNS
{2, 2}, {1, 2}, {0, 2}, ),
{2, 3}, {1, 3}, {0, 3}, };
}, {
2, 2, 2, 2, 2, 2,
1, 1, 1,
1, 4, 1,
1, 4, 1,
1, 1, 1
} };
#endif

View File

@ -0,0 +1,41 @@
/* Copyright 2021 Balloondog
*
* 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_1, KC_2, KC_3,
KC_4, KC_5, KC_6,
KC_VOLD, KC_VOLU, MO(1)
),
[1] = LAYOUT(
KC_7, KC_8, KC_9,
KC_0, KC_MINUS, KC_PLUS,
RESET, KC_AT , KC_TRNS
),
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@ -0,0 +1,25 @@
# balloondogcaps/tr90
![balloondogcaps/tr90](https://i.imgur.com/GCAZotn.jpeg)
A 3x3 Pro Macropad with programmer pins
* Keyboard Maintainer: [Balloondog](https://instagram.com/balloondogcaps)
* Hardware Supported: Balloondog Play Rough series case(s)
* Hardware Availability: [Balloondog](http://store.balloondog.nl)
Make example for this keyboard (after setting up your build environment):
make balloondogcaps/tr90:default
Flashing example for this keyboard:
make balloondogcaps/tr90: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 2 ways:
* **Physical reset button**: Briefly press the button on the back of the PCB
* **Keycode in layout**: Hold the bottom right key and then press the bottom left key to enter the bootloader

View File

View File

@ -0,0 +1,41 @@
{
"manufacturer": "Balloondog",
"keyboard_name": "TR90PM",
"maintainer": "balloondogcaps",
"bootloader": "caterina",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["D1", "D0", "D4"],
"rows": ["C6", "D7", "E6"]
},
"processor": "atmega32u4",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0002",
"vid": "0x4243"
},
"layouts": {
"LAYOUT": {
"layout": [
{ "matrix": [0, 0], "x": 0, "y": 0 },
{ "matrix": [0, 1], "x": 1, "y": 0 },
{ "matrix": [0, 2], "x": 2, "y": 0 },
{ "matrix": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 }
]
}
}
}

View File

@ -0,0 +1,31 @@
/* Copyright 2021 Balloondog
*
* 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_1, KC_2, KC_3,
KC_4, KC_5, KC_6,
KC_VOLD, KC_VOLU, MO(1)
),
[1] = LAYOUT(
KC_7, KC_8, KC_9,
KC_0, KC_MINUS, KC_PLUS,
RESET, KC_AT , KC_TRNS
),
};

View File

@ -0,0 +1,41 @@
/* Copyright 2021 Balloondog
*
* 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_1, KC_2, KC_3,
KC_4, KC_5, KC_6,
KC_VOLD, KC_VOLU, MO(1)
),
[1] = LAYOUT(
KC_7, KC_8, KC_9,
KC_0, KC_MINUS, KC_PLUS,
RESET, KC_AT , KC_TRNS
),
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@ -0,0 +1,25 @@
# balloondogcaps/tr90pm
![balloondogcaps/tr90pm](https://i.imgur.com/AO5anzZh.png)
A 3x3 Pro Micro enabled Macropad
* Keyboard Maintainer: [Balloondog](https://instagram.com/balloondogcaps)
* Hardware Supported: Balloondog Play Rough series case(s)
* Hardware Availability: [Balloondog](http://store.balloondog.nl)
Make example for this keyboard (after setting up your build environment):
make balloondogcaps/tr90pm:default
Flashing example for this keyboard:
make balloondogcaps/tr90pm: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 2 ways:
* **Physical reset button**: Briefly press the button on the back of the PCB. Some Pro Micro's require a double press.
* **Keycode in layout**: Hold the bottom right key and then press the bottom left key to enter the bootloader

View File

@ -0,0 +1 @@
# This file intentionally left blank

View File

@ -1 +0,0 @@
#include "3x4.h"

View File

@ -1,12 +0,0 @@
#pragma once
#include "quantum.h"
#define LAYOUT( \
K00, K01, K02, K03, \
K10, K11, K12, K13, \
K20, K21, K22, K23 \
) { \
{K00, K01, K02, K03}, \
{K10, K11, K12, K13}, \
{K20, K21, K22, K23} \
}

View File

@ -1,70 +0,0 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4273 // "Bs" - Boardsource
#define PRODUCT_ID 0x0304 // 3x4
#define DEVICE_VER 0x0000
#define MANUFACTURER Boardsource
#define PRODUCT 3x4
/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
#define MATRIX_ROW_PINS {F7, F6, F5}
#define MATRIX_COL_PINS {B6, B2, B3, B1}
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

View File

@ -1,27 +1,40 @@
{ {
"keyboard_name": "boardsource 4x3", "manufacturer": "Boardsource",
"url": "https://boardsource.xyz", "keyboard_name": "3x4",
"maintainer": "boardsource", "maintainer": "waffle87",
"layouts": { "development_board": "promicro",
"diode_direction": "COL2ROW",
"LAYOUT": { "features": {
"bootmagic": true,
"layout": [ "extrakey": true,
{ "label": "K01", "x": 0, "y": 0 }, "mousekey": true
{ "label": "K02", "x": 1, "y": 0 }, },
{ "label": "K03", "x": 2, "y": 0 }, "matrix_pins": {
{ "label": "K04", "x": 3, "y": 0 }, "cols": ["B6", "B2", "B3", "B1"],
"rows": ["F7", "F6", "F5"]
{ "label": "K05", "x": 0, "y": 1 }, },
{ "label": "K06", "x": 1, "y": 1 }, "url": "https://boardsource.xyz/store/5ecc2008eee64242946c98c1",
{ "label": "K07", "x": 2, "y": 1 }, "usb": {
{ "label": "K08", "x": 3, "y": 1 }, "device_version": "1.0.0",
"pid": "0x0304",
{ "label": "K09", "x": 0, "y": 2 }, "vid": "0x4273"
{ "label": "K10", "x": 1, "y": 2 }, },
{ "label": "K11", "x": 2, "y": 2 }, "layouts": {
{ "label": "K12", "x": 3, "y": 2 } "LAYOUT": {
] "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": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [1, 3], "x": 3, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 },
{ "matrix": [2, 3], "x": 3, "y": 2 }
]
} }
}
} }

View File

@ -1,26 +1,16 @@
// Copyright 2022 @waffle87
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum layers {
_MAIN,
_RAISE,
_LOWER,
};
// Readability keycodes
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
[_MAIN] = LAYOUT( KC_0, KC_1, KC_4, KC_7,
KC_0, KC_1, KC_4, KC_7, KC_ENT, KC_2, KC_5, KC_8,
KC_ENT, KC_2, KC_5, KC_8, MO(1), KC_3, KC_6, KC_9
RAISE, KC_3, KC_6, KC_9
), ),
[_RAISE] = LAYOUT( [1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, QK_BOOT _______, _______, _______, QK_BOOT
) )
}; };

View File

@ -1,25 +1,26 @@
// Copyright 2022 @gwillad
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
LAYOUT( KC_0, KC_1, KC_4, KC_7,
KC_0, KC_1, KC_4, KC_7, KC_ENT, KC_2, KC_5, KC_8,
KC_ENT, KC_2, KC_5, KC_8, MO(1), KC_3, KC_6, KC_9
MO(1), KC_3, KC_6, KC_9 ),
), [1] = LAYOUT(
LAYOUT( _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, _______,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, _______, _______, QK_BOOT
KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT ),
), [2] = LAYOUT(
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 ),
), [3] = LAYOUT(
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 )
)
}; };

View File

@ -1,5 +0,0 @@
# The via keymap for boardsource 3x4 macropad
This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 3x4 macropad
Maintained by: [gwillad](https://github.com/gwillad)

View File

@ -1,17 +1 @@
# MCU name # This file intentionally left blank
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output

View File

@ -1 +0,0 @@
#include "4x12.h"

View File

@ -1,14 +0,0 @@
#pragma once
#include "quantum.h"
#define LAYOUT_ortho_4x12( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \
K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \
K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47 \
) { \
{K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \
{K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \
{K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \
{K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47} \
}

View File

@ -1,68 +0,0 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4273 // "Bs" - Boardsource
#define PRODUCT_ID 0x0412
#define DEVICE_VER 0x0000
#define MANUFACTURER Boardsource
#define PRODUCT 4x12
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
#define MATRIX_ROW_PINS { D2, D3, D1, D0}
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6, B5, B4, E6, D7 }
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

View File

@ -1,62 +1,79 @@
{ {
"keyboard_name": "Boardsource 4x12", "manufacturer": "Boardsource",
"url": "https://boardsource.xyz", "keyboard_name": "4x12",
"maintainer": "Boardsource", "maintainer": "waffle87",
"layouts": { "development_board": "promicro",
"LAYOUT_ortho_4x12": { "diode_direction": "COL2ROW",
"layout": [ "features": {
{ "label": "K01", "x": 0, "y": 0 }, "bootmagic": true,
{ "label": "K02", "x": 1, "y": 0 }, "extrakey": true,
{ "label": "K03", "x": 2, "y": 0 }, "mousekey": true
{ "label": "K04", "x": 3, "y": 0 }, },
{ "label": "K05", "x": 4, "y": 0 }, "matrix_pins": {
{ "label": "K06", "x": 5, "y": 0 }, "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7"],
{ "label": "K07", "x": 6, "y": 0 }, "rows": ["D2", "D3", "D1", "D0"]
{ "label": "K08", "x": 7, "y": 0 }, },
{ "label": "K09", "x": 8, "y": 0 }, "url": "https://boardsource.xyz/store/5ecb78d286879c9a0c22dafd",
{ "label": "K010", "x": 9, "y": 0 }, "usb": {
{ "label": "K011", "x": 10, "y": 0 }, "device_version": "1.0.0",
{ "label": "K012", "x": 11, "y": 0 }, "pid": "0x0412",
"vid": "0x4273"
{ "label": "K11", "x": 0, "y": 1 }, },
{ "label": "K12", "x": 1, "y": 1 }, "community_layouts": [
{ "label": "K13", "x": 2, "y": 1 }, "ortho_4x12"
{ "label": "K14", "x": 3, "y": 1 }, ],
{ "label": "K15", "x": 4, "y": 1 }, "layouts": {
{ "label": "K16", "x": 5, "y": 1 }, "LAYOUT_ortho_4x12": {
{ "label": "K17", "x": 6, "y": 1 }, "layout": [
{ "label": "K18", "x": 7, "y": 1 }, { "matrix": [0, 0], "x": 0, "y": 0 },
{ "label": "K19", "x": 8, "y": 1 }, { "matrix": [0, 1], "x": 1, "y": 0 },
{ "label": "K110", "x": 9, "y": 1 }, { "matrix": [0, 2], "x": 2, "y": 0 },
{ "label": "K111", "x": 10, "y": 1 }, { "matrix": [0, 3], "x": 3, "y": 0 },
{ "label": "K112", "x": 11, "y": 1 }, { "matrix": [0, 4], "x": 4, "y": 0 },
{ "matrix": [0, 5], "x": 5, "y": 0 },
{ "label": "K21", "x": 0, "y": 2 }, { "matrix": [0, 6], "x": 6, "y": 0 },
{ "label": "K22", "x": 1, "y": 2 }, { "matrix": [0, 7], "x": 7, "y": 0 },
{ "label": "K23", "x": 2, "y": 2 }, { "matrix": [0, 8], "x": 8, "y": 0 },
{ "label": "K24", "x": 3, "y": 2 }, { "matrix": [0, 9], "x": 9, "y": 0 },
{ "label": "K25", "x": 4, "y": 2 }, { "matrix": [0, 10], "x": 10, "y": 0 },
{ "label": "K26", "x": 5, "y": 2 }, { "matrix": [0, 11], "x": 11, "y": 0 },
{ "label": "K27", "x": 6, "y": 2 }, { "matrix": [1, 0], "x": 0, "y": 1 },
{ "label": "K28", "x": 7, "y": 2 }, { "matrix": [1, 1], "x": 1, "y": 1 },
{ "label": "K29", "x": 8, "y": 2 }, { "matrix": [1, 2], "x": 2, "y": 1 },
{ "label": "K210", "x": 9, "y": 2 }, { "matrix": [1, 3], "x": 3, "y": 1 },
{ "label": "K211", "x": 10, "y": 2 }, { "matrix": [1, 4], "x": 4, "y": 1 },
{ "label": "K212", "x": 11, "y": 2 }, { "matrix": [1, 5], "x": 5, "y": 1 },
{ "matrix": [1, 6], "x": 6, "y": 1 },
{ "label": "K31", "x": 0, "y": 3 }, { "matrix": [1, 7], "x": 7, "y": 1 },
{ "label": "K32", "x": 1, "y": 3 }, { "matrix": [1, 8], "x": 8, "y": 1 },
{ "label": "K33", "x": 2, "y": 3 }, { "matrix": [1, 9], "x": 9, "y": 1 },
{ "label": "K34", "x": 3, "y": 3 }, { "matrix": [1, 10], "x": 10, "y": 1 },
{ "label": "K35", "x": 4, "y": 3 }, { "matrix": [1, 11], "x": 11, "y": 1 },
{ "label": "K36", "x": 5, "y": 3 }, { "matrix": [2, 0], "x": 0, "y": 2 },
{ "label": "K37", "x": 6, "y": 3 }, { "matrix": [2, 1], "x": 1, "y": 2 },
{ "label": "K38", "x": 7, "y": 3 }, { "matrix": [2, 2], "x": 2, "y": 2 },
{ "label": "K39", "x": 8, "y": 3 }, { "matrix": [2, 3], "x": 3, "y": 2 },
{ "label": "K310", "x": 9, "y": 3 }, { "matrix": [2, 4], "x": 4, "y": 2 },
{ "label": "K311", "x": 10, "y": 3 }, { "matrix": [2, 5], "x": 5, "y": 2 },
{ "label": "K312", "x": 11, "y": 3 } { "matrix": [2, 6], "x": 6, "y": 2 },
] { "matrix": [2, 7], "x": 7, "y": 2 },
} { "matrix": [2, 8], "x": 8, "y": 2 },
{ "matrix": [2, 9], "x": 9, "y": 2 },
{ "matrix": [2, 10], "x": 10, "y": 2 },
{ "matrix": [2, 11], "x": 11, "y": 2 },
{ "matrix": [3, 0], "x": 0, "y": 3 },
{ "matrix": [3, 1], "x": 1, "y": 3 },
{ "matrix": [3, 2], "x": 2, "y": 3 },
{ "matrix": [3, 3], "x": 3, "y": 3 },
{ "matrix": [3, 4], "x": 4, "y": 3 },
{ "matrix": [3, 5], "x": 5, "y": 3 },
{ "matrix": [3, 6], "x": 6, "y": 3 },
{ "matrix": [3, 7], "x": 7, "y": 3 },
{ "matrix": [3, 8], "x": 8, "y": 3 },
{ "matrix": [3, 9], "x": 9, "y": 3 },
{ "matrix": [3, 10], "x": 10, "y": 3 },
{ "matrix": [3, 11], "x": 11, "y": 3 }
]
} }
}
} }

View File

@ -1,3 +1,5 @@
// Copyright 2022 @waffle87
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum layers { enum layers {
@ -6,31 +8,26 @@ enum layers {
_LOWER, _LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_ortho_4x12( [_MAIN] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ESC, 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_ENT , KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
), ),
[_RAISE] = LAYOUT_ortho_4x12( [_RAISE] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
), ),
[_LOWER] = LAYOUT_ortho_4x12( [_LOWER] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
) )
}; };

View File

@ -1,3 +1,5 @@
// Copyright 2022 @gwillad
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum layers { enum layers {
@ -6,31 +8,32 @@ enum layers {
_LOWER, _LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_ortho_4x12( [_MAIN] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ESC, 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_ENT , KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
), ),
[_RAISE] = LAYOUT_ortho_4x12( [_RAISE] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
), ),
[_LOWER] = LAYOUT_ortho_4x12( [_LOWER] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
[4] = LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
) )
}; };

View File

@ -1,5 +0,0 @@
# The via keymap for boardsource 4x12 ortholinear keybaoard
This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 4x12 ortholinear keybaoard
Maintained by: [gwillad](https://github.com/gwillad)

View File

@ -1,24 +1 @@
# MCU name # This file intentionally left blank
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
LAYOUTS = ortho_4x12
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no

View File

@ -1 +0,0 @@
#include "5x12.h"

View File

@ -1,17 +0,0 @@
#pragma once
#include "quantum.h"
#define LAYOUT_ortho_5x12( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, \
K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, \
K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47, \
K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59 \
) { \
{K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11}, \
{K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23}, \
{K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, K35}, \
{K36, K37, K38, K39, K40, K41, K42, K43, K44, K45, K46, K47}, \
{K48, K49, K50, K51, K52, K53, K54, K55, K56, K57, K58, K59} \
}

View File

@ -1,75 +1,91 @@
{ {
"keyboard_name": "boardsource 5x12", "manufacturer": "Boardsource",
"url": "https://boardsource.xyz", "keyboard_name": "5x12",
"maintainer": "boardsource", "maintainer": "waffle87",
"layouts": { "development_board": "promicro",
"LAYOUT_ortho_5x12": { "diode_direction": "COL2ROW",
"layout": [ "features": {
{ "label": "K01", "x": 0, "y": 0 }, "bootmagic": true,
{ "label": "K02", "x": 1, "y": 0 }, "extrakey": true,
{ "label": "K03", "x": 2, "y": 0 }, "mousekey": true
{ "label": "K04", "x": 3, "y": 0 }, },
{ "label": "K05", "x": 4, "y": 0 }, "matrix_pins": {
{ "label": "K06", "x": 5, "y": 0 }, "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5", "B4", "E6", "D7"],
{ "label": "K07", "x": 6, "y": 0 }, "rows": ["D2", "D3", "D1", "D0", "D4"]
{ "label": "K08", "x": 7, "y": 0 }, },
{ "label": "K09", "x": 8, "y": 0 }, "url": "https://boardsource.xyz/store/5ecb802c86879c9a0c22db61",
{ "label": "K010", "x": 9, "y": 0 }, "usb": {
{ "label": "K011", "x": 10, "y": 0 }, "device_version": "1.0.0",
{ "label": "K012", "x": 11, "y": 0 }, "pid": "0x0512",
"vid": "0x4273"
{ "label": "K11", "x": 0, "y": 1 }, },
{ "label": "K12", "x": 1, "y": 1 }, "community_layouts": [
{ "label": "K13", "x": 2, "y": 1 }, "ortho_5x12"
{ "label": "K14", "x": 3, "y": 1 }, ],
{ "label": "K15", "x": 4, "y": 1 }, "layouts": {
{ "label": "K16", "x": 5, "y": 1 }, "LAYOUT_ortho_5x12": {
{ "label": "K17", "x": 6, "y": 1 }, "layout": [
{ "label": "K18", "x": 7, "y": 1 }, { "matrix": [0, 0], "x": 0, "y": 0 },
{ "label": "K19", "x": 8, "y": 1 }, { "matrix": [0, 1], "x": 1, "y": 0 },
{ "label": "K110", "x": 9, "y": 1 }, { "matrix": [0, 2], "x": 2, "y": 0 },
{ "label": "K111", "x": 10, "y": 1 }, { "matrix": [0, 3], "x": 3, "y": 0 },
{ "label": "K112", "x": 11, "y": 1 }, { "matrix": [0, 4], "x": 4, "y": 0 },
{ "matrix": [0, 5], "x": 5, "y": 0 },
{ "label": "K21", "x": 0, "y": 2 }, { "matrix": [0, 6], "x": 6, "y": 0 },
{ "label": "K22", "x": 1, "y": 2 }, { "matrix": [0, 7], "x": 7, "y": 0 },
{ "label": "K23", "x": 2, "y": 2 }, { "matrix": [0, 8], "x": 8, "y": 0 },
{ "label": "K24", "x": 3, "y": 2 }, { "matrix": [0, 9], "x": 9, "y": 0 },
{ "label": "K25", "x": 4, "y": 2 }, { "matrix": [0, 10], "x": 10, "y": 0 },
{ "label": "K26", "x": 5, "y": 2 }, { "matrix": [0, 11], "x": 11, "y": 0 },
{ "label": "K27", "x": 6, "y": 2 }, { "matrix": [1, 0], "x": 0, "y": 1 },
{ "label": "K28", "x": 7, "y": 2 }, { "matrix": [1, 1], "x": 1, "y": 1 },
{ "label": "K29", "x": 8, "y": 2 }, { "matrix": [1, 2], "x": 2, "y": 1 },
{ "label": "K210", "x": 9, "y": 2 }, { "matrix": [1, 3], "x": 3, "y": 1 },
{ "label": "K211", "x": 10, "y": 2 }, { "matrix": [1, 4], "x": 4, "y": 1 },
{ "label": "K212", "x": 11, "y": 2 }, { "matrix": [1, 5], "x": 5, "y": 1 },
{ "matrix": [1, 6], "x": 6, "y": 1 },
{ "label": "K31", "x": 0, "y": 3 }, { "matrix": [1, 7], "x": 7, "y": 1 },
{ "label": "K32", "x": 1, "y": 3 }, { "matrix": [1, 8], "x": 8, "y": 1 },
{ "label": "K33", "x": 2, "y": 3 }, { "matrix": [1, 9], "x": 9, "y": 1 },
{ "label": "K34", "x": 3, "y": 3 }, { "matrix": [1, 10], "x": 10, "y": 1 },
{ "label": "K35", "x": 4, "y": 3 }, { "matrix": [1, 11], "x": 11, "y": 1 },
{ "label": "K36", "x": 5, "y": 3 }, { "matrix": [2, 0], "x": 0, "y": 2 },
{ "label": "K37", "x": 6, "y": 3 }, { "matrix": [2, 1], "x": 1, "y": 2 },
{ "label": "K38", "x": 7, "y": 3 }, { "matrix": [2, 2], "x": 2, "y": 2 },
{ "label": "K39", "x": 8, "y": 3 }, { "matrix": [2, 3], "x": 3, "y": 2 },
{ "label": "K310", "x": 9, "y": 3 }, { "matrix": [2, 4], "x": 4, "y": 2 },
{ "label": "K311", "x": 10, "y": 3 }, { "matrix": [2, 5], "x": 5, "y": 2 },
{ "label": "K312", "x": 11, "y": 3 }, { "matrix": [2, 6], "x": 6, "y": 2 },
{ "matrix": [2, 7], "x": 7, "y": 2 },
{ "label": "K41", "x": 0, "y": 4 }, { "matrix": [2, 8], "x": 8, "y": 2 },
{ "label": "K42", "x": 1, "y": 4 }, { "matrix": [2, 9], "x": 9, "y": 2 },
{ "label": "K43", "x": 2, "y": 4 }, { "matrix": [2, 10], "x": 10, "y": 2 },
{ "label": "K44", "x": 3, "y": 4 }, { "matrix": [2, 11], "x": 11, "y": 2 },
{ "label": "K45", "x": 4, "y": 4 }, { "matrix": [3, 0], "x": 0, "y": 3 },
{ "label": "K46", "x": 5, "y": 4 }, { "matrix": [3, 1], "x": 1, "y": 3 },
{ "label": "K47", "x": 6, "y": 4 }, { "matrix": [3, 2], "x": 2, "y": 3 },
{ "label": "K48", "x": 7, "y": 4 }, { "matrix": [3, 3], "x": 3, "y": 3 },
{ "label": "K49", "x": 8, "y": 4 }, { "matrix": [3, 4], "x": 4, "y": 3 },
{ "label": "K410", "x": 9, "y": 4 }, { "matrix": [3, 5], "x": 5, "y": 3 },
{ "label": "K411", "x": 10, "y": 4 }, { "matrix": [3, 6], "x": 6, "y": 3 },
{ "label": "K412", "x": 11, "y": 4 } { "matrix": [3, 7], "x": 7, "y": 3 },
] { "matrix": [3, 8], "x": 8, "y": 3 },
} { "matrix": [3, 9], "x": 9, "y": 3 },
{ "matrix": [3, 10], "x": 10, "y": 3 },
{ "matrix": [3, 11], "x": 11, "y": 3 },
{ "matrix": [4, 0], "x": 0, "y": 4 },
{ "matrix": [4, 1], "x": 1, "y": 4 },
{ "matrix": [4, 2], "x": 2, "y": 4 },
{ "matrix": [4, 3], "x": 3, "y": 4 },
{ "matrix": [4, 4], "x": 4, "y": 4 },
{ "matrix": [4, 5], "x": 5, "y": 4 },
{ "matrix": [4, 6], "x": 6, "y": 4 },
{ "matrix": [4, 7], "x": 7, "y": 4 },
{ "matrix": [4, 8], "x": 8, "y": 4 },
{ "matrix": [4, 9], "x": 9, "y": 4 },
{ "matrix": [4, 10], "x": 10, "y": 4 },
{ "matrix": [4, 11], "x": 11, "y": 4 }
]
} }
}
} }

View File

@ -1,3 +1,5 @@
// Copyright 2022 @waffle87
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum layers { enum layers {
@ -6,34 +8,29 @@ enum layers {
_LOWER, _LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_ortho_5x12( [_MAIN] = LAYOUT_ortho_5x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_GRV, 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_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ESC, 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
), ),
[_RAISE] = LAYOUT_ortho_5x12( [_RAISE] = LAYOUT_ortho_5x12(
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_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
), ),
[_LOWER] = LAYOUT_ortho_5x12( [_LOWER] = LAYOUT_ortho_5x12(
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_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
) )
}; };

View File

@ -1,3 +1,5 @@
// Copyright 2022 @gwillad
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum layers { enum layers {
@ -6,42 +8,36 @@ enum layers {
_LOWER, _LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_ortho_5x12( [_MAIN] = LAYOUT_ortho_5x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_GRV, 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_DEL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ESC, 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
), ),
[_RAISE] = LAYOUT_ortho_5x12( [_RAISE] = LAYOUT_ortho_5x12(
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_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS, KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
), ),
[_LOWER] = LAYOUT_ortho_5x12( [_LOWER] = LAYOUT_ortho_5x12(
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_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
), ),
[3] = LAYOUT_ortho_5x12( [3] = LAYOUT_ortho_5x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
) )
}; };

View File

@ -1,5 +0,0 @@
# The via keymap for boardsource 5x12 ortholinear keyboard
This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 5x12 ortholinear keyboard
Maintained by: [gwillad](https://github.com/gwillad)

View File

@ -1,24 +1 @@
# MCU name # This file intentionally left blank
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output
LAYOUTS = ortho_5x12
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no

View File

@ -1,5 +1,5 @@
/* /*
Copyright 2020 Boardsource Copyright 2022 Boardsource
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -16,62 +16,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#pragma once #pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4273
#define PRODUCT_ID 0x0066
#define DEVICE_VER 0x0001
#define MANUFACTURER Boardsource
#define PRODUCT Beiwagon
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 3
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS {B0, B1, B2, B3}
#define MATRIX_COL_PINS {B5,B6,B7}
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
#define BACKLIGHT_BREATHING
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN C6 #define RGB_DI_PIN C6
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define DRIVER_LED_TOTAL 18
// 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_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING #define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT #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_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT #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_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON #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_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON #define ENABLE_RGB_MATRIX_DUAL_BEACON
@ -85,81 +41,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL #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_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN #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
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE #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_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH #define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH #define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#ifdef RGBLIGHT_ENABLE
#define RGBLED_NUM 6 // Number of LEDs
#endif
#define DRIVER_LED_TOTAL 22
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
*/
//#define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0

View File

@ -1,26 +1,64 @@
{ {
"keyboard_name": "Beiwagon", "manufacturer": "Boardsource",
"url": "", "keyboard_name": "Beiwagon",
"maintainer": "Boardsource", "maintainer": "waffle87",
"layouts": { "bootloader": "atmel-dfu",
"LAYOUT": { "diode_direction": "COL2ROW",
"layout": [ "features": {
{ "label": "k00", "x": 0, "y": 0 }, "bootmagic": true,
{ "label": "k01", "x": 1, "y": 0 }, "extrakey": true,
{ "label": "k02", "x": 2, "y": 0 }, "mousekey": false,
"rgb_matrix": true
{ "label": "k10", "x": 0, "y": 1 }, },
{ "label": "k11", "x": 1, "y": 1 }, "matrix_pins": {
{ "label": "k12", "x": 2, "y": 1 }, "cols": ["B5", "B6", "B7"],
"rows": ["B0", "B1", "B2", "B3"]
{ "label": "k20", "x": 0, "y": 2 }, },
{ "label": "k21", "x": 1, "y": 2 }, "processor": "atmega32u4",
{ "label": "k22", "x": 2, "y": 2 }, "url": "https://boardsource.xyz/store/5ffbfe2ab855550844cab109",
"usb": {
{ "label": "k30", "x": 0, "y": 3 }, "device_version": "1.0.0",
{ "label": "k31", "x": 1, "y": 3 }, "pid": "0x0066",
{ "label": "k32", "x": 2, "y": 3 } "vid": "0x4273"
] },
} "rgb_matrix": {
"layout": [
{ "flags": 2, "x": 16, "y": 38 },
{ "flags": 2, "x": 16, "y": 113 },
{ "flags": 2, "x": 16, "y": 188 },
{ "flags": 2, "x": 48, "y": 38 },
{ "flags": 2, "x": 48, "y": 113 },
{ "flags": 2, "x": 48, "y": 188 },
{ "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 },
{ "flags": 4, "matrix": [0, 1], "x": 32, "y": 0 },
{ "flags": 4, "matrix": [0, 2], "x": 64, "y": 0 },
{ "flags": 4, "matrix": [1, 0], "x": 0, "y": 75 },
{ "flags": 4, "matrix": [1, 1], "x": 32, "y": 75 },
{ "flags": 4, "matrix": [1, 2], "x": 64, "y": 75 },
{ "flags": 4, "matrix": [2, 0], "x": 0, "y": 150 },
{ "flags": 4, "matrix": [2, 1], "x": 32, "y": 150 },
{ "flags": 4, "matrix": [2, 2], "x": 64, "y": 150 },
{ "flags": 4, "matrix": [3, 0], "x": 0, "y": 224 },
{ "flags": 4, "matrix": [3, 1], "x": 32, "y": 224 },
{ "flags": 4, "matrix": [3, 2], "x": 64, "y": 224 }
]
},
"layouts": {
"LAYOUT": {
"layout": [
{ "matrix": [0, 0], "x": 0, "y": 0 },
{ "matrix": [0, 1], "x": 1, "y": 0 },
{ "matrix": [0, 2], "x": 2, "y": 0 },
{ "matrix": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 },
{ "matrix": [3, 0], "x": 0, "y": 2 },
{ "matrix": [3, 1], "x": 1, "y": 2 },
{ "matrix": [3, 2], "x": 2, "y": 2 }
]
} }
}
} }

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -18,30 +18,23 @@
enum layers { enum layers {
_MAIN, _MAIN,
_RAISE, _RAISE
_LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT( [_MAIN] = LAYOUT(
KC_7, KC_8, KC_9, KC_7, KC_8, KC_9,
KC_4, KC_5, KC_6, KC_4, KC_5, KC_6,
KC_1, KC_2, KC_3, KC_1, KC_2, KC_3,
KC_0, KC_PENT,RAISE KC_0, KC_PENT,RAISE
), ),
[_RAISE] = LAYOUT( [_RAISE] = LAYOUT(
KC_7, KC_8, RGB_TOG, KC_7, KC_8, RGB_TOG,
KC_4, KC_5, RGB_MOD, KC_4, KC_5, RGB_MOD,
KC_1, KC_2, KC_3, KC_1, KC_2, KC_3,
KC_0, KC_PENT,KC_TRNS KC_0, KC_PENT,_______
) )
}; };

View File

@ -1 +0,0 @@
# The default keymap for Beiwagon

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -18,30 +18,35 @@
enum layers { enum layers {
_MAIN, _MAIN,
_RAISE, _RAISE
_LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT( [_MAIN] = LAYOUT(
KC_7, KC_8, KC_9, KC_7, KC_8, KC_9,
KC_4, KC_5, KC_6, KC_4, KC_5, KC_6,
KC_1, KC_2, KC_3, KC_1, KC_2, KC_3,
KC_0, KC_PENT,RAISE KC_0, KC_PENT,RAISE
), ),
[_RAISE] = LAYOUT( [_RAISE] = LAYOUT(
KC_7, KC_8, RGB_TOG, KC_7, KC_8, RGB_TOG,
KC_4, KC_5, RGB_MOD, KC_4, KC_5, RGB_MOD,
KC_1, KC_2, KC_3, KC_1, KC_2, KC_3,
KC_0, KC_PENT,KC_TRNS KC_0, KC_PENT,_______
),
[2] = LAYOUT(
_______, _______, _______,
_______, _______, _______,
_______, _______, _______,
_______, _______, _______
),
[3] = LAYOUT(
_______, _______, _______,
_______, _______, _______,
_______, _______, _______,
_______, _______, _______
) )
}; };

View File

@ -1 +0,0 @@
# The via keymap for Beiwagon

View File

@ -1,20 +1 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812 RGB_MATRIX_DRIVER = WS2812

View File

@ -1,5 +1,5 @@
/* /*
Copyright 2020 Boardsource Copyright 2022 Boardsource
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -16,62 +16,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#pragma once #pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4273
#define PRODUCT_ID 0x0079
#define DEVICE_VER 0x0001
#define MANUFACTURER Boardsource
#define PRODUCT Technik-O
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS {B0, B1, B2, B3}
#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6}
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
#define BACKLIGHT_BREATHING
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN C6 #define RGB_DI_PIN C6
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
// RGB Matrix Animation modes. Explicitly enabled #define DRIVER_LED_TOTAL 58
// 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_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING #define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT #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_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT #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_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON #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_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON #define ENABLE_RGB_MATRIX_DUAL_BEACON
@ -85,81 +42,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL #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_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN #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
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE #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_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH #define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH #define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#ifdef RGBLIGHT_ENABLE
# define RGBLED_NUM 10 // Number of LEDs
#endif
#define DRIVER_LED_TOTAL 58
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
*/
//#define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0

View File

@ -1,62 +1,144 @@
{ {
"keyboard_name": "Technik-O", "manufacturer": "Boardsource",
"url": "https://boardsource.xyz", "keyboard_name": "Technik-O",
"maintainer": "Boardsource", "maintainer": "waffle87",
"layouts": { "bootloader": "atmel-dfu",
"LAYOUT_ortho_4x12": { "diode_direction": "COL2ROW",
"layout": [ "features": {
{ "label": "K01", "x": 0, "y": 0 }, "bootmagic": true,
{ "label": "K02", "x": 1, "y": 0 }, "extrakey": true,
{ "label": "K03", "x": 2, "y": 0 }, "mousekey": true,
{ "label": "K04", "x": 3, "y": 0 }, "nkro": true,
{ "label": "K05", "x": 4, "y": 0 }, "rgb_matrix": true
{ "label": "K06", "x": 5, "y": 0 }, },
{ "label": "K07", "x": 6, "y": 0 }, "matrix_pins": {
{ "label": "K08", "x": 7, "y": 0 }, "cols": ["B5", "B6", "B7", "F5", "C7", "D0", "D1", "D2", "D3", "D4", "D5", "D6"],
{ "label": "K09", "x": 8, "y": 0 }, "rows": ["B0", "B1", "B2", "B3"]
{ "label": "K010", "x": 9, "y": 0 }, },
{ "label": "K011", "x": 10, "y": 0 }, "processor": "atmega32u4",
{ "label": "K012", "x": 11, "y": 0 }, "url": "https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2",
"usb": {
{ "label": "K11", "x": 0, "y": 1 }, "device_version": "1.0.0",
{ "label": "K12", "x": 1, "y": 1 }, "pid": "0x0079",
{ "label": "K13", "x": 2, "y": 1 }, "vid": "0x4273"
{ "label": "K14", "x": 3, "y": 1 }, },
{ "label": "K15", "x": 4, "y": 1 }, "rgb_matrix": {
{ "label": "K16", "x": 5, "y": 1 }, "layout": [
{ "label": "K17", "x": 6, "y": 1 }, { "flags": 2, "x": 220, "y": 17 },
{ "label": "K18", "x": 7, "y": 1 }, { "flags": 2, "x": 172, "y": 17 },
{ "label": "K19", "x": 8, "y": 1 }, { "flags": 2, "x": 112, "y": 17 },
{ "label": "K110", "x": 9, "y": 1 }, { "flags": 2, "x": 50, "y": 17 },
{ "label": "K111", "x": 10, "y": 1 }, { "flags": 2, "x": 4, "y": 17 },
{ "label": "K112", "x": 11, "y": 1 }, { "flags": 2, "x": 4, "y": 56 },
{ "flags": 2, "x": 50, "y": 56 },
{ "label": "K21", "x": 0, "y": 2 }, { "flags": 2, "x": 112, "y": 56 },
{ "label": "K22", "x": 1, "y": 2 }, { "flags": 2, "x": 172, "y": 56 },
{ "label": "K23", "x": 2, "y": 2 }, { "flags": 2, "x": 220, "y": 56 },
{ "label": "K24", "x": 3, "y": 2 }, { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
{ "label": "K25", "x": 4, "y": 2 }, { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 },
{ "label": "K26", "x": 5, "y": 2 }, { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 },
{ "label": "K27", "x": 6, "y": 2 }, { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 },
{ "label": "K28", "x": 7, "y": 2 }, { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 },
{ "label": "K29", "x": 8, "y": 2 }, { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 },
{ "label": "K210", "x": 9, "y": 2 }, { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 },
{ "label": "K211", "x": 10, "y": 2 }, { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 },
{ "label": "K212", "x": 11, "y": 2 }, { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 },
{ "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 },
{ "label": "K31", "x": 0, "y": 3 }, { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 },
{ "label": "K32", "x": 1, "y": 3 }, { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 },
{ "label": "K33", "x": 2, "y": 3 }, { "flags": 1, "matrix": [1, 0], "x": 0, "y": 21 },
{ "label": "K34", "x": 3, "y": 3 }, { "flags": 4, "matrix": [1, 1], "x": 20, "y": 21 },
{ "label": "K35", "x": 4, "y": 3 }, { "flags": 4, "matrix": [1, 2], "x": 40, "y": 21 },
{ "label": "K36", "x": 5, "y": 3 }, { "flags": 4, "matrix": [1, 3], "x": 61, "y": 21 },
{ "label": "K37", "x": 6, "y": 3 }, { "flags": 4, "matrix": [1, 4], "x": 81, "y": 21 },
{ "label": "K38", "x": 7, "y": 3 }, { "flags": 4, "matrix": [1, 5], "x": 101, "y": 21 },
{ "label": "K39", "x": 8, "y": 3 }, { "flags": 4, "matrix": [1, 6], "x": 122, "y": 21 },
{ "label": "K310", "x": 9, "y": 3 }, { "flags": 4, "matrix": [1, 7], "x": 142, "y": 21 },
{ "label": "K311", "x": 10, "y": 3 }, { "flags": 4, "matrix": [1, 8], "x": 162, "y": 21 },
{ "label": "K312", "x": 11, "y": 3 } { "flags": 4, "matrix": [1, 9], "x": 183, "y": 21 },
] { "flags": 4, "matrix": [1, 10], "x": 203, "y": 21 },
} { "flags": 1, "matrix": [1, 11], "x": 224, "y": 21 },
{ "flags": 1, "matrix": [2, 0], "x": 0, "y": 42 },
{ "flags": 4, "matrix": [2, 1], "x": 20, "y": 42 },
{ "flags": 4, "matrix": [2, 2], "x": 40, "y": 42 },
{ "flags": 4, "matrix": [2, 3], "x": 61, "y": 42 },
{ "flags": 4, "matrix": [2, 4], "x": 81, "y": 42 },
{ "flags": 4, "matrix": [2, 5], "x": 101, "y": 42 },
{ "flags": 4, "matrix": [2, 6], "x": 122, "y": 42 },
{ "flags": 4, "matrix": [2, 7], "x": 142, "y": 42 },
{ "flags": 4, "matrix": [2, 8], "x": 162, "y": 42 },
{ "flags": 4, "matrix": [2, 9], "x": 183, "y": 42 },
{ "flags": 4, "matrix": [2, 10], "x": 203, "y": 42 },
{ "flags": 1, "matrix": [2, 11], "x": 224, "y": 42 },
{ "flags": 1, "matrix": [3, 0], "x": 0, "y": 64 },
{ "flags": 1, "matrix": [3, 1], "x": 20, "y": 64 },
{ "flags": 1, "matrix": [3, 2], "x": 40, "y": 64 },
{ "flags": 1, "matrix": [3, 3], "x": 61, "y": 64 },
{ "flags": 1, "matrix": [3, 4], "x": 81, "y": 64 },
{ "flags": 4, "matrix": [3, 5], "x": 101, "y": 64 },
{ "flags": 4, "matrix": [3, 6], "x": 122, "y": 64 },
{ "flags": 1, "matrix": [3, 7], "x": 142, "y": 64 },
{ "flags": 1, "matrix": [3, 8], "x": 162, "y": 64 },
{ "flags": 1, "matrix": [3, 9], "x": 183, "y": 64 },
{ "flags": 1, "matrix": [3, 10], "x": 203, "y": 64 },
{ "flags": 1, "matrix": [3, 11], "x": 224, "y": 64 }
]
},
"community_layouts": [
"ortho_4x12"
],
"layouts": {
"LAYOUT_ortho_4x12": {
"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": [1, 0], "x": 0, "y": 1 },
{ "matrix": [1, 1], "x": 1, "y": 1 },
{ "matrix": [1, 2], "x": 2, "y": 1 },
{ "matrix": [1, 3], "x": 3, "y": 1 },
{ "matrix": [1, 4], "x": 4, "y": 1 },
{ "matrix": [1, 5], "x": 5, "y": 1 },
{ "matrix": [1, 6], "x": 6, "y": 1 },
{ "matrix": [1, 7], "x": 7, "y": 1 },
{ "matrix": [1, 8], "x": 8, "y": 1 },
{ "matrix": [1, 9], "x": 9, "y": 1 },
{ "matrix": [1, 10], "x": 10, "y": 1 },
{ "matrix": [1, 11], "x": 11, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 },
{ "matrix": [2, 3], "x": 3, "y": 2 },
{ "matrix": [2, 4], "x": 4, "y": 2 },
{ "matrix": [2, 5], "x": 5, "y": 2 },
{ "matrix": [2, 6], "x": 6, "y": 2 },
{ "matrix": [2, 7], "x": 7, "y": 2 },
{ "matrix": [2, 8], "x": 8, "y": 2 },
{ "matrix": [2, 9], "x": 9, "y": 2 },
{ "matrix": [2, 10], "x": 10, "y": 2 },
{ "matrix": [2, 11], "x": 11, "y": 2 },
{ "matrix": [3, 0], "x": 0, "y": 3 },
{ "matrix": [3, 1], "x": 1, "y": 3 },
{ "matrix": [3, 2], "x": 2, "y": 3 },
{ "matrix": [3, 3], "x": 3, "y": 3 },
{ "matrix": [3, 4], "x": 4, "y": 3 },
{ "matrix": [3, 5], "x": 5, "y": 3 },
{ "matrix": [3, 6], "x": 6, "y": 3 },
{ "matrix": [3, 7], "x": 7, "y": 3 },
{ "matrix": [3, 8], "x": 8, "y": 3 },
{ "matrix": [3, 9], "x": 9, "y": 3 },
{ "matrix": [3, 10], "x": 10, "y": 3 },
{ "matrix": [3, 11], "x": 11, "y": 3 }
]
} }
}
} }

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -22,32 +22,27 @@ enum layers {
_LOWER, _LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_ortho_4x12( [_MAIN] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ESC, 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_ENT , KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
), ),
[_RAISE] = LAYOUT_ortho_4x12( [_RAISE] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
), ),
[_LOWER] = LAYOUT_ortho_4x12( [_LOWER] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
) )
}; };

View File

@ -1 +0,0 @@
# The default keymap for Technik-O

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -22,32 +22,32 @@ enum layers {
_LOWER, _LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT_ortho_4x12( [_MAIN] = LAYOUT_ortho_4x12(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ESC, 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_ENT , KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
), ),
[_RAISE] = LAYOUT_ortho_4x12( [_RAISE] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
), ),
[_LOWER] = LAYOUT_ortho_4x12( [_LOWER] = LAYOUT_ortho_4x12(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
[3] = LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
) )
}; };

View File

@ -1 +0,0 @@
# The via keymap for Technik-O

View File

@ -1,21 +1 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812 RGB_MATRIX_DRIVER = WS2812
LAYOUTS = ortho_4x12

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* Copyright 2021 @filterpaper * Copyright 2021 @filterpaper
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -15,29 +15,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "technik_o.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
{ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
{ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33},
{ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45},
{ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57}
}, {
{220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56},
{ 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0},
{ 0, 21}, { 20, 21}, { 40, 21}, { 61, 21}, { 81, 21}, {101, 21}, {122, 21}, {142, 21}, {162, 21}, {183, 21}, {203, 21}, {224, 21},
{ 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42},
{ 0, 64}, { 20, 64}, { 40, 64}, { 61, 64}, { 81, 64}, {101, 64}, {122, 64}, {142, 64}, {162, 64}, {183, 64}, {203, 64}, {224, 64}
}, {
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 1, 1
} };
#endif
#ifdef SWAP_HANDS_ENABLE #ifdef SWAP_HANDS_ENABLE
__attribute__ ((weak)) __attribute__ ((weak))
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
@ -47,4 +24,3 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}} {{11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}
}; };
#endif #endif

View File

@ -1,5 +1,5 @@
/* /*
Copyright 2020 Boardsource Copyright 2022 Boardsource
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -16,62 +16,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#pragma once #pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4273
#define PRODUCT_ID 0x0083
#define DEVICE_VER 0x0001
#define MANUFACTURER Boardsource
#define PRODUCT Technik-S
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS {B0, B1, B2, B3}
#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6}
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
#define BACKLIGHT_BREATHING
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN C6 #define RGB_DI_PIN C6
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120
// RGB Matrix Animation modes. Explicitly enabled #define DRIVER_LED_TOTAL 55
// 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_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING #define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT #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_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT #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_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON #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_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON #define ENABLE_RGB_MATRIX_DUAL_BEACON
@ -85,81 +42,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL #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_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN #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
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE #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_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH #define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH #define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH #define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#ifdef RGBLIGHT_ENABLE
# define RGBLED_NUM 10 // Number of LEDs
#endif
#define DRIVER_LED_TOTAL 55
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
*/
//#define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0

View File

@ -1,56 +1,135 @@
{ {
"keyboard_name": "Technik-S", "manufacturer": "Boardsource",
"url": "", "keyboard_name": "Technik-S",
"maintainer": "Boardsource", "maintainer": "waffle87",
"layouts": { "bootloader": "atmel-dfu",
"LAYOUT": { "diode_direction": "COL2ROW",
"layout": [ "features": {
{ "label": "1", "x": 0, "y": 0 }, "bootmagic": true,
{ "label": "2", "x": 1, "y": 0 }, "extrakey": true,
{ "label": "3", "x": 2, "y": 0 }, "mousekey": true,
{ "label": "4", "x": 3, "y": 0 }, "nkro": true,
{ "label": "5", "x": 4, "y": 0 }, "rgb_matrix": true
{ "label": "6", "x": 5, "y": 0 }, },
{ "label": "7", "x": 6, "y": 0 }, "matrix_pins": {
{ "label": "8", "x": 7, "y": 0 }, "cols": ["B5", "B6", "B7", "F5", "C7", "D0", "D1", "D2", "D3", "D4", "D5", "D6"],
{ "label": "9", "x": 8, "y": 0 }, "rows": ["B0", "B1", "B2", "B3"]
{ "label": "10", "x": 9, "y": 0 }, },
{ "label": "11", "x": 10, "y": 0 }, "processor": "atmega32u4",
{ "label": "12", "x": 11, "y": 0 }, "url": "https://boardsource.xyz/store/5ffb9b01edd0447f8023fdb2",
{ "label": "13", "x": 0, "y": 1, "w": 1.5 }, "usb": {
{ "label": "14", "x": 1.5, "y": 1 }, "device_version": "1.0.0",
{ "label": "15", "x": 2.5, "y": 1 }, "pid": "0x0083",
{ "label": "16", "x": 3.5, "y": 1 }, "vid": "0x4273"
{ "label": "17", "x": 4.5, "y": 1 }, },
{ "label": "18", "x": 5.5, "y": 1 }, "rgb_matrix": {
{ "label": "19", "x": 6.5, "y": 1 }, "layout": [
{ "label": "20", "x": 7.5, "y": 1 }, { "flags": 2, "x": 220, "y": 17 },
{ "label": "21", "x": 8.5, "y": 1 }, { "flags": 2, "x": 172, "y": 17 },
{ "label": "22", "x": 9.5, "y": 1 }, { "flags": 2, "x": 112, "y": 17 },
{ "label": "23", "x": 10.5, "y": 1, "w": 1.5 }, { "flags": 2, "x": 50, "y": 17 },
{ "label": "24", "x": 0, "y": 2 }, { "flags": 2, "x": 4, "y": 17 },
{ "label": "25", "x": 1, "y": 2 }, { "flags": 2, "x": 4, "y": 56 },
{ "label": "26", "x": 2, "y": 2 }, { "flags": 2, "x": 50, "y": 56 },
{ "label": "27", "x": 3, "y": 2 }, { "flags": 2, "x": 112, "y": 56 },
{ "label": "28", "x": 4, "y": 2 }, { "flags": 2, "x": 172, "y": 56 },
{ "label": "29", "x": 5, "y": 2 }, { "flags": 2, "x": 220, "y": 56 },
{ "label": "30", "x": 6, "y": 2 }, { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
{ "label": "31", "x": 7, "y": 2 }, { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 },
{ "label": "32", "x": 8, "y": 2 }, { "flags": 4, "matrix": [0, 2], "x": 40, "y": 0 },
{ "label": "33", "x": 9, "y": 2 }, { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 },
{ "label": "34", "x": 10, "y": 2 }, { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 },
{ "label": "35", "x": 11, "y": 2 }, { "flags": 4, "matrix": [0, 5], "x": 101, "y": 0 },
{ "label": "36", "x": 0, "y": 3 }, { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 },
{ "label": "37", "x": 1, "y": 3 }, { "flags": 4, "matrix": [0, 7], "x": 142, "y": 0 },
{ "label": "38", "x": 2, "y": 3 }, { "flags": 4, "matrix": [0, 8], "x": 162, "y": 0 },
{ "label": "39", "x": 3, "y": 3, "w": 1.5 }, { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 },
{ "label": "40", "x": 4.5, "y": 3, "w": 1.5 }, { "flags": 4, "matrix": [0, 10], "x": 203, "y": 0 },
{ "label": "41", "x": 6, "y": 3, "w": 1.5 }, { "flags": 1, "matrix": [0, 11], "x": 224, "y": 0 },
{ "label": "42", "x": 7.5, "y": 3, "w": 1.5 }, { "flags": 1, "matrix": [1, 0], "x": 10, "y": 21 },
{ "label": "43", "x": 9, "y": 3 }, { "flags": 4, "matrix": [1, 2], "x": 30, "y": 21 },
{ "label": "44", "x": 10, "y": 3 }, { "flags": 4, "matrix": [1, 3], "x": 51, "y": 21 },
{ "label": "45", "x": 11, "y": 3 } { "flags": 4, "matrix": [1, 4], "x": 71, "y": 21 },
] { "flags": 4, "matrix": [1, 5], "x": 91, "y": 21 },
} { "flags": 4, "matrix": [1, 6], "x": 112, "y": 21 },
{ "flags": 4, "matrix": [1, 7], "x": 132, "y": 21 },
{ "flags": 4, "matrix": [1, 8], "x": 152, "y": 21 },
{ "flags": 4, "matrix": [1, 9], "x": 173, "y": 21 },
{ "flags": 4, "matrix": [1, 10], "x": 193, "y": 21 },
{ "flags": 1, "matrix": [1, 11], "x": 214, "y": 21 },
{ "flags": 1, "matrix": [2, 0], "x": 0, "y": 42 },
{ "flags": 4, "matrix": [2, 1], "x": 20, "y": 42 },
{ "flags": 4, "matrix": [2, 2], "x": 40, "y": 42 },
{ "flags": 4, "matrix": [2, 3], "x": 61, "y": 42 },
{ "flags": 4, "matrix": [2, 4], "x": 81, "y": 42 },
{ "flags": 4, "matrix": [2, 5], "x": 101, "y": 42 },
{ "flags": 4, "matrix": [2, 6], "x": 122, "y": 42 },
{ "flags": 4, "matrix": [2, 7], "x": 142, "y": 42 },
{ "flags": 4, "matrix": [2, 8], "x": 162, "y": 42 },
{ "flags": 4, "matrix": [2, 9], "x": 183, "y": 42 },
{ "flags": 4, "matrix": [2, 10], "x": 203, "y": 42 },
{ "flags": 1, "matrix": [2, 11], "x": 224, "y": 42 },
{ "flags": 1, "matrix": [3, 0], "x": 0, "y": 64 },
{ "flags": 4, "matrix": [3, 1], "x": 20, "y": 64 },
{ "flags": 4, "matrix": [3, 2], "x": 40, "y": 64 },
{ "flags": 4, "matrix": [3, 3], "x": 68, "y": 64 },
{ "flags": 4, "matrix": [3, 5], "x": 97, "y": 64 },
{ "flags": 4, "matrix": [3, 6], "x": 126, "y": 64 },
{ "flags": 4, "matrix": [3, 8], "x": 154, "y": 64 },
{ "flags": 4, "matrix": [3, 9], "x": 183, "y": 64 },
{ "flags": 4, "matrix": [3, 10], "x": 203, "y": 64 },
{ "flags": 1, "matrix": [3, 11], "x": 224, "y": 64 }
]
},
"layouts": {
"LAYOUT": {
"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": [1, 0], "w": 1.5, "x": 0, "y": 1 },
{ "matrix": [1, 2], "x": 1.5, "y": 1 },
{ "matrix": [1, 3], "x": 2.5, "y": 1 },
{ "matrix": [1, 4], "x": 3.5, "y": 1 },
{ "matrix": [1, 5], "x": 4.5, "y": 1 },
{ "matrix": [1, 6], "x": 5.5, "y": 1 },
{ "matrix": [1, 7], "x": 6.5, "y": 1 },
{ "matrix": [1, 8], "x": 7.5, "y": 1 },
{ "matrix": [1, 9], "x": 8.5, "y": 1 },
{ "matrix": [1, 10], "x": 9.5, "y": 1 },
{ "matrix": [1, 11], "w": 1.5, "x": 10.5, "y": 1 },
{ "matrix": [2, 0], "x": 0, "y": 2 },
{ "matrix": [2, 1], "x": 1, "y": 2 },
{ "matrix": [2, 2], "x": 2, "y": 2 },
{ "matrix": [2, 3], "x": 3, "y": 2 },
{ "matrix": [2, 4], "x": 4, "y": 2 },
{ "matrix": [2, 5], "x": 5, "y": 2 },
{ "matrix": [2, 6], "x": 6, "y": 2 },
{ "matrix": [2, 7], "x": 7, "y": 2 },
{ "matrix": [2, 8], "x": 8, "y": 2 },
{ "matrix": [2, 9], "x": 9, "y": 2 },
{ "matrix": [2, 10], "x": 10, "y": 2 },
{ "matrix": [2, 11], "x": 11, "y": 2 },
{ "matrix": [3, 0], "x": 0, "y": 3 },
{ "matrix": [3, 1], "x": 1, "y": 3 },
{ "matrix": [3, 2], "x": 2, "y": 3 },
{ "matrix": [3, 3], "w": 1.5, "x": 3, "y": 3 },
{ "matrix": [3, 5], "w": 1.5, "x": 4.5, "y": 3 },
{ "matrix": [3, 6], "w": 1.5, "x": 6, "y": 3 },
{ "matrix": [3, 8], "w": 1.5, "x": 7.5, "y": 3 },
{ "matrix": [3, 9], "x": 9, "y": 3 },
{ "matrix": [3, 10], "x": 10, "y": 3 },
{ "matrix": [3, 11], "x": 11, "y": 3 }
]
} }
}
} }

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -22,32 +22,26 @@ enum layers {
_LOWER, _LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT( [_MAIN] = LAYOUT(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT , KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT ,
RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT
), ),
[_RAISE] = LAYOUT( [_RAISE] = 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, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
), ),
[_LOWER] = LAYOUT( [_LOWER] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
) )
}; };

View File

@ -1 +0,0 @@
# The default keymap for Technik-S

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -22,32 +22,32 @@ enum layers {
_LOWER, _LOWER,
}; };
// Readability keycodes
#define LOWER MO(_LOWER) #define LOWER MO(_LOWER)
#define RAISE MO(_RAISE) #define RAISE MO(_RAISE)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MAIN] = LAYOUT( [_MAIN] = LAYOUT(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT , KC_LSHIFT,KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT ,
RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT
), ),
[_RAISE] = LAYOUT( [_RAISE] = 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, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
), ),
[_LOWER] = LAYOUT( [_LOWER] = LAYOUT(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
) ),
[3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
}; };

View File

@ -1 +0,0 @@
# The via keymap for Technik-S

View File

@ -1,21 +1 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812 RGB_MATRIX_DRIVER = WS2812
LTO_ENABLE = yes

View File

@ -1,38 +0,0 @@
/* Copyright 2020 Boardsource
*
* 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 "technik_s.h"
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
{10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21},
{22, NO_LED, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32},
{33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44},
{45, 46, 47, 48, NO_LED, 49, 50, NO_LED, 51, 52, 53, 54}
}, {
{220, 17}, {172, 17}, {112, 17}, { 50, 17}, { 4, 17}, { 4, 56}, { 50, 56}, {112, 56}, {172, 56}, {220, 56},
{ 0, 0}, { 20, 0}, { 40, 0}, { 61, 0}, { 81, 0}, {101, 0}, {122, 0}, {142, 0}, {162, 0}, {183, 0}, {203, 0}, {224, 0},
{ 10, 21}, { 30, 21}, { 51, 21}, { 71, 21}, { 91, 21}, {112, 21}, {132, 21}, {152, 21}, {173, 21}, {193, 21}, {214, 21},
{ 0, 42}, { 20, 42}, { 40, 42}, { 61, 42}, { 81, 42}, {101, 42}, {122, 42}, {142, 42}, {162, 42}, {183, 42}, {203, 42}, {224, 42},
{ 0, 64}, { 20, 64}, { 40, 64}, { 68, 64}, { 97, 64}, {126, 64}, {154, 64}, {183, 64}, {203, 64}, {224, 64}
}, {
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 1, 1, 4, 4, 1, 1, 1, 1
} };
#endif

View File

@ -1,5 +1,5 @@
/* /*
Copyright 2020 Boardsource Copyright 2022 Boardsource
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -16,141 +16,40 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#pragma once #pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x4273 // "Bs" - Boardsource
#define PRODUCT_ID 0x0001
#define DEVICE_VER 0x0001
#define MANUFACTURER Boardsource
#define PRODUCT The Mark65
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS {B0, B1, B2, B3, B4}
#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6, D7,F0, F1, F4}
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
#define RGBLIGHT_ANIMATIONS
#define RGB_DI_PIN C6
#ifdef RGBLIGHT_ENABLE
#define RGBLED_NUM 24 // Number of LEDs
#define RGBLIGHT_LIMIT_VAL 200
#endif
/* RGB matrix support */
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
# define DRIVER_LED_TOTAL 24 // Number of LEDs # define DRIVER_LED_TOTAL 24
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended # define RGB_DISABLE_WHEN_USB_SUSPENDED
# 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_PINWHEEL_SAT
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
# 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_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
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
# define ENABLE_RGB_MATRIX_SPLASH
# define ENABLE_RGB_MATRIX_MULTISPLASH
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
#endif #endif
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING
//#define RGB_DI_PIN E2
//#ifdef RGB_DI_PIN
//# define RGBLED_NUM 16
//# define RGBLIGHT_HUE_STEP 8
//# define RGBLIGHT_SAT_STEP 8
//# define RGBLIGHT_VAL_STEP 8
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
//# define RGBLIGHT_ANIMATIONS
/*== or choose animations ==*/
//# define RGBLIGHT_EFFECT_BREATHING
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//# define RGBLIGHT_EFFECT_SNAKE
//# define RGBLIGHT_EFFECT_KNIGHT
//# define RGBLIGHT_EFFECT_CHRISTMAS
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
//# define RGBLIGHT_EFFECT_RGB_TEST
//# define RGBLIGHT_EFFECT_ALTERNATING
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
//#endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
*/
//#define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0

View File

@ -1,394 +1,431 @@
{ {
"keyboard_name": "The Mark: 65", "manufacturer": "Boardsource",
"url": "", "keyboard_name": "The Mark65",
"maintainer": "daysgobye, Boardsource", "maintainer": "waffle87",
"layouts": { "bootloader": "atmel-dfu",
"LAYOUT_all": { "diode_direction": "COL2ROW",
"layout": [ "features": {
{"label":"Esc", "x":0, "y":0}, "bootmagic": true,
{"label":"1!", "x":1, "y":0}, "extrakey": true,
{"label":"2@", "x":2, "y":0}, "mousekey": true,
{"label":"3#", "x":3, "y":0}, "rgblight": true,
{"label":"4$", "x":4, "y":0}, "rgb_matrix": false
{"label":"5%", "x":5, "y":0}, },
{"label":"6^", "x":6, "y":0}, "matrix_pins": {
{"label":"7&", "x":7, "y":0}, "cols": ["B5", "B6", "B7", "F5", "C7", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "F0", "F1", "F4"],
{"label":"8*", "x":8, "y":0}, "rows": ["B0", "B1", "B2", "B3", "B4"]
{"label":"9(", "x":9, "y":0}, },
{"label":"0)", "x":10, "y":0}, "processor": "atmega32u4",
{"label":"-_", "x":11, "y":0}, "url": "https://boardsource.xyz/projects/5f46409bdce98063626dcb08",
{"label":"=+", "x":12, "y":0}, "usb": {
{"label":"Backspace", "x":13, "y":0}, "device_version": "1.0.0",
{"label":"Backspace", "x":14, "y":0}, "pid": "0x0001",
{"label":"Toggle RGB", "x":15.25, "y":0}, "vid": "0x4273"
},
{"label":"Tab", "x":0, "y":1, "w":1.5}, "rgblight": {
{"label":"Q", "x":1.5, "y":1}, "led_count": 24,
{"label":"W", "x":2.5, "y":1}, "pin": "C6",
{"label":"E", "x":3.5, "y":1}, "sleep": true,
{"label":"R", "x":4.5, "y":1}, "max_brightness": 200,
{"label":"T", "x":5.5, "y":1}, "animations": {
{"label":"Y", "x":6.5, "y":1}, "all": true
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "y":1, "w":1.5},
{"label":"RGB Mode +", "x":15.25, "y":1},
{"label":"Ctrl", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"Fn", "x":15.25, "y":2},
{"label":"Shift", "x":0, "y":3, "w":1.25},
{"label":"\\|", "x":1.25, "y":3},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"\u2191", "x":14.25, "y":3.25},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"GUI", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"label":"Space", "x":3.75, "y":4, "w":2.25},
{"label":"Space", "x":6, "y":4, "w":1.25},
{"label":"Space", "x":7.25, "y":4, "w":2.75},
{"label":"Alt", "x":10, "y":4},
{"label":"Ctrl", "x":11, "y":4},
{"label":"`~", "x":12, "y":4},
{"label":"\u2190", "x":13.25, "y":4.25},
{"label":"\u2193", "x":14.25, "y":4.25},
{"label":"\u2192", "x":15.25, "y":4.25}
]
},
"LAYOUT_ansi": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0, "w":2},
{"label":"Toggle RGB", "x":15.25, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "y":1, "w":1.5},
{"label":"RGB Mode +", "x":15.25, "y":1},
{"label":"Ctrl", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"Fn", "x":15.25, "y":2},
{"label":"Shift", "x":0, "y":3, "w":2.25},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"\u2191", "x":14.25, "y":3.25},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"GUI", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"label":"Space", "x":3.75, "y":4, "w":6.25},
{"label":"Alt", "x":10, "y":4},
{"label":"Ctrl", "x":11, "y":4},
{"label":"`~", "x":12, "y":4},
{"label":"\u2190", "x":13.25, "y":4.25},
{"label":"\u2193", "x":14.25, "y":4.25},
{"label":"\u2192", "x":15.25, "y":4.25}
]
},
"LAYOUT_ansi_split_bs_space": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0},
{"label":"Backspace", "x":14, "y":0},
{"label":"Toggle RGB", "x":15.25, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "y":1, "w":1.5},
{"label":"RGB Mode +", "x":15.25, "y":1},
{"label":"Ctrl", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"Fn", "x":15.25, "y":2},
{"label":"Shift", "x":0, "y":3, "w":2.25},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"\u2191", "x":14.25, "y":3.25},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"GUI", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"label":"Space", "x":3.75, "y":4, "w":2.25},
{"label":"Space", "x":6, "y":4, "w":1.25},
{"label":"Space", "x":7.25, "y":4, "w":2.75},
{"label":"Alt", "x":10, "y":4},
{"label":"Ctrl", "x":11, "y":4},
{"label":"`~", "x":12, "y":4},
{"label":"\u2190", "x":13.25, "y":4.25},
{"label":"\u2193", "x":14.25, "y":4.25},
{"label":"\u2192", "x":15.25, "y":4.25}
]
},
"LAYOUT_iso": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2\"", "x":2, "y":0},
{"label":"3\u00a3", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0, "w":2},
{"label":"Toggle RGB", "x":15.25, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"RGB Mode +", "x":15.25, "y":1},
{"label":"Ctrl", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"#~", "x":12.75, "y":2},
{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
{"label":"Fn", "x":15.25, "y":2},
{"label":"Shift", "x":0, "y":3, "w":1.25},
{"label":"\\|", "x":1.25, "y":3},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"\u2191", "x":14.25, "y":3.25},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"GUI", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"label":"Space", "x":3.75, "y":4, "w":6.25},
{"label":"Alt", "x":10, "y":4},
{"label":"Ctrl", "x":11, "y":4},
{"label":"`\u00ac", "x":12, "y":4},
{"label":"\u2190", "x":13.25, "y":4.25},
{"label":"\u2193", "x":14.25, "y":4.25},
{"label":"\u2192", "x":15.25, "y":4.25}
]
},
"LAYOUT_iso_split_bs_space": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2\"", "x":2, "y":0},
{"label":"3\u00a3", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0},
{"label":"Backspace", "x":14, "y":0},
{"label":"Toggle RGB", "x":15.25, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"RGB Mode +", "x":15.25, "y":1},
{"label":"Ctrl", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"#~", "x":12.75, "y":2},
{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
{"label":"Fn", "x":15.25, "y":2},
{"label":"Shift", "x":0, "y":3, "w":1.25},
{"label":"\\|", "x":1.25, "y":3},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"\u2191", "x":14.25, "y":3.25},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"GUI", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"label":"Space", "x":3.75, "y":4, "w":2.25},
{"label":"Space", "x":6, "y":4, "w":1.25},
{"label":"Space", "x":7.25, "y":4, "w":2.75},
{"label":"Alt", "x":10, "y":4},
{"label":"Ctrl", "x":11, "y":4},
{"label":"`\u00ac", "x":12, "y":4},
{"label":"\u2190", "x":13.25, "y":4.25},
{"label":"\u2193", "x":14.25, "y":4.25},
{"label":"\u2192", "x":15.25, "y":4.25}
]
}
} }
},
"rgb_matrix": {
"layout": [
{ "flags": 2, "x": 224, "y": 42},
{ "flags": 2, "x": 224, "y": 21},
{ "flags": 2, "x": 209, "y": 21},
{ "flags": 2, "x": 179, "y": 21},
{ "flags": 2, "x": 164, "y": 21},
{ "flags": 2, "x": 134, "y": 21},
{ "flags": 2, "x": 119, "y": 21},
{ "flags": 2, "x": 89, "y": 21},
{ "flags": 2, "x": 74, "y": 21},
{ "flags": 2, "x": 45, "y": 21},
{ "flags": 2, "x": 30, "y": 21},
{ "flags": 2, "x": 30, "y": 42},
{ "flags": 2, "x": 30, "y": 64},
{ "flags": 2, "x": 30, "y": 85},
{ "flags": 2, "x": 45, "y": 85},
{ "flags": 2, "x": 74, "y": 85},
{ "flags": 2, "x": 89, "y": 85},
{ "flags": 2, "x": 119, "y": 85},
{ "flags": 2, "x": 134, "y": 85},
{ "flags": 2, "x": 164, "y": 85},
{ "flags": 2, "x": 179, "y": 85},
{ "flags": 2, "x": 209, "y": 85},
{ "flags": 2, "x": 224, "y": 85},
{ "flags": 2, "x": 224, "y": 64}
]
},
"layouts": {
"LAYOUT_all": {
"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], "x": 13, "y": 0 },
{ "matrix": [0, 14], "x": 14, "y": 0 },
{ "matrix": [0, 15], "x": 15, "y": 0 },
{ "matrix": [1, 0], "x": 16, "y": 0 },
{ "matrix": [1, 2], "x": 17, "y": 0 },
{ "matrix": [1, 3], "x": 18, "y": 0 },
{ "matrix": [1, 4], "x": 19, "y": 0 },
{ "matrix": [1, 5], "x": 20, "y": 0 },
{ "matrix": [1, 6], "x": 21, "y": 0 },
{ "matrix": [1, 7], "x": 22, "y": 0 },
{ "matrix": [1, 8], "x": 23, "y": 0 },
{ "matrix": [1, 9], "x": 24, "y": 0 },
{ "matrix": [1, 10], "x": 25, "y": 0 },
{ "matrix": [1, 11], "x": 26, "y": 0 },
{ "matrix": [1, 12], "x": 27, "y": 0 },
{ "matrix": [1, 13], "x": 28, "y": 0 },
{ "matrix": [1, 14], "x": 29, "y": 0 },
{ "matrix": [1, 15], "x": 30, "y": 0 },
{ "matrix": [2, 0], "x": 31, "y": 0 },
{ "matrix": [2, 2], "x": 32, "y": 0 },
{ "matrix": [2, 3], "x": 33, "y": 0 },
{ "matrix": [2, 4], "x": 34, "y": 0 },
{ "matrix": [2, 5], "x": 35, "y": 0 },
{ "matrix": [2, 6], "x": 36, "y": 0 },
{ "matrix": [2, 7], "x": 37, "y": 0 },
{ "matrix": [2, 8], "x": 38, "y": 0 },
{ "matrix": [2, 9], "x": 39, "y": 0 },
{ "matrix": [2, 10], "x": 40, "y": 0 },
{ "matrix": [2, 11], "x": 41, "y": 0 },
{ "matrix": [2, 12], "x": 42, "y": 0 },
{ "matrix": [2, 13], "x": 43, "y": 0 },
{ "matrix": [2, 15], "x": 44, "y": 0 },
{ "matrix": [3, 1], "x": 45, "y": 0 },
{ "matrix": [3, 0], "x": 46, "y": 0 },
{ "matrix": [3, 2], "x": 47, "y": 0 },
{ "matrix": [3, 3], "x": 48, "y": 0 },
{ "matrix": [3, 4], "x": 49, "y": 0 },
{ "matrix": [3, 5], "x": 50, "y": 0 },
{ "matrix": [3, 6], "x": 51, "y": 0 },
{ "matrix": [3, 7], "x": 52, "y": 0 },
{ "matrix": [3, 8], "x": 53, "y": 0 },
{ "matrix": [3, 9], "x": 54, "y": 0 },
{ "matrix": [3, 10], "x": 55, "y": 0 },
{ "matrix": [3, 11], "x": 56, "y": 0 },
{ "matrix": [3, 13], "x": 57, "y": 0 },
{ "matrix": [3, 14], "x": 58, "y": 0 },
{ "matrix": [4, 0], "x": 59, "y": 0 },
{ "matrix": [4, 1], "x": 60, "y": 0 },
{ "matrix": [4, 3], "x": 61, "y": 0 },
{ "matrix": [4, 4], "x": 62, "y": 0 },
{ "matrix": [4, 6], "x": 63, "y": 0 },
{ "matrix": [4, 8], "x": 64, "y": 0 },
{ "matrix": [4, 10], "x": 65, "y": 0 },
{ "matrix": [4, 11], "x": 66, "y": 0 },
{ "matrix": [4, 12], "x": 67, "y": 0 },
{ "matrix": [4, 13], "x": 68, "y": 0 },
{ "matrix": [4, 14], "x": 69, "y": 0 },
{ "matrix": [4, 15], "x": 70, "y": 0 }
]
},
"LAYOUT_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], "x": 13, "y": 0 },
{ "matrix": [0, 15], "x": 14, "y": 0 },
{ "matrix": [1, 0], "x": 15, "y": 0 },
{ "matrix": [1, 2], "x": 16, "y": 0 },
{ "matrix": [1, 3], "x": 17, "y": 0 },
{ "matrix": [1, 4], "x": 18, "y": 0 },
{ "matrix": [1, 5], "x": 19, "y": 0 },
{ "matrix": [1, 6], "x": 20, "y": 0 },
{ "matrix": [1, 7], "x": 21, "y": 0 },
{ "matrix": [1, 8], "x": 22, "y": 0 },
{ "matrix": [1, 9], "x": 23, "y": 0 },
{ "matrix": [1, 10], "x": 24, "y": 0 },
{ "matrix": [1, 11], "x": 25, "y": 0 },
{ "matrix": [1, 12], "x": 26, "y": 0 },
{ "matrix": [1, 13], "x": 27, "y": 0 },
{ "matrix": [1, 14], "x": 28, "y": 0 },
{ "matrix": [1, 15], "x": 29, "y": 0 },
{ "matrix": [2, 0], "x": 30, "y": 0 },
{ "matrix": [2, 2], "x": 31, "y": 0 },
{ "matrix": [2, 3], "x": 32, "y": 0 },
{ "matrix": [2, 4], "x": 33, "y": 0 },
{ "matrix": [2, 5], "x": 34, "y": 0 },
{ "matrix": [2, 6], "x": 35, "y": 0 },
{ "matrix": [2, 7], "x": 36, "y": 0 },
{ "matrix": [2, 8], "x": 37, "y": 0 },
{ "matrix": [2, 9], "x": 38, "y": 0 },
{ "matrix": [2, 10], "x": 39, "y": 0 },
{ "matrix": [2, 11], "x": 40, "y": 0 },
{ "matrix": [2, 12], "x": 41, "y": 0 },
{ "matrix": [2, 13], "x": 42, "y": 0 },
{ "matrix": [2, 15], "x": 43, "y": 0 },
{ "matrix": [3, 1], "x": 44, "y": 0 },
{ "matrix": [3, 2], "x": 45, "y": 0 },
{ "matrix": [3, 3], "x": 46, "y": 0 },
{ "matrix": [3, 4], "x": 47, "y": 0 },
{ "matrix": [3, 5], "x": 48, "y": 0 },
{ "matrix": [3, 6], "x": 49, "y": 0 },
{ "matrix": [3, 7], "x": 50, "y": 0 },
{ "matrix": [3, 8], "x": 51, "y": 0 },
{ "matrix": [3, 9], "x": 52, "y": 0 },
{ "matrix": [3, 10], "x": 53, "y": 0 },
{ "matrix": [3, 11], "x": 54, "y": 0 },
{ "matrix": [3, 13], "x": 55, "y": 0 },
{ "matrix": [3, 14], "x": 56, "y": 0 },
{ "matrix": [4, 0], "x": 57, "y": 0 },
{ "matrix": [4, 1], "x": 58, "y": 0 },
{ "matrix": [4, 3], "x": 59, "y": 0 },
{ "matrix": [4, 6], "x": 60, "y": 0 },
{ "matrix": [4, 10], "x": 61, "y": 0 },
{ "matrix": [4, 11], "x": 62, "y": 0 },
{ "matrix": [4, 12], "x": 63, "y": 0 },
{ "matrix": [4, 13], "x": 64, "y": 0 },
{ "matrix": [4, 14], "x": 65, "y": 0 },
{ "matrix": [4, 15], "x": 66, "y": 0 }
]
},
"LAYOUT_ansi_split_bs_space": {
"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], "x": 13, "y": 0 },
{ "matrix": [0, 14], "x": 14, "y": 0 },
{ "matrix": [0, 15], "x": 15, "y": 0 },
{ "matrix": [1, 0], "x": 16, "y": 0 },
{ "matrix": [1, 2], "x": 17, "y": 0 },
{ "matrix": [1, 3], "x": 18, "y": 0 },
{ "matrix": [1, 4], "x": 19, "y": 0 },
{ "matrix": [1, 5], "x": 20, "y": 0 },
{ "matrix": [1, 6], "x": 21, "y": 0 },
{ "matrix": [1, 7], "x": 22, "y": 0 },
{ "matrix": [1, 8], "x": 23, "y": 0 },
{ "matrix": [1, 9], "x": 24, "y": 0 },
{ "matrix": [1, 10], "x": 25, "y": 0 },
{ "matrix": [1, 11], "x": 26, "y": 0 },
{ "matrix": [1, 12], "x": 27, "y": 0 },
{ "matrix": [1, 13], "x": 28, "y": 0 },
{ "matrix": [1, 14], "x": 29, "y": 0 },
{ "matrix": [1, 15], "x": 30, "y": 0 },
{ "matrix": [2, 0], "x": 31, "y": 0 },
{ "matrix": [2, 2], "x": 32, "y": 0 },
{ "matrix": [2, 3], "x": 33, "y": 0 },
{ "matrix": [2, 4], "x": 34, "y": 0 },
{ "matrix": [2, 5], "x": 35, "y": 0 },
{ "matrix": [2, 6], "x": 36, "y": 0 },
{ "matrix": [2, 7], "x": 37, "y": 0 },
{ "matrix": [2, 8], "x": 38, "y": 0 },
{ "matrix": [2, 9], "x": 39, "y": 0 },
{ "matrix": [2, 10], "x": 40, "y": 0 },
{ "matrix": [2, 11], "x": 41, "y": 0 },
{ "matrix": [2, 12], "x": 42, "y": 0 },
{ "matrix": [2, 13], "x": 43, "y": 0 },
{ "matrix": [2, 15], "x": 44, "y": 0 },
{ "matrix": [3, 1], "x": 45, "y": 0 },
{ "matrix": [3, 2], "x": 46, "y": 0 },
{ "matrix": [3, 3], "x": 47, "y": 0 },
{ "matrix": [3, 4], "x": 48, "y": 0 },
{ "matrix": [3, 5], "x": 49, "y": 0 },
{ "matrix": [3, 6], "x": 50, "y": 0 },
{ "matrix": [3, 7], "x": 51, "y": 0 },
{ "matrix": [3, 8], "x": 52, "y": 0 },
{ "matrix": [3, 9], "x": 53, "y": 0 },
{ "matrix": [3, 10], "x": 54, "y": 0 },
{ "matrix": [3, 11], "x": 55, "y": 0 },
{ "matrix": [3, 13], "x": 56, "y": 0 },
{ "matrix": [3, 14], "x": 57, "y": 0 },
{ "matrix": [4, 0], "x": 58, "y": 0 },
{ "matrix": [4, 1], "x": 59, "y": 0 },
{ "matrix": [4, 3], "x": 60, "y": 0 },
{ "matrix": [4, 4], "x": 61, "y": 0 },
{ "matrix": [4, 6], "x": 62, "y": 0 },
{ "matrix": [4, 8], "x": 63, "y": 0 },
{ "matrix": [4, 10], "x": 64, "y": 0 },
{ "matrix": [4, 11], "x": 65, "y": 0 },
{ "matrix": [4, 12], "x": 66, "y": 0 },
{ "matrix": [4, 13], "x": 67, "y": 0 },
{ "matrix": [4, 14], "x": 68, "y": 0 },
{ "matrix": [4, 15], "x": 69, "y": 0 }
]
},
"LAYOUT_iso": {
"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], "x": 13, "y": 0 },
{ "matrix": [0, 15], "x": 14, "y": 0 },
{ "matrix": [1, 0], "x": 15, "y": 0 },
{ "matrix": [1, 2], "x": 16, "y": 0 },
{ "matrix": [1, 3], "x": 17, "y": 0 },
{ "matrix": [1, 4], "x": 18, "y": 0 },
{ "matrix": [1, 5], "x": 19, "y": 0 },
{ "matrix": [1, 6], "x": 20, "y": 0 },
{ "matrix": [1, 7], "x": 21, "y": 0 },
{ "matrix": [1, 8], "x": 22, "y": 0 },
{ "matrix": [1, 9], "x": 23, "y": 0 },
{ "matrix": [1, 10], "x": 24, "y": 0 },
{ "matrix": [1, 11], "x": 25, "y": 0 },
{ "matrix": [1, 12], "x": 26, "y": 0 },
{ "matrix": [1, 13], "x": 27, "y": 0 },
{ "matrix": [1, 15], "x": 28, "y": 0 },
{ "matrix": [2, 0], "x": 29, "y": 0 },
{ "matrix": [2, 2], "x": 30, "y": 0 },
{ "matrix": [2, 3], "x": 31, "y": 0 },
{ "matrix": [2, 4], "x": 32, "y": 0 },
{ "matrix": [2, 5], "x": 33, "y": 0 },
{ "matrix": [2, 6], "x": 34, "y": 0 },
{ "matrix": [2, 7], "x": 35, "y": 0 },
{ "matrix": [2, 8], "x": 36, "y": 0 },
{ "matrix": [2, 9], "x": 37, "y": 0 },
{ "matrix": [2, 10], "x": 38, "y": 0 },
{ "matrix": [2, 11], "x": 39, "y": 0 },
{ "matrix": [2, 12], "x": 40, "y": 0 },
{ "matrix": [1, 14], "x": 41, "y": 0 },
{ "matrix": [2, 13], "x": 42, "y": 0 },
{ "matrix": [2, 15], "x": 43, "y": 0 },
{ "matrix": [3, 1], "x": 44, "y": 0 },
{ "matrix": [3, 0], "x": 45, "y": 0 },
{ "matrix": [3, 2], "x": 46, "y": 0 },
{ "matrix": [3, 3], "x": 47, "y": 0 },
{ "matrix": [3, 4], "x": 48, "y": 0 },
{ "matrix": [3, 5], "x": 49, "y": 0 },
{ "matrix": [3, 6], "x": 50, "y": 0 },
{ "matrix": [3, 7], "x": 51, "y": 0 },
{ "matrix": [3, 8], "x": 52, "y": 0 },
{ "matrix": [3, 9], "x": 53, "y": 0 },
{ "matrix": [3, 10], "x": 54, "y": 0 },
{ "matrix": [3, 11], "x": 55, "y": 0 },
{ "matrix": [3, 13], "x": 56, "y": 0 },
{ "matrix": [3, 14], "x": 57, "y": 0 },
{ "matrix": [4, 0], "x": 58, "y": 0 },
{ "matrix": [4, 1], "x": 59, "y": 0 },
{ "matrix": [4, 3], "x": 60, "y": 0 },
{ "matrix": [4, 6], "x": 61, "y": 0 },
{ "matrix": [4, 10], "x": 62, "y": 0 },
{ "matrix": [4, 11], "x": 63, "y": 0 },
{ "matrix": [4, 12], "x": 64, "y": 0 },
{ "matrix": [4, 13], "x": 65, "y": 0 },
{ "matrix": [4, 14], "x": 66, "y": 0 },
{ "matrix": [4, 15], "x": 67, "y": 0 }
]
},
"LAYOUT_iso_split_bs_space": {
"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], "x": 13, "y": 0 },
{ "matrix": [0, 14], "x": 14, "y": 0 },
{ "matrix": [0, 15], "x": 15, "y": 0 },
{ "matrix": [1, 0], "x": 16, "y": 0 },
{ "matrix": [1, 2], "x": 17, "y": 0 },
{ "matrix": [1, 3], "x": 18, "y": 0 },
{ "matrix": [1, 4], "x": 19, "y": 0 },
{ "matrix": [1, 5], "x": 20, "y": 0 },
{ "matrix": [1, 6], "x": 21, "y": 0 },
{ "matrix": [1, 7], "x": 22, "y": 0 },
{ "matrix": [1, 8], "x": 23, "y": 0 },
{ "matrix": [1, 9], "x": 24, "y": 0 },
{ "matrix": [1, 10], "x": 25, "y": 0 },
{ "matrix": [1, 11], "x": 26, "y": 0 },
{ "matrix": [1, 12], "x": 27, "y": 0 },
{ "matrix": [1, 13], "x": 28, "y": 0 },
{ "matrix": [1, 15], "x": 29, "y": 0 },
{ "matrix": [2, 0], "x": 30, "y": 0 },
{ "matrix": [2, 2], "x": 31, "y": 0 },
{ "matrix": [2, 3], "x": 32, "y": 0 },
{ "matrix": [2, 4], "x": 33, "y": 0 },
{ "matrix": [2, 5], "x": 34, "y": 0 },
{ "matrix": [2, 6], "x": 35, "y": 0 },
{ "matrix": [2, 7], "x": 36, "y": 0 },
{ "matrix": [2, 8], "x": 37, "y": 0 },
{ "matrix": [2, 9], "x": 38, "y": 0 },
{ "matrix": [2, 10], "x": 39, "y": 0 },
{ "matrix": [2, 11], "x": 40, "y": 0 },
{ "matrix": [2, 12], "x": 41, "y": 0 },
{ "matrix": [1, 14], "x": 42, "y": 0 },
{ "matrix": [2, 13], "x": 43, "y": 0 },
{ "matrix": [2, 15], "x": 44, "y": 0 },
{ "matrix": [3, 1], "x": 45, "y": 0 },
{ "matrix": [3, 0], "x": 46, "y": 0 },
{ "matrix": [3, 2], "x": 47, "y": 0 },
{ "matrix": [3, 3], "x": 48, "y": 0 },
{ "matrix": [3, 4], "x": 49, "y": 0 },
{ "matrix": [3, 5], "x": 50, "y": 0 },
{ "matrix": [3, 6], "x": 51, "y": 0 },
{ "matrix": [3, 7], "x": 52, "y": 0 },
{ "matrix": [3, 8], "x": 53, "y": 0 },
{ "matrix": [3, 9], "x": 54, "y": 0 },
{ "matrix": [3, 10], "x": 55, "y": 0 },
{ "matrix": [3, 11], "x": 56, "y": 0 },
{ "matrix": [3, 13], "x": 57, "y": 0 },
{ "matrix": [3, 14], "x": 58, "y": 0 },
{ "matrix": [4, 0], "x": 59, "y": 0 },
{ "matrix": [4, 1], "x": 60, "y": 0 },
{ "matrix": [4, 3], "x": 61, "y": 0 },
{ "matrix": [4, 4], "x": 62, "y": 0 },
{ "matrix": [4, 6], "x": 63, "y": 0 },
{ "matrix": [4, 8], "x": 64, "y": 0 },
{ "matrix": [4, 10], "x": 65, "y": 0 },
{ "matrix": [4, 11], "x": 66, "y": 0 },
{ "matrix": [4, 12], "x": 67, "y": 0 },
{ "matrix": [4, 13], "x": 68, "y": 0 },
{ "matrix": [4, 14], "x": 69, "y": 0 },
{ "matrix": [4, 15], "x": 70, "y": 0 }
]
}
}
} }

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* 2022 QMK / James Young (@noroadsleft) * 2022 QMK / James Young (@noroadsleft)
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* 2022 QMK / James Young (@noroadsleft) * 2022 QMK / James Young (@noroadsleft)
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify

View File

@ -1,4 +1,4 @@
/* Copyright 2020 Boardsource /* Copyright 2022 Boardsource
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by

View File

@ -1,3 +0,0 @@
# The via keymap for The Mark: 65
This folder contains the VIA configuration for the boardsource's The Mark: 65

View File

@ -1,20 +1 @@
# MCU name RGB_MATRIX_DRIVER = WS2812
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support

View File

@ -1,49 +0,0 @@
/* Copyright 2020 Boardsource
*
* 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 "the_mark.h"
/* Map physical under glow LEDs for RGB matrix support */
#ifdef RGB_MATRIX_ENABLE
led_config_t g_led_config = { {
// Key Matrix to LED Index
{ 10 , NO_LED, 9 , NO_LED, 8 , 7 , NO_LED, 6 , 5 , NO_LED, 4 , 3 , NO_LED, 2 , NO_LED, 1 },
{ 11 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 },
{ 12 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 23 },
{ 13 , NO_LED, 14 , NO_LED, 15 , 16 , NO_LED, 17 , 18 , NO_LED, 19 , 20 , NO_LED, 21 , NO_LED, NO_LED },
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 22 },
}, {
// LED Index to Physical Position
{224, 42}, {224, 21}, {209, 21}, {179, 21}, {164, 21}, {134, 21}, {119, 21}, {89, 21}, {74, 21}, {45, 21}, {30, 21}, {30, 42},
{30, 64}, {30, 85}, {45, 85}, {74, 85}, {89, 85}, {119, 85}, {134, 85}, {164, 85}, {179, 85}, {209, 85}, {224, 85}, {224, 64}
}, {
// LED Index to Flag
LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL
} };
void suspend_power_down_kb(void) {
rgb_matrix_set_suspend_state(true);
suspend_power_down_user();
}
void suspend_wakeup_init_kb(void) {
rgb_matrix_set_suspend_state(false);
suspend_wakeup_init_user();
}
#endif

View File

@ -1,109 +0,0 @@
/* Copyright 2020 Boardsource
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define ___ KC_NO
/*
*
* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0D 2u Backspace
*
* 10 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
* 2.25u 2D ISO Enter
* LShift 20 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2F 1E
*
* 31 31 30 32 33 34 35 36 37 38 39 3A 3B 3D
* 3E
* 40 41 43 44 46 48 4A 4B 4C
* 4D 4E 4F
*
*
* 6.25u Space 46 4A 4B RWKL
*
*/
#define LAYOUT_all( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
K31, K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
{ K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
{ K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
}
#define LAYOUT_ansi( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, ___, K0F }, \
{ K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
{ ___, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
{ K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
}
#define LAYOUT_ansi_split_bs_space( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
{ K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
{ ___, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
{ K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
}
#define LAYOUT_iso( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1E, K2D, K2F, \
K31, K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E, K4F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, ___, K0F }, \
{ K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
{ K40, K41, ___, K43, ___, ___, K46, ___, ___, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
}
#define LAYOUT_iso_split_bs_space( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K1E, K2D, K2F, \
K31, K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
K40, K41, K43, K44, K46, K48, K4A, K4B, K4C, K4D, K4E, K4F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
{ K10, ___, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, ___, K2F }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, K3D, K3E, ___ }, \
{ K40, K41, ___, K43, K44, ___, K46, ___, K48, ___, K4A, K4B, K4C, K4D, K4E, K4F } \
}

View File

@ -4,8 +4,82 @@
"maintainer": "awkannan", "maintainer": "awkannan",
"layouts": { "layouts": {
"LAYOUT_all": { "LAYOUT_all": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Bkspc", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Del", "x":15.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"PgUp", "x":15.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgDn", "x":15.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":15.5, "y":3}, {"label":"Up", "x":14.25, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Win", "x":11, "y":4}, {"label":"Ctrl", "x":12, "y":4}, {"label":"Left", "x":13.25, "y":4.25}, {"label":"Down", "x":14.25, "y":4.25}, {"label":"Right", "x":15.25, "y":4.25}] "layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"!", "x":1, "y":0},
{"label":"@", "x":2, "y":0},
{"label":"#", "x":3, "y":0},
{"label":"$", "x":4, "y":0},
{"label":"%", "x":5, "y":0},
{"label":"^", "x":6, "y":0},
{"label":"&", "x":7, "y":0},
{"label":"*", "x":8, "y":0},
{"label":"(", "x":9, "y":0},
{"label":")", "x":10, "y":0},
{"label":"_", "x":11, "y":0},
{"label":"+", "x":12, "y":0},
{"label":"Bkspc", "x":13, "y":0},
{"label":"Del", "x":14, "y":0},
{"label":"Del", "x":15.5, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"{", "x":11.5, "y":1},
{"label":"}", "x":12.5, "y":1},
{"label":"|", "x":13.5, "y":1, "w":1.5},
{"label":"PgUp", "x":15.5, "y":1},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":":", "x":10.75, "y":2},
{"label":"\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"PgDn", "x":15.5, "y":2},
{"label":"Shift", "x":0, "y":3, "w":1.25},
{"label":"|", "x":1.25, "y":3},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":"<", "x":9.25, "y":3},
{"label":">", "x":10.25, "y":3},
{"label":"?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"Up", "x":14.25, "y":3.25},
{"label":"Fn", "x":15.5, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"Win", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"x":3.75, "y":4, "w":6.25},
{"label":"Alt", "x":10, "y":4},
{"label":"Win", "x":11, "y":4},
{"label":"Ctrl", "x":12, "y":4},
{"label":"Left", "x":13.25, "y":4.25},
{"label":"Down", "x":14.25, "y":4.25},
{"label":"Right", "x":15.25, "y":4.25}
]
} }
} }
} }

View File

@ -4,7 +4,79 @@
"maintainer": "awkannan", "maintainer": "awkannan",
"layouts": { "layouts": {
"LAYOUT_default": { "LAYOUT_default": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Del", "x":15.5, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"PgUp", "x":15.5, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgDn", "x":15.5, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":15.5, "y":3}, {"label":"Up", "x":14.25, "y":3.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Ctrl", "x":11.5, "y":4, "w":1.5}, {"label":"Left", "x":13.25, "y":4.25}, {"label":"Down", "x":14.25, "y":4.25}, {"label":"Right", "x":15.25, "y":4.25}] "layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"!", "x":1, "y":0},
{"label":"@", "x":2, "y":0},
{"label":"#", "x":3, "y":0},
{"label":"$", "x":4, "y":0},
{"label":"%", "x":5, "y":0},
{"label":"^", "x":6, "y":0},
{"label":"&", "x":7, "y":0},
{"label":"*", "x":8, "y":0},
{"label":"(", "x":9, "y":0},
{"label":")", "x":10, "y":0},
{"label":"_", "x":11, "y":0},
{"label":"+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0, "w":2},
{"label":"Del", "x":15.5, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"{", "x":11.5, "y":1},
{"label":"}", "x":12.5, "y":1},
{"label":"|", "x":13.5, "y":1, "w":1.5},
{"label":"PgUp", "x":15.5, "y":1},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":":", "x":10.75, "y":2},
{"label":"\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"PgDn", "x":15.5, "y":2},
{"label":"Shift", "x":0, "y":3, "w":2.25},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":"<", "x":9.25, "y":3},
{"label":">", "x":10.25, "y":3},
{"label":"?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"Up", "x":14.25, "y":3.25},
{"label":"Fn", "x":15.5, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"Win", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"x":3.75, "y":4, "w":6.25},
{"label":"Alt", "x":10, "y":4, "w":1.5},
{"label":"Ctrl", "x":11.5, "y":4, "w":1.5},
{"label":"Left", "x":13.25, "y":4.25},
{"label":"Down", "x":14.25, "y":4.25},
{"label":"Right", "x":15.25, "y":4.25}
]
} }
} }
} }

View File

@ -17,7 +17,7 @@
#include "quark_plus.h" #include "quark_plus.h"
bool encoder_update_kb(uint8_t index, bool clockwise) { bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_kb(index, clockwise)) { return false; } if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 1) { /* left encoder*/ if (index == 1) { /* left encoder*/
if (clockwise){ if (clockwise){
tap_code(KC_WH_U); tap_code(KC_WH_U);

View File

@ -0,0 +1,16 @@
// Copyright 2022 Vitaly Volkov (@vlkv)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "chocofly.h"
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
return false;
}
#endif

View File

@ -0,0 +1,10 @@
// Copyright 2022 Vitaly Volkov (@vlkv)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#ifdef KEYBOARD_chocofly_v1
#include "v1.h"
#endif
#include "quantum.h"

View File

@ -0,0 +1,6 @@
// Copyright 2022 Vitaly Volkov (@vlkv)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "config_common.h"

View File

@ -0,0 +1,23 @@
# Chocofly
![Chocofly v1.0](https://github.com/vlkv/chocofly/blob/master/images/chocofly_v1-0.jpg)
An open source ergonomic monoblock 60% keyboard.
* Keyboard Maintainer: [Vitaly Volkov](https://github.com/vlkv)
* Hardware Supported: Chocofly PCB v1, Pro Micro 5V/16MHz and compatible.
* Hardware Availability: [github.com/vlkv/chocofly](https://github.com/vlkv/chocofly)
Make example for this keyboard (after setting up your build environment):
make chocofly/v1:default
Flashing example for this keyboard:
make chocofly/v1:default:flash
## Bootloader
Briefly press the button along the top edge of the PCB next to the microcontroller.
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).

View File

@ -0,0 +1,22 @@
// Copyright 2022 Vitaly Volkov (@vlkv)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define VENDOR_ID 0xCEE2
#define PRODUCT_ID 0x1001
#define DEVICE_VER 0x0001
#define MANUFACTURER vitvlkv
#define PRODUCT Chocofly
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
#define MATRIX_ROW_PINS { D1, D0, D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
#define DIODE_DIRECTION COL2ROW
#define ENCODERS_PAD_A { D3 }
#define ENCODERS_PAD_B { D2 }
#define ENCODER_RESOLUTION 2

View File

@ -0,0 +1,44 @@
// Copyright 2022 Vitaly Volkov (@vlkv)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum layers {
_QWERTY,
_LOWER,
_RAISE,
};
#define RS_SPC LT(_RAISE, KC_SPC)
#define LW_LGUI LT(_LOWER, KC_LGUI)
#define RS_LGUI LT(_RAISE, KC_LGUI)
#define MT_LALT LALT_T(KC_ESC)
#define MT_RALT RALT_T(KC_ENT)
#define MT_LSFT LSFT_T(KC_EQL)
#define MT_RSFT RSFT_T(KC_MINS)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
KC_BSLS, KC_A, KC_S, KC_D, KC_F, KC_G, KC__MUTE, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_INS, KC_PSCR, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL,
LW_LGUI, MT_LSFT, RS_SPC, MT_LALT, MT_RALT, MO(_LOWER),MT_RSFT, RS_LGUI
),
[_LOWER] = LAYOUT(
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_UNDS, KC_PLUS, KC_EQL,
_______, KC_0, KC_1, KC_2, KC_3, KC_PCMM, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX,
_______, KC_0, KC_4, KC_5, KC_6, KC_DEL, _______, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX,
_______, KC_0, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_APP, KC_PGDN, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT(
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_UNDS, KC_PLUS, KC_EQL,
_______, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, KC_EXLM, KC_AT, KC_HASH, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, KC_DEL, _______, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, XXXXXXX, _______, _______, _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, KC_PCMM, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
};

View File

@ -0,0 +1,60 @@
// Copyright 2022 Will Winder (@winder)
// SPDX-License-Identifier: GPL-2.0-or-later
//
#include QMK_KEYBOARD_H
enum layers {
_QWERTY,
_LOWER,
_RAISE,
};
#define FN_1 MO(_LOWER)
#define FN_2 MO(_RAISE)
#define TRMINAL LGUI(KC_ENT)
#define RESIZE LGUI(KC_R)
#define BROWSER LSG(KC_ENT) // Left Shift + GUI, ENT.
// required for my PC
#undef KC_VOLU
#undef KC_VOLD
#define KC_VOLU KC__VOLUP
#define KC_VOLD KC__VOLDOWN
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_DEL ,
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_UNDS,
KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_MUTE, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , TRMINAL, BROWSER, RESIZE , KC_UNDS, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
KC_LALT, KC_LGUI, FN_1 , KC_ENT , FN_2 , KC_SPC , KC_BSPC, KC_DEL
),
[_LOWER] = LAYOUT(
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL ,
KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
_______, KC_EQL , KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT(
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX,
_______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, KC_0, KC_4, KC_5, KC_6, KC_DEL, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, XXXXXXX, XXXXXXX,
_______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, _______, _______, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
};
#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
tap_code(KC_VOLD);
} else {
tap_code(KC_VOLU);
}
}
return false;
}
#endif

Some files were not shown because too many files have changed in this diff Show More