Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f0dc0fb6d | ||
|
|
3290377918 | ||
|
|
83b9483045 | ||
|
|
0b21fbc37b | ||
|
|
7e4f74d689 | ||
|
|
59f671744b | ||
|
|
7fb22706fd | ||
|
|
249eb87102 | ||
|
|
b1f8622513 | ||
|
|
d3584be431 | ||
|
|
c204c735af | ||
|
|
f30f963a0b | ||
|
|
b1de11c275 | ||
|
|
ae5f43072f | ||
|
|
f252287b0e | ||
|
|
67b9a722c0 | ||
|
|
18490537a5 | ||
|
|
2d1f2810a4 | ||
|
|
019dddcfa3 | ||
|
|
deb0fe4bcc | ||
|
|
2e31f542dc | ||
|
|
14fb3cc8b0 | ||
|
|
9bf25d1cd5 | ||
|
|
2d1d44edb7 | ||
|
|
f7b5d67a7b | ||
|
|
65af7272f3 | ||
|
|
3bc8afbb81 | ||
|
|
d175ee1d9b | ||
|
|
60f22831cb | ||
|
|
38e3be4c74 | ||
|
|
60e28544b2 | ||
|
|
73657a7d58 | ||
|
|
4666d26008 | ||
|
|
2d12eacb4b | ||
|
|
7dd993fb06 | ||
|
|
548a463fe9 | ||
|
|
7f63bcf38b | ||
|
|
7e00fcd7bc | ||
|
|
da68083fdf | ||
|
|
92eb067a63 | ||
|
|
ac8bee7091 | ||
|
|
485cf920b4 | ||
|
|
6b01657a86 | ||
|
|
b6b7e12029 | ||
|
|
773205cd1f | ||
|
|
19c57a2a6a | ||
|
|
40529e89de | ||
|
|
8b48bab54f | ||
|
|
5f10387c41 | ||
|
|
89fc2f166f | ||
|
|
2bc4a216df | ||
|
|
63c310f6fd | ||
|
|
bc5d46aaad | ||
|
|
195242dc37 | ||
|
|
d25bce24cd | ||
|
|
c9e19fe6fc | ||
|
|
21522e0964 | ||
|
|
da4eda8930 | ||
|
|
f662939037 | ||
|
|
3e5cb1da0f | ||
|
|
cb9142224b | ||
|
|
c092d716c5 | ||
|
|
66f61ae4cb | ||
|
|
5475553dd8 | ||
|
|
628166a3a9 | ||
|
|
ae041078e8 | ||
|
|
9d74c95215 | ||
|
|
de4f2bf1ff | ||
|
|
c49438feec | ||
|
|
c212b65e48 | ||
|
|
b114b27373 | ||
|
|
a75fb03f39 | ||
|
|
bf4ce41696 | ||
|
|
11e50f5ff1 | ||
|
|
71a48a0102 | ||
|
|
04020da48c |
@@ -18,7 +18,6 @@
|
||||
|
||||
# QMK-specific
|
||||
api_data/v1
|
||||
doxygen/
|
||||
quantum/version.h
|
||||
*.bin
|
||||
*.eep
|
||||
|
||||
@@ -21,7 +21,7 @@ DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME = "QMK Firmware"
|
||||
PROJECT_NUMBER = https://github.com/qmk/qmk_firmware
|
||||
PROJECT_BRIEF = "Keyboard controller firmware for Atmel AVR and ARM USB families"
|
||||
OUTPUT_DIRECTORY = doxygen
|
||||
OUTPUT_DIRECTORY = .build/doxygen
|
||||
ALLOW_UNICODE_NAMES = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
@@ -145,7 +145,7 @@ FILE_PATTERNS = *.c \
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXCLUDE_PATTERNS = */protocol/arm_atsam/*
|
||||
EXCLUDE_SYMBOLS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS = *
|
||||
@@ -209,7 +209,7 @@ EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
PREDEFINED = __DOXYGEN__ PROGMEM
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
}
|
||||
```
|
||||
|
||||
!> If you return `true`, this will allow the keyboard level code to run, as well. Returning `false` will override the keyboard level code. Depending on how the keyboard level function is set up.
|
||||
!> If you return `true`, it will allow the keyboard level code to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard function is set up.
|
||||
|
||||
Layer conditions can also be used with the callback function like the following:
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ void matrix_scan_user(void) {
|
||||
}
|
||||
```
|
||||
|
||||
As you can see, you have a few function. You can use `SEQ_ONE_KEY` for single-key sequences (Leader followed by just one key), and `SEQ_TWO_KEYS`, `SEQ_THREE_KEYS` up to `SEQ_FIVE_KEYS` for longer sequences.
|
||||
As you can see, you have a few functions. You can use `SEQ_ONE_KEY` for single-key sequences (Leader followed by just one key), and `SEQ_TWO_KEYS`, `SEQ_THREE_KEYS` up to `SEQ_FIVE_KEYS` for longer sequences.
|
||||
|
||||
Each of these accepts one or more keycodes as arguments. This is an important point: You can use keycodes from **any layer on your keyboard**. That layer would need to be active for the leader macro to fire, obviously.
|
||||
|
||||
@@ -74,9 +74,9 @@ SEQ_THREE_KEYS(KC_C, KC_C, KC_C) {
|
||||
|
||||
## Infinite Leader key timeout
|
||||
|
||||
Sometimes your leader key is not on a comfortable places as the rest of keys on your sequence. Imagine that your leader key is one of your outer top right keys, you may need to reposition your hand just to reach your leader key.
|
||||
Sometimes your leader key is not on a comfortable place as the rest of keys on your sequence. Imagine that your leader key is one of your outer top right keys, you may need to reposition your hand just to reach your leader key.
|
||||
This can make typing the entire sequence on time hard even if you are able to type most of the sequence fast. For example, if your sequence is `Leader + asd` typing `asd` fast is very easy once you have your hands in your home row. However starting the sequence in time after moving your hand out of the home row to reach the leader key and back is not.
|
||||
To remove the stress this situation produces to your hands you can enable an infinite timeout just for the leader key. This mean that, after you hit the leader key you will have an infinite amount of time to start the rest of the sequence, allowing you to proper position your hands on the best position to type the rest of the sequence comfortably.
|
||||
To remove the stress this situation produces to your hands you can enable an infinite timeout just for the leader key. This means that after you hit the leader key you will have an infinite amount of time to start the rest of the sequence, allowing you to proper position your hands on the best position to type the rest of the sequence comfortably.
|
||||
This infinite timeout only affects the leader key, so in our previous example of `Leader + asd` you will have an infinite amount of time between `Leader` and `a`, but once you start the sequence the timeout you have configured (global or per key) will work normally.
|
||||
This way you can configure a very short `LEADER_TIMEOUT` but still have plenty of time to position your hands.
|
||||
|
||||
@@ -89,11 +89,11 @@ In order to enable this, place this in your `config.h`:
|
||||
|
||||
By default, the Leader Key feature will filter the keycode out of [`Mod-Tap`](mod_tap.md) and [`Layer Tap`](feature_layers.md#switching-and-toggling-layers) functions when checking for the Leader sequences. That means if you're using `LT(3, KC_A)`, it will pick this up as `KC_A` for the sequence, rather than `LT(3, KC_A)`, giving a more expected behavior for newer users.
|
||||
|
||||
While, this may be fine for most, if you want to specify the whole keycode (eg, `LT(3, KC_A)` from the example above) in the sequence, you can enable this by added `#define LEADER_KEY_STRICT_KEY_PROCESSING` to your `config.h` file. This will then disable the filtering, and you'll need to specify the whole keycode.
|
||||
While, this may be fine for most, if you want to specify the whole keycode (eg, `LT(3, KC_A)` from the example above) in the sequence, you can enable this by adding `#define LEADER_KEY_STRICT_KEY_PROCESSING` to your `config.h` file. This will then disable the filtering, and you'll need to specify the whole keycode.
|
||||
|
||||
## Customization
|
||||
|
||||
The Leader Key feature has some additional customization to how the Leader Key feature works. It has two functions that can be called at certain parts of the process. Namely `leader_start()` and `leader_end()`.
|
||||
The Leader Key feature has some additional customization to how the Leader Key feature works. It has two functions that can be called at certain parts of the process. Namely `leader_start()` and `leader_end()`.
|
||||
|
||||
The `leader_start()` function is called when you tap the `KC_LEAD` key, and the `leader_end()` function is called when either the leader sequence is completed, or the leader timeout is hit.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# LED Indicators
|
||||
|
||||
?> This feature requires additional configuration to work on both halves of a split keyboard see [Data sync options](feature_split_keyboard.md#data-sync-options)
|
||||
?> LED indicators on split keyboards will require state information synced to the slave half (e.g. `#define SPLIT_LED_STATE_ENABLE`). See [data sync options](feature_split_keyboard.md#data-sync-options) for more details.
|
||||
|
||||
QMK provides methods to read 5 of the LEDs defined in the HID spec:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Building Your First Firmware
|
||||
|
||||
Now that you have setup your build environment you are ready to start building custom firmware. For this section of the guide we will bounce between 3 programs- your file manager, your text editor, and your terminal window. Keep all 3 open until you are done and happy with your keyboard firmware.
|
||||
Now that you have set up your build environment you are ready to start building custom firmware. For this section of the guide we will bounce between 3 programs- your file manager, your text editor, and your terminal window. Keep all 3 open until you are done and happy with your keyboard firmware.
|
||||
|
||||
## Configure Your Build Environment Defaults (Optional)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ If there are any inconsistencies with these recommendations, you're best off [cr
|
||||
|
||||
- PR should be submitted using a non-`master` branch on the source repository
|
||||
- this does not mean you target a different branch for your PR, rather that you're not working out of your own master branch
|
||||
- if submitter _does_ use their own `master` branch, they'll be given a link to the ["how to git"](https://docs.qmk.fm/#/newbs_git_using_your_master_branch) page after merging -- (end of this document will contain the contents of the message)
|
||||
- if submitter _does_ use their own `master` branch, they'll be given a link to the ["how to git"](newbs_git_using_your_master_branch.md) page after merging -- (end of this document will contain the contents of the message)
|
||||
- newly-added directories and filenames must be lowercase
|
||||
- this rule may be relaxed if upstream sources originally had uppercase characters (e.g. LUFA, ChibiOS, or imported files from other repositories etc.)
|
||||
- if there is valid justification (i.e. consistency with existing core files etc.) this can be relaxed
|
||||
@@ -76,9 +76,9 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
||||
- `<keyboard>.c`
|
||||
- empty `xxxx_xxxx_kb()` or other weak-defined default implemented functions removed
|
||||
- commented-out functions removed too
|
||||
- `matrix_init_board()` etc. migrated to `keyboard_pre_init_kb()`, see: [keyboard_pre_init*](https://docs.qmk.fm/#/custom_quantum_functions?id=keyboard_pre_init_-function-documentation)
|
||||
- prefer `CUSTOM_MATRIX = lite` if custom matrix used, allows for standard debounce, see [custom matrix 'lite'](https://docs.qmk.fm/#/custom_matrix?id=lite)
|
||||
- prefer LED indicator [Configuration Options](https://docs.qmk.fm/#/feature_led_indicators?id=configuration-options) to custom `led_update_*()` implementations where possible
|
||||
- `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 LED indicator [Configuration Options](feature_led_indicators.md?id=configuration-options) to custom `led_update_*()` implementations where possible
|
||||
- `<keyboard>.h`
|
||||
- `#include "quantum.h"` appears at the top
|
||||
- `LAYOUT` macros should use standard definitions if applicable
|
||||
@@ -111,13 +111,13 @@ Also, specific to ChibiOS:
|
||||
- example: For an STM32L082KZ, given the similarity to an STM32L073RZ, you can use `BOARD = ST_NUCLEO64_L073RZ` in rules.mk
|
||||
- QMK is migrating to not having custom board definitions if at all possible, due to the ongoing maintenance burden when upgrading ChibiOS
|
||||
- New board definitions must not be embedded in a keyboard PR
|
||||
- See _Core PRs_ below for the procedure for adding a new board to QMK
|
||||
- See [Core PRs](#core-pr) below for the procedure for adding a new board to QMK
|
||||
- if a board definition is unavoidable, `board.c` must have a standard `__early_init()` (as per normal ChibiOS board defs) and an empty `boardInit()`:
|
||||
- see Arm/ChibiOS [early initialization](https://docs.qmk.fm/#/platformdev_chibios_earlyinit?id=board-init)
|
||||
- see Arm/ChibiOS [early initialization](platformdev_chibios_earlyinit.md?id=board-init)
|
||||
- `__early_init()` should be replaced by either `early_hardware_init_pre()` or `early_hardware_init_post()` as appropriate
|
||||
- `boardInit()` should be migrated to `board_init()`
|
||||
|
||||
## Core PRs
|
||||
## Core PRs :id=core-pr
|
||||
|
||||
- must now target `develop` branch, which will subsequently be merged back to `master` on the breaking changes timeline
|
||||
- any new boards adding support for new hardware now requires a corresponding test board under `keyboards/handwired/onekey`
|
||||
|
||||
@@ -125,11 +125,10 @@ uint8_t ps2_host_recv_response(void) {
|
||||
// Command may take 25ms/20ms at most([5]p.46, [3]p.21)
|
||||
// 250 * 100us(wait for start bit in ps2_host_recv)
|
||||
uint8_t data = 0;
|
||||
uint8_t try
|
||||
= 250;
|
||||
uint8_t try = 250;
|
||||
do {
|
||||
data = ps2_host_recv();
|
||||
} while (try --&&ps2_error);
|
||||
} while (try-- && ps2_error);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
/* Copyright 2022 MechMerlin
|
||||
*
|
||||
* 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 0x6F75 // OU
|
||||
#define PRODUCT_ID 0x5517
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 1upkeyboards
|
||||
#define PRODUCT super16v2
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
#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)
|
||||
*
|
||||
*/
|
||||
|
||||
// 0 1 2 3
|
||||
#define MATRIX_ROW_PINS { D1, D2, D3, D4 }
|
||||
#define MATRIX_COL_PINS { D5, D6, C2, D0 }
|
||||
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/*
|
||||
* 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 LED_NUM_LOCK_PIN B0
|
||||
//#define LED_CAPS_LOCK_PIN B1
|
||||
//#define LED_SCROLL_LOCK_PIN B2
|
||||
//#define LED_COMPOSE_PIN B3
|
||||
//#define LED_KANA_PIN B4
|
||||
|
||||
//#define BACKLIGHT_PIN B7
|
||||
//#define BACKLIGHT_LEVELS 3
|
||||
//#define BACKLIGHT_BREATHING
|
||||
|
||||
#define RGB_DI_PIN B5
|
||||
#ifdef RGB_DI_PIN
|
||||
# define RGBLED_NUM 20
|
||||
# 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 */
|
||||
# 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
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
/* Bootmagic Lite key configuration */
|
||||
//#define BOOTMAGIC_LITE_ROW 0
|
||||
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"keyboard_name": "super16v2",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x4": {
|
||||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2022 MechMerlin
|
||||
*
|
||||
* 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_ortho_4x4( /* Base */
|
||||
KC_P7, KC_P8, KC_P9, KC_PMNS,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3, KC_PSLS,
|
||||
MO(1), KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_ortho_4x4( /* Fn Layer */
|
||||
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
|
||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, RESET
|
||||
),
|
||||
};
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# The default keymap for Super 16 V2
|
||||
@@ -0,0 +1,48 @@
|
||||
/* Copyright 2022 MechMerlin
|
||||
*
|
||||
* 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_ortho_4x4( /* Base */
|
||||
KC_P7, KC_P8, KC_P9, KC_PMNS,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3, KC_PSLS,
|
||||
MO(1), KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_ortho_4x4( /* Fn Layer */
|
||||
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
|
||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, RESET
|
||||
),
|
||||
|
||||
[2] = LAYOUT_ortho_4x4(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
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_ortho_4x4(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
};
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# The default keymap for Super 16 V2
|
||||
@@ -0,0 +1,25 @@
|
||||
# Super 16 V2
|
||||
|
||||
A 4x4 macropad with RGB inswitch lighting and underglow.
|
||||
|
||||
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||
* Hardware Supported: 1upkeyboards Super 16 V2
|
||||
* Hardware Availability: [1upkeyboards](https://1upkeyboards.com/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 1upkeyboards/super16v2:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 1upkeyboards/super16v2:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
|
||||
@@ -0,0 +1,18 @@
|
||||
# MCU name
|
||||
MCU = atmega32u2
|
||||
|
||||
# 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
|
||||
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2022 MechMerlin
|
||||
*
|
||||
* 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 "super16v2.h"
|
||||
@@ -0,0 +1,39 @@
|
||||
/* Copyright 2022 MechMerlin
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This 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_ortho_4x4( \
|
||||
k00, k01, k02, k03, \
|
||||
k10, k11, k12, k13, \
|
||||
k20, k21, k22, k23, \
|
||||
k30, k31, k32, k33 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03 }, \
|
||||
{ k10, k11, k12, k13 }, \
|
||||
{ k20, k21, k22, k23 }, \
|
||||
{ k30, k31, k32, k33 } \
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
// Copyright 2022 peepeetee (@peepeetee)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xADA0
|
||||
#define PRODUCT_ID 0x0081
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Ada
|
||||
#define PRODUCT infinity81
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
/*
|
||||
* 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 { B3, B2, B1, B0, F6, B7 }
|
||||
#define MATRIX_COL_PINS { D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F5, F1, F4 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
|
||||
//#define LED_NUM_LOCK_PIN B0
|
||||
//#define LED_CAPS_LOCK_PIN B1
|
||||
//#define LED_SCROLL_LOCK_PIN B2
|
||||
//#define LED_COMPOSE_PIN B3
|
||||
//#define LED_KANA_PIN B4
|
||||
|
||||
//#define BACKLIGHT_PIN B7
|
||||
//#define BACKLIGHT_LEVELS 3
|
||||
//#define BACKLIGHT_BREATHING
|
||||
|
||||
#define RGB_DI_PIN D0
|
||||
#ifdef RGB_DI_PIN
|
||||
# define RGBLED_NUM 107
|
||||
# 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 */
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#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
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
/* Bootmagic Lite key configuration */
|
||||
//#define BOOTMAGIC_LITE_ROW 0
|
||||
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||
@@ -0,0 +1,4 @@
|
||||
// Copyright 2022 peepeetee (@peepeetee)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "infinity81.h"
|
||||
@@ -0,0 +1,30 @@
|
||||
// Copyright 2022 peepeetee (@peepeetee)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* 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( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
|
||||
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, \
|
||||
K500, K501, K502, K505, K510, K511, K512, K513, K514 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, KC_NO }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \
|
||||
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414 }, \
|
||||
{ K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514 } \
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"keyboard_name": "infinity81",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "K00 (B3,D1)", "x": 0, "y": 0 },
|
||||
{ "label": "K01 (B3,D2)", "x": 1.25, "y": 0 },
|
||||
{ "label": "K02 (B3,D3)", "x": 2.25, "y": 0 },
|
||||
{ "label": "K03 (B3,D5)", "x": 3.25, "y": 0 },
|
||||
{ "label": "K04 (B3,D4)", "x": 4.25, "y": 0 },
|
||||
{ "label": "K05 (B3,D6)", "x": 5.5, "y": 0 },
|
||||
{ "label": "K06 (B3,D7)", "x": 6.5, "y": 0 },
|
||||
{ "label": "K07 (B3,B4)", "x": 7.5, "y": 0 },
|
||||
{ "label": "K08 (B3,B5)", "x": 8.5, "y": 0 },
|
||||
{ "label": "K09 (B3,B6)", "x": 9.75, "y": 0 },
|
||||
{ "label": "K0A (B3,C6)", "x": 10.75, "y": 0 },
|
||||
{ "label": "K0B (B3,C7)", "x": 11.75, "y": 0 },
|
||||
{ "label": "K0C (B3,F5)", "x": 12.75, "y": 0 },
|
||||
{ "label": "K10 (B2,D1)", "x": 0, "y": 1.25 },
|
||||
{ "label": "K11 (B2,D2)", "x": 1, "y": 1.25 },
|
||||
{ "label": "K12 (B2,D3)", "x": 2, "y": 1.25 },
|
||||
{ "label": "K13 (B2,D5)", "x": 3, "y": 1.25 },
|
||||
{ "label": "K14 (B2,D4)", "x": 4, "y": 1.25 },
|
||||
{ "label": "K15 (B2,D6)", "x": 5, "y": 1.25 },
|
||||
{ "label": "K16 (B2,D7)", "x": 6, "y": 1.25 },
|
||||
{ "label": "K17 (B2,B4)", "x": 7, "y": 1.25 },
|
||||
{ "label": "K18 (B2,B5)", "x": 8, "y": 1.25 },
|
||||
{ "label": "K19 (B2,B6)", "x": 9, "y": 1.25 },
|
||||
{ "label": "K1A (B2,C6)", "x": 10, "y": 1.25 },
|
||||
{ "label": "K1B (B2,C7)", "x": 11, "y": 1.25 },
|
||||
{ "label": "K1C (B2,F5)", "x": 12, "y": 1.25 },
|
||||
{ "label": "K1D (B2,F1)", "x": 13, "y": 1.25, "w": 2 },
|
||||
{ "label": "K1E (B2,F4)", "x": 15, "y": 1.25 },
|
||||
{ "label": "K20 (B1,D1)", "x": 0, "y": 2.25, "w": 1.5 },
|
||||
{ "label": "K21 (B1,D2)", "x": 1.5, "y": 2.25 },
|
||||
{ "label": "K22 (B1,D3)", "x": 2.5, "y": 2.25 },
|
||||
{ "label": "K23 (B1,D5)", "x": 3.5, "y": 2.25 },
|
||||
{ "label": "K24 (B1,D4)", "x": 4.5, "y": 2.25 },
|
||||
{ "label": "K25 (B1,D6)", "x": 5.5, "y": 2.25 },
|
||||
{ "label": "K26 (B1,D7)", "x": 6.5, "y": 2.25 },
|
||||
{ "label": "K27 (B1,B4)", "x": 7.5, "y": 2.25 },
|
||||
{ "label": "K28 (B1,B5)", "x": 8.5, "y": 2.25 },
|
||||
{ "label": "K29 (B1,B6)", "x": 9.5, "y": 2.25 },
|
||||
{ "label": "K2A (B1,C6)", "x": 10.5, "y": 2.25 },
|
||||
{ "label": "K2B (B1,C7)", "x": 11.5, "y": 2.25 },
|
||||
{ "label": "K2C (B1,F5)", "x": 12.5, "y": 2.25 },
|
||||
{ "label": "K2D (B1,F1)", "x": 13.5, "y": 2.25, "w": 1.5 },
|
||||
{ "label": "K2E (B1,F4)", "x": 15, "y": 2.25 },
|
||||
{ "label": "K30 (B0,D1)", "x": 0, "y": 3.25, "w": 1.75 },
|
||||
{ "label": "K31 (B0,D2)", "x": 1.75, "y": 3.25 },
|
||||
{ "label": "K32 (B0,D3)", "x": 2.75, "y": 3.25 },
|
||||
{ "label": "K33 (B0,D5)", "x": 3.75, "y": 3.25 },
|
||||
{ "label": "K34 (B0,D4)", "x": 4.75, "y": 3.25 },
|
||||
{ "label": "K35 (B0,D6)", "x": 5.75, "y": 3.25 },
|
||||
{ "label": "K36 (B0,D7)", "x": 6.75, "y": 3.25 },
|
||||
{ "label": "K37 (B0,B4)", "x": 7.75, "y": 3.25 },
|
||||
{ "label": "K38 (B0,B5)", "x": 8.75, "y": 3.25 },
|
||||
{ "label": "K39 (B0,B6)", "x": 9.75, "y": 3.25 },
|
||||
{ "label": "K3A (B0,C6)", "x": 10.75, "y": 3.25 },
|
||||
{ "label": "K3B (B0,C7)", "x": 11.75, "y": 3.25 },
|
||||
{ "label": "K3D (B0,F1)", "x": 12.75, "y": 3.25, "w": 2.25 },
|
||||
{ "label": "K3E (B0,F4)", "x": 15, "y": 3.25 },
|
||||
{ "label": "K40 (F6,D1)", "x": 0, "y": 4.25, "w": 2.25 },
|
||||
{ "label": "K41 (F6,D2)", "x": 2.25, "y": 4.25 },
|
||||
{ "label": "K42 (F6,D3)", "x": 3.25, "y": 4.25 },
|
||||
{ "label": "K43 (F6,D5)", "x": 4.25, "y": 4.25 },
|
||||
{ "label": "K44 (F6,D4)", "x": 5.25, "y": 4.25 },
|
||||
{ "label": "K45 (F6,D6)", "x": 6.25, "y": 4.25 },
|
||||
{ "label": "K46 (F6,D7)", "x": 7.25, "y": 4.25 },
|
||||
{ "label": "K47 (F6,B4)", "x": 8.25, "y": 4.25 },
|
||||
{ "label": "K48 (F6,B5)", "x": 9.25, "y": 4.25 },
|
||||
{ "label": "K49 (F6,B6)", "x": 10.25, "y": 4.25 },
|
||||
{ "label": "K4A (F6,C6)", "x": 11.25, "y": 4.25 },
|
||||
{ "label": "K4B (F6,C7)", "x": 12.25, "y": 4.25, "w": 1.75 },
|
||||
{ "label": "K4D (F6,F1)", "x": 14, "y": 4.25 },
|
||||
{ "label": "K4E (F6,F4)", "x": 15, "y": 4.25 },
|
||||
{ "label": "K50 (B7,D1)", "x": 0, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "K51 (B7,D2)", "x": 1.25, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "K52 (B7,D3)", "x": 2.5, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "K55 (B7,D6)", "x": 3.75, "y": 5.25, "w": 6.25 },
|
||||
{ "label": "K5A (B7,C6)", "x": 10, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "K5B (B7,C7)", "x": 11.25, "y": 5.25, "w": 1.25 },
|
||||
{ "label": "K5C (B7,F5)", "x": 13, "y": 5.25 },
|
||||
{ "label": "K5D (B7,F1)", "x": 14, "y": 5.25 },
|
||||
{ "label": "K5E (B7,F4)", "x": 15, "y": 5.25 }
|
||||
]
|
||||
}
|
||||
}
|
||||
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
// Copyright 2022 peepeetee (@peepeetee)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
[1] = LAYOUT(
|
||||
RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
# The default keymap for infinity81
|
||||
@@ -0,0 +1,27 @@
|
||||
# infinity81
|
||||
|
||||

|
||||
|
||||
A per key RGB 75% with blocker keyboard
|
||||
|
||||
* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee)
|
||||
* Hardware Supported: infinity81
|
||||
* Hardware Availability: no longer avaliable - future groupbuy possible
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make ada/infinity81:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make ada/infinity81:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
|
||||
@@ -0,0 +1,18 @@
|
||||
# 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 = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#define VENDOR_ID 0xBEEF
|
||||
#define PRODUCT_ID 0x0003
|
||||
#define VENDOR_ID 0x1209
|
||||
#define PRODUCT_ID 0x2925
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER DanNixon
|
||||
#define PRODUCT Aya
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
// Copyright 2022 Cole Smith <[email protected]>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#define VENDOR_ID 0x4273
|
||||
#define PRODUCT_ID 0x7685
|
||||
#define DEVICE_VER 0x0000
|
||||
#define MANUFACTURER Boardsource
|
||||
#define PRODUCT lulu
|
||||
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 6
|
||||
#define MATRIX_ROW_PINS {C6, D7, E6, B4, B5}
|
||||
|
||||
// wiring of each half
|
||||
#define MATRIX_COL_PINS {F6, F7, B1, B3, B2, B6}
|
||||
#define USE_SERIAL
|
||||
#define SOFT_SERIAL_PIN D2
|
||||
#define SPLIT_USB_DETECT
|
||||
#define RGB_DI_PIN D3
|
||||
|
||||
#define ENCODERS_PAD_A { F0 }
|
||||
#define ENCODERS_PAD_B { F1 }
|
||||
#define ENCODERS_PAD_A_RIGHT { F0 }
|
||||
#define ENCODERS_PAD_B_RIGHT { F1 }
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
|
||||
#define RGBLED_NUM 70 // Number of LEDs
|
||||
#define DRIVER_LED_TOTAL RGBLED_NUM
|
||||
#define RGB_MATRIX_SPLIT { 35, 35 }
|
||||
#define SPLIT_TRANSPORT_MIRROR
|
||||
#define RGBLIGHT_LIMIT_VAL 150
|
||||
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
#define ENABLE_RGB_MATRIX_BREATHING
|
||||
#define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
#define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"keyboard_name": "Lulu",
|
||||
"url": "https://boardsource.xyz/store/61d0b772319a1f3cc53ba2fb",
|
||||
"maintainer": "boardsource",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.5}, {"x":1, "y":0.375}, {"x":2, "y":0.125}, {"x":3, "y":0}, {"x":4, "y":0.125}, {"x":5, "y":0.25}, {"x":10.5, "y":0.25}, {"x":11.5, "y":0.125}, {"x":12.5, "y":0}, {"x":13.5, "y":0.125}, {"x":14.5, "y":0.375}, {"x":15.5, "y":0.5},
|
||||
{"x":0, "y":1.5}, {"x":1, "y":1.375}, {"x":2, "y":1.125}, {"x":3, "y":1}, {"x":4, "y":1.125}, {"x":5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.125}, {"x":12.5, "y":1}, {"x":13.5, "y":1.125}, {"x":14.5, "y":1.375}, {"x":15.5, "y":1.5},
|
||||
{"x":0, "y":2.5}, {"x":1, "y":2.375}, {"x":2, "y":2.125}, {"x":3, "y":2}, {"x":4, "y":2.125}, {"x":5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.125}, {"x":12.5, "y":2}, {"x":13.5, "y":2.125}, {"x":14.5, "y":2.375}, {"x":15.5, "y":2.5},
|
||||
{"x":0, "y":3.5}, {"x":1, "y":3.375}, {"x":2, "y":3.125}, {"x":3, "y":3}, {"x":4, "y":3.125}, {"x":5, "y":3.25}, {"x":6, "y":2.75}, {"x":9.5, "y":2.75}, {"x":10.5, "y":3.25}, {"x":11.5, "y":3.125}, {"x":12.5, "y":3}, {"x":13.5, "y":3.125}, {"x":14.5, "y":3.375}, {"x":15.5, "y":3.5},
|
||||
{"x":2.5, "y":4.125}, {"x":3.5, "y":4.15}, {"x":4.5, "y":4.25}, {"x":6, "y":4.25, "h":1.5}, {"x":9.5, "y":4.25, "h":1.5}, {"x":11, "y":4.25}, {"x":12, "y":4.15}, {"x":13, "y":4.15}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
// Copyright 2022 Cole Smith <[email protected]>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_RAISE,
|
||||
_LOWER,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define RAISE MO(_RAISE)
|
||||
#define LOWER MO(_LOWER)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* QWERTY
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
|
||||
[_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_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI
|
||||
),
|
||||
/* LOWER
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | _ | + | { | } | | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_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_F12,
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* RAISE
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* |MOD | MODR | S+ | S- | B+ | B- | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* |------+------+------+------+------+------|RGB_TOG| | ] |------+------+------+------+------+------|
|
||||
* | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
RGB_MOD, RGB_RMOD,RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* ADJUST
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
|
||||
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) {
|
||||
// Volume control
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
} else if (index == 1) {
|
||||
// Page up/Page down
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGDN);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,105 @@
|
||||
// Copyright 2022 Cole Smith <[email protected]>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_RAISE,
|
||||
_LOWER,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define RAISE MO(_RAISE)
|
||||
#define LOWER MO(_LOWER)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* QWERTY
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
|
||||
[_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_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
|
||||
KC_LCTRL, 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_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI
|
||||
),
|
||||
/* LOWER
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
|
||||
* |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | _ | + | { | } | | |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_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_F12,
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* RAISE
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* |MOD | MODR | S+ | S- | B+ | B- | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
|
||||
* |------+------+------+------+------+------|RGB_TOG| | ] |------+------+------+------+------+------|
|
||||
* | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
RGB_MOD, RGB_RMOD,RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
/* ADJUST
|
||||
* ,-----------------------------------------. ,-----------------------------------------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||
* | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
|
||||
* |------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||
* | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
|
||||
* `-----------------------------------------/ / \ \-----------------------------------------'
|
||||
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
|
||||
* | | | |/ / \ \ | | | |
|
||||
* `----------------------------' '------''--------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
@@ -0,0 +1,280 @@
|
||||
// Copyright 2022 Cole Smith <[email protected]>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "lulu.h"
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
{12,11,10,9 ,8 ,7 },
|
||||
{18,17,16,15,14,13},
|
||||
{24,23,22,21,20,19},
|
||||
{30,29,28,27,26,25},
|
||||
{NO_LED,35,34,33,32,31},
|
||||
{42,43,44,45,46,47},
|
||||
{48,49,50,51,52,53},
|
||||
{54,55,56,57,58,59},
|
||||
{60,61,62,63,64,65},
|
||||
{NO_LED,66,67,68,69,70}
|
||||
},{
|
||||
|
||||
{86,55},{51,55},{17,40},{17,10},{51,10},{86,10},
|
||||
{0,0}, {17,0}, {34,0}, {51,0}, {68,0}, {86,0},
|
||||
{0,16},{17,16},{34,16},{51,16},{68,16},{86,16},
|
||||
{0,32},{17,32},{34,32},{51,32},{68,32},{86,32},
|
||||
{0,48},{17,48},{34,48},{51,48},{68,48},{86,48},{103,48},
|
||||
{34,64},{51,64},{68,64},{86,64},
|
||||
|
||||
|
||||
{137,55},{172,55},{206,40},{206,10},{172,10},{137,10},
|
||||
{137,0}, {155,0}, {172,0}, {189,0}, {206,0}, {224,0},
|
||||
{137,16},{155,16},{172,16},{189,16},{206,16},{224,16},
|
||||
{137,32},{155,32},{172,32},{189,32},{206,32},{224,32},
|
||||
{137,48},{155,48},{172,48},{189,48},{155,48},{137,48},{120,48},
|
||||
{172,64},{189,64},{155,64},{137,64}
|
||||
},{2,2,2,2,2,2,
|
||||
4,4,4,4,4,1,
|
||||
1,4,4,4,4,4,
|
||||
4,4,4,4,4,1,
|
||||
1,4,4,4,4,4,
|
||||
1,4,1,1,1,
|
||||
2,2,2,2,2,2,
|
||||
4,4,4,4,4,1,
|
||||
1,4,4,4,4,4,
|
||||
4,4,4,4,4,1,
|
||||
1,4,4,4,4,4,
|
||||
1,4,1,1,1
|
||||
}};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||
if (!is_keyboard_master()) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
||||
void render_layer1_logo(void){
|
||||
static const char PROGMEM layer_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
|
||||
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
|
||||
0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
|
||||
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, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
|
||||
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
|
||||
0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
|
||||
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
oled_write_raw_P(layer_logo, sizeof(layer_logo));
|
||||
}
|
||||
void render_layer2_logo(void){
|
||||
static const char PROGMEM layer_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
|
||||
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
|
||||
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, 0x00, 0x0f,
|
||||
0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
|
||||
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
|
||||
0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
|
||||
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
|
||||
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
|
||||
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
oled_write_raw_P(layer_logo, sizeof(layer_logo));
|
||||
}
|
||||
void render_layer3_logo(void){
|
||||
static const char PROGMEM layer_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
|
||||
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
|
||||
0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
|
||||
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
|
||||
0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
|
||||
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
oled_write_raw_P(layer_logo, sizeof(layer_logo));
|
||||
}
|
||||
void render_layer4_logo(void){
|
||||
static const char PROGMEM layer_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
|
||||
0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 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, 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, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
|
||||
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, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
|
||||
0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
|
||||
0x07, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
|
||||
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
oled_write_raw_P(layer_logo, sizeof(layer_logo));
|
||||
}
|
||||
|
||||
void render_logo(void) {
|
||||
static const char PROGMEM logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60,
|
||||
0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
|
||||
0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0,
|
||||
0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
|
||||
0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
|
||||
0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01,
|
||||
0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03,
|
||||
0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
oled_write_raw_P(logo, sizeof(logo));
|
||||
}
|
||||
enum Layers{
|
||||
_QWERTY,
|
||||
_RAISE,
|
||||
_LOWER,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
void process_layer_state(void) {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _QWERTY:
|
||||
render_layer1_logo();
|
||||
break;
|
||||
case _LOWER:
|
||||
render_layer2_logo();
|
||||
break;
|
||||
case _RAISE:
|
||||
render_layer3_logo();
|
||||
break;
|
||||
case _ADJUST:
|
||||
render_layer4_logo();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) { return false; }
|
||||
if (is_keyboard_master()) {
|
||||
process_layer_state();
|
||||
} else {
|
||||
render_logo();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
// Copyright 2022 Cole Smith <[email protected]>
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
#include "split_util.h"
|
||||
#define has_usb() is_keyboard_master()
|
||||
#define is_master is_keyboard_master()
|
||||
#define LAYOUT( \
|
||||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
|
||||
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
|
||||
L30, L31, L32, L33, L34, L35, L45, R40, R30, R31, R32, R33, R34, R35, \
|
||||
L41, L42, L43, L44, R41, R42, R43, R44 \
|
||||
) \
|
||||
{ \
|
||||
{ L00, L01, L02, L03, L04, L05 }, \
|
||||
{ L10, L11, L12, L13, L14, L15 }, \
|
||||
{ L20, L21, L22, L23, L24, L25 }, \
|
||||
{ L30, L31, L32, L33, L34, L35 }, \
|
||||
{ KC_NO, L41, L42, L43, L44, L45 }, \
|
||||
{ R05, R04, R03, R02, R01, R00 }, \
|
||||
{ R15, R14, R13, R12, R11, R10 }, \
|
||||
{ R25, R24, R23, R22, R21, R20 }, \
|
||||
{ R35, R34, R33, R32, R31, R30 }, \
|
||||
{ KC_NO, R44, R43, R42, R41, R40 } \
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# Lulu
|
||||
|
||||

|
||||
|
||||
The lulu is what the ergo community has needed for a long time, a high-end aesthetic split ergo 60%. With this project we not only tried to create a beautiful product but we also wanted to unify the some what split 60% community. With hotswap, per key rgb & underglow, swappable encoder and adjustable tenting with out giving up anything.
|
||||
|
||||
|
||||
* Keyboard Maintainer: [Boardsource](https://github.com/daysgobye)
|
||||
* Hardware Supported: lulu v1
|
||||
* Hardware Availability: this keyboard is available from the [Boardsource store](https://boardsource.xyz/store/61d0b772319a1f3cc53ba2fb)
|
||||
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make boardsource/lulu:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make boardsource/lulu:default:flash
|
||||
|
||||
Reset keyboard by holding down top left key while you plug in the usb cable. Or by pushing the reset switch on the pcb.
|
||||
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
@@ -0,0 +1,26 @@
|
||||
# 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 = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
SPLIT_KEYBOARD = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
RGB_MATRIX_SUPPORTED = yes
|
||||
OLED_ENABLE = yes
|
||||
OLED_DRIVER = SSD1306
|
||||
LTO_ENABLE = yes
|
||||
ENCODER_ENABLE = yes
|
||||
@@ -10,7 +10,7 @@
|
||||
"backlight": true,
|
||||
"bluetooth": false,
|
||||
"bootmagic": false,
|
||||
"command": true,
|
||||
"command": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"lto": true,
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
MOUSEKEY_ENABLE = no
|
||||
EXTRAKEY_ENABLE = no
|
||||
NKRO_ENABLE = yes
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
AUDIO_ENABLE = no
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
MOUSEKEY_ENABLE = no
|
||||
EXTRAKEY_ENABLE = no
|
||||
NKRO_ENABLE = yes
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
AUDIO_ENABLE = no
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"keyboard_name": "cmm.studio fuji65",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"maintainer": "CMMS-Freather",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
@@ -20,7 +20,7 @@
|
||||
{ "label": "K0C (B5,D2)", "x": 12, "y": 0 },
|
||||
{ "label": "K0D (B5,D1)", "x": 13, "y": 0 },
|
||||
{ "label": "K0E (B5,D0)", "x": 14, "y": 0 },
|
||||
{ "label": "K10 (B4,F7)", "x": 0, "y": 1 },
|
||||
{ "label": "K10 (B4,F7)", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "K11 (B4,F6)", "x": 1.5, "y": 1 },
|
||||
{ "label": "K12 (B4,F5)", "x": 2.5, "y": 1 },
|
||||
{ "label": "K13 (B4,F4)", "x": 3.5, "y": 1 },
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
/* Copyright 2022 Tim (https://github.com/Timliuzhaolu)
|
||||
*
|
||||
* 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 0xFEED
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER creatkeebs
|
||||
#define PRODUCT glacier
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 17
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS { F0, F1, F4, E6, F5, D0 }
|
||||
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, F6, B0, B6, C6, C7, B1, B2, B3, B7, D3, D2, D1 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* number of backlight levels */
|
||||
|
||||
#ifdef BACKLIGHT_PIN
|
||||
#define BACKLIGHT_LEVELS 0
|
||||
#endif
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLED_NUM 0
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#endif
|
||||
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2022 Tim (https://github.com/Timliuzhaolu)
|
||||
*
|
||||
* 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 "glacier.h"
|
||||
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2022 Tim (https://github.com/Timliuzhaolu)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K315, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
||||
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K415, \
|
||||
K500, K501, K502, K505, K510, K511, K513, K514, K515, K516 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 K115, K116 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 K215, K216 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, KC_NO KC_NO, KC_NO }, \
|
||||
{ K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, KC_NO K415, KC_NO }, \
|
||||
{ K500, K501, K502, KC_NO, KC_NO, K505, KC_NO, KC_NO, KC_NO, KC_NO, K510, K511, KC_NO, K513, K514 K515, K516 } \
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
{
|
||||
"keyboard_name": "glacier",
|
||||
"url": "",
|
||||
"maintainer": "Tim",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"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, "w":2},
|
||||
{"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":2.75},
|
||||
{"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}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/* Copyright 2022 Tim
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1,27 @@
|
||||
# glacier
|
||||
A 80% keyboard
|
||||
|
||||

|
||||
|
||||
### Features
|
||||
* PCB gasket
|
||||
* Nickel-cobalt weight
|
||||
|
||||
### Additional Information
|
||||
* Keyboard Maintainer: [Tim](https://github.com/Timliuzhaolu/qmk_firmware)
|
||||
* Hardware Supported: glacier PCB
|
||||
* Hardware Availability: [ESCHIT.com](https://eschit.com/products/gb-thera75)
|
||||
|
||||
### Entering Bootloader
|
||||
|
||||
Enter the bootloader in 2 ways:
|
||||
|
||||
* Physical reset button: Press the `RESET` button on the back of the PCB.
|
||||
* Keycode in layout: Press the key mapped to `RESET` if it is available.
|
||||
|
||||
### Building the Firmware
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make creatkeebs/glacier:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
@@ -0,0 +1,18 @@
|
||||
# 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 = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no # Enable keyboard RGB underglow
|
||||
RGBLIGHT_ENABLE = no # Audio output
|
||||
@@ -24,6 +24,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
|
||||
#define SPLIT_WPM_ENABLE
|
||||
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
@@ -54,4 +57,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#define NO_ACTION_ONESHOT
|
||||
// Size optimisations END
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -249,7 +249,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
|
||||
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
#ifdef OLED_ENABLE
|
||||
// #include <stdio.h>
|
||||
|
||||
// bongo cat
|
||||
|
||||
@@ -55,7 +55,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// #define BACKLIGHT_LEVELS 3
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
#define DEBOUNCE 0
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
@@ -419,7 +419,7 @@ static void unselect_cols(void)
|
||||
|
||||
// Complete rows from other modules over i2c
|
||||
i2c_status_t i2c_transaction(uint8_t address, uint32_t mask, uint8_t col_offset) {
|
||||
i2c_status_t status = i2c_start(address, 50);
|
||||
i2c_status_t status = i2c_start(address, 5);
|
||||
if (status < 0) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,87 @@
|
||||
{
|
||||
"keyboard_name": "Demiurge",
|
||||
"url": "",
|
||||
"maintainer": "ojthetiny",
|
||||
"keyboard_name": "Demiurge",
|
||||
"url": "",
|
||||
"maintainer": "ojthetiny",
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [{"label":"F1", "x":0, "y":0}, {"label":"F2", "x":1, "y":0}, {"label":"Esc", "x":2.5, "y":0}, {"label":"!", "x":3.5, "y":0}, {"label":"@", "x":4.5, "y":0}, {"label":"#", "x":5.5, "y":0}, {"label":"$", "x":6.5, "y":0}, {"label":"%", "x":7.5, "y":0}, {"label":"^", "x":8.5, "y":0}, {"label":"&", "x":9.5, "y":0}, {"label":"*", "x":10.5, "y":0}, {"label":"(", "x":11.5, "y":0}, {"label":")", "x":12.5, "y":0}, {"label":"_", "x":13.5, "y":0}, {"label":"+", "x":14.5, "y":0}, {"label":"|", "x":15.5, "y":0}, {"label":"Backspace", "x":15.5, "y":0, "w":2}, {"label":"Del", "x":16.5, "y":0}, {"label":"F3", "x":0, "y":1}, {"label":"F4", "x":1, "y":1}, {"label":"Tab", "x":2.5, "y":1, "w":1.5}, {"label":"Q", "x":4, "y":1}, {"label":"W", "x":5, "y":1}, {"label":"E", "x":6, "y":1}, {"label":"R", "x":7, "y":1}, {"label":"T", "x":8, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15, "y":1}, {"label":"Backspace", "x":16, "y":1, "w":1.5}, {"label":"F5", "x":0, "y":2}, {"label":"F6", "x":1, "y":2}, {"label":"Caps Lock", "x":2.5, "y":2, "w":1.75}, {"label":"A", "x":4.25, "y":2}, {"label":"S", "x":5.25, "y":2}, {"label":"D", "x":6.25, "y":2}, {"label":"F", "x":7.25, "y":2}, {"label":"G", "x":8.25, "y":2}, {"label":"H", "x":9.25, "y":2}, {"label":"J", "x":10.25, "y":2}, {"label":"K", "x":11.25, "y":2}, {"label":"L", "x":12.25, "y":2}, {"label":":", "x":13.25, "y":2}, {"label":"\"", "x":14.25, "y":2}, {"label":"Enter", "x":15.25, "y":2, "w":2.25}, {"label":"F7", "x":0, "y":3}, {"label":"F8", "x":1, "y":3}, {"label":"Shift", "x":2.5, "y":3, "w":2.25}, {"label":"Z", "x":4.75, "y":3}, {"label":"X", "x":5.75, "y":3}, {"label":"C", "x":6.75, "y":3}, {"label":"V", "x":7.75, "y":3}, {"label":"B", "x":8.75, "y":3}, {"label":"N", "x":9.75, "y":3}, {"label":"M", "x":10.75, "y":3}, {"label":"<", "x":11.75, "y":3}, {"label":">", "x":12.75, "y":3}, {"label":"?", "x":13.75, "y":3}, {"label":"Shift", "x":14.75, "y":3, "w":1.75}, {"label":"Shift", "x":14.75, "y":3, "w":2.75}, {"label":"Fn", "x":16.5, "y":3}, {"label":"F9", "x":0, "y":4}, {"label":"F10", "x":1, "y":4}, {"label":"Ctrl", "x":2.5, "y":4, "w":1.5}, {"label":"Alt", "x":5, "y":4, "w":1.5}, {"x":6.5, "y":4, "w":7}, {"label":"Alt", "x":13.5, "y":4, "w":1.5}, {"label":"Ctrl", "x":16, "y":4, "w":1.5}]
|
||||
"layout": [
|
||||
{"label":"F1", "x":0, "y":0},
|
||||
{"label":"F2", "x":1, "y":0},
|
||||
{"label":"Esc", "x":2.5, "y":0},
|
||||
{"label":"1!", "x":3.5, "y":0},
|
||||
{"label":"2@", "x":4.5, "y":0},
|
||||
{"label":"3#", "x":5.5, "y":0},
|
||||
{"label":"4$", "x":6.5, "y":0},
|
||||
{"label":"5%", "x":7.5, "y":0},
|
||||
{"label":"6^", "x":8.5, "y":0},
|
||||
{"label":"7&", "x":9.5, "y":0},
|
||||
{"label":"8*", "x":10.5, "y":0},
|
||||
{"label":"9(", "x":11.5, "y":0},
|
||||
{"label":"0)", "x":12.5, "y":0},
|
||||
{"label":"-_", "x":13.5, "y":0},
|
||||
{"label":"=+", "x":14.5, "y":0},
|
||||
{"label":"Backspace", "x":15.5, "y":0},
|
||||
{"label":"Del", "x":16.5, "y":0},
|
||||
|
||||
{"label":"F3", "x":0, "y":1},
|
||||
{"label":"F4", "x":1, "y":1},
|
||||
{"label":"Tab", "x":2.5, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":4, "y":1},
|
||||
{"label":"W", "x":5, "y":1},
|
||||
{"label":"E", "x":6, "y":1},
|
||||
{"label":"R", "x":7, "y":1},
|
||||
{"label":"T", "x":8, "y":1},
|
||||
{"label":"Y", "x":9, "y":1},
|
||||
{"label":"U", "x":10, "y":1},
|
||||
{"label":"I", "x":11, "y":1},
|
||||
{"label":"O", "x":12, "y":1},
|
||||
{"label":"P", "x":13, "y":1},
|
||||
{"label":"[{", "x":14, "y":1},
|
||||
{"label":"]}", "x":15, "y":1},
|
||||
{"label":"\\|", "x":16, "y":1, "w":1.5},
|
||||
|
||||
{"label":"F5", "x":0, "y":2},
|
||||
{"label":"F6", "x":1, "y":2},
|
||||
{"label":"Caps Lock", "x":2.5, "y":2, "w":1.75},
|
||||
{"label":"A", "x":4.25, "y":2},
|
||||
{"label":"S", "x":5.25, "y":2},
|
||||
{"label":"D", "x":6.25, "y":2},
|
||||
{"label":"F", "x":7.25, "y":2},
|
||||
{"label":"G", "x":8.25, "y":2},
|
||||
{"label":"H", "x":9.25, "y":2},
|
||||
{"label":"J", "x":10.25, "y":2},
|
||||
{"label":"K", "x":11.25, "y":2},
|
||||
{"label":"L", "x":12.25, "y":2},
|
||||
{"label":";:", "x":13.25, "y":2},
|
||||
{"label":"'\"", "x":14.25, "y":2},
|
||||
{"label":"Enter", "x":15.25, "y":2, "w":2.25},
|
||||
|
||||
{"label":"F7", "x":0, "y":3},
|
||||
{"label":"F8", "x":1, "y":3},
|
||||
{"label":"Shift", "x":2.5, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":4.75, "y":3},
|
||||
{"label":"X", "x":5.75, "y":3},
|
||||
{"label":"C", "x":6.75, "y":3},
|
||||
{"label":"V", "x":7.75, "y":3},
|
||||
{"label":"B", "x":8.75, "y":3},
|
||||
{"label":"N", "x":9.75, "y":3},
|
||||
{"label":"M", "x":10.75, "y":3},
|
||||
{"label":",<", "x":11.75, "y":3},
|
||||
{"label":".>", "x":12.75, "y":3},
|
||||
{"label":"/?", "x":13.75, "y":3},
|
||||
{"label":"Shift", "x":14.75, "y":3, "w":1.75},
|
||||
{"label":"Fn", "x":16.5, "y":3},
|
||||
|
||||
{"label":"F9", "x":0, "y":4},
|
||||
{"label":"F10", "x":1, "y":4},
|
||||
{"label":"Ctrl", "x":2.5, "y":4, "w":1.5},
|
||||
{"label":"GUI", "x":4, "y":4},
|
||||
{"label":"Alt", "x":5, "y":4, "w":1.5},
|
||||
{"label":"Space", "x":6.5, "y":4, "w":7},
|
||||
{"label":"Alt", "x":13.5, "y":4, "w":1.5},
|
||||
{"label":"GUI", "x":15, "y":4},
|
||||
{"label":"Ctrl", "x":16, "y":4, "w":1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
/* Copyright 2022 evan cook <[email protected]>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x636F
|
||||
#define PRODUCT_ID 0x0002
|
||||
#define DEVICE_VER 0x0000
|
||||
#define MANUFACTURER evancook.audio
|
||||
#define PRODUCT sleepingdinosaur
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 6
|
||||
|
||||
/* key matrix pins */
|
||||
|
||||
#define MATRIX_ROW_PINS {D0, D1, D4, C6, D7}
|
||||
#define MATRIX_COL_PINS {F4, F5, F6, F7, B1, B3}
|
||||
|
||||
#define UNUSED_PINS {B2, B6, B7, D5, C7, F1, F0, B4, E6}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"keyboard_name": "evancook.audio sleepingdinosaur",
|
||||
"url": "https://evancook.audio/",
|
||||
"maintainer": "evanmcook",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"1", "x":0, "y":0},
|
||||
{"label":"2", "x":1, "y":0},
|
||||
{"label":"3", "x":2, "y":0},
|
||||
{"label":"4", "x":3, "y":0},
|
||||
{"label":"5", "x":4, "y":0},
|
||||
{"label":"-", "x":5, "y":0},
|
||||
|
||||
{"label":"6", "x":0, "y":1},
|
||||
{"label":"7", "x":1, "y":1},
|
||||
{"label":"8", "x":2, "y":1},
|
||||
{"label":"9", "x":3, "y":1},
|
||||
{"label":"0", "x":4, "y":1},
|
||||
{"label":"R", "x":5, "y":1},
|
||||
|
||||
{"label":"/", "x":0, "y":2},
|
||||
{"label":"Q", "x":1, "y":2},
|
||||
{"label":"W", "x":2, "y":2},
|
||||
{"label":"E", "x":3, "y":2},
|
||||
{"label":"U", "x":4, "y":2},
|
||||
{"label":"V", "x":5, "y":2},
|
||||
|
||||
{"label":"Enter", "x":0, "y":3, "h":2},
|
||||
{"label":"A", "x":1, "y":3},
|
||||
{"label":"S", "x":2, "y":3},
|
||||
{"label":"D", "x":3, "y":3},
|
||||
{"label":"Space", "x":4, "y":3, "h":2},
|
||||
{"label":"O", "x":5, "y":3},
|
||||
|
||||
{"label":"Z", "x":1, "y":4},
|
||||
{"label":"X", "x":2, "y":4},
|
||||
{"label":"C", "x":3, "y":4},
|
||||
{"label":"N", "x":5, "y":4}
|
||||
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/* Copyright 2022 evan cook <[email protected]>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* LAYER 0
|
||||
* ,-----------------------------------------------.
|
||||
* | 1 | 2 | 3 | 4 | 5 | - |
|
||||
* |-------+-------+-------|-------|-------|-------|
|
||||
* | 6 | 7 | 8 | 9 | 0 | R |
|
||||
* |-------+-------+-------|-------|-------|-------|
|
||||
* | / | Q | W | E | U | V |
|
||||
* -------+-------+-------|-------|-------|-------|
|
||||
* | ENTER | A | S | D | SPACE | O |
|
||||
* | |-------+-------+-------| |-------|
|
||||
* | | Z | X | C | | N |
|
||||
* ,-----------------------------------------------.
|
||||
*/
|
||||
[0] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_R,
|
||||
KC_SLSH, KC_Q, KC_W, KC_E, KC_U, KC_V,
|
||||
KC_ENT, KC_A, KC_S, KC_D, KC_SPC, KC_O,
|
||||
KC_Z, KC_X, KC_C, KC_N
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
# tenpad macropad
|
||||
|
||||
A 28 button macropad, in a format that is closest to a 5x6 grid, designed by evan cook
|
||||
[Default Layout](https://raw.githubusercontent.com/evanmcook/sleepingdinosaur/main/images/layouts/sleepingdinosaurdefault.jpg)
|
||||
|
||||
* Keyboard Maintainer: [evan cook](https://github.com/evanmcook/)
|
||||
* Hardware Supported: sleepingdinosaur Macropad PCB
|
||||
* Hardware Availability: [tenpad Github](https://github.com/evanmcook/sleepingdinosaur)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make evancookaudio/sleepingdinosaur:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Enter the bootloader:
|
||||
* **Physical reset button**: On the underside of the board, near the USB connector and microcontroller, press and hold the small button labeled reset for more than one second to enter the bootloader.
|
||||
@@ -0,0 +1,18 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = no # 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
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2022 evan cook <[email protected]>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
#include "sleepingdinosaur.h"
|
||||
@@ -0,0 +1,41 @@
|
||||
/* Copyright 2022 evan cook <[email protected]>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* 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, k04, k05, \
|
||||
k06, k07, k08, k09, k10, k11, \
|
||||
k12, k13, k14, k15, k16, k17, \
|
||||
k18, k19, k20, k21, k22, k23, \
|
||||
k24, k25, k26, k27 \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03, k04, k05},\
|
||||
{k06, k07, k08, k09, k10, k11},\
|
||||
{k12, k13, k14, k15, k16, k17},\
|
||||
{k18, k19, k20, k21, k22, k23},\
|
||||
{KC_NO, k24, k25, k26, KC_NO, k27},\
|
||||
}
|
||||
@@ -1,31 +1,599 @@
|
||||
{
|
||||
"keyboard_name": "sprh",
|
||||
"url": "https://github.com/joedinkle/eyeohdesigns/tree/main/keyboards/sprh",
|
||||
"maintainer": "eye oh designs",
|
||||
"keyboard_name": "sprh",
|
||||
"url": "https://github.com/joedinkle/eyeohdesigns/tree/main/keyboards/sprh",
|
||||
"maintainer": "joedinkle",
|
||||
"layouts": {
|
||||
"LAYOUT_default": {
|
||||
"layout": [{"label":"Mute", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":6.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}]
|
||||
"LAYOUT_ac5": {
|
||||
"layout": [
|
||||
{"label":"Mute", "x":0.5, "y":0},
|
||||
{"label":"Esc", "x":1.5, "y":0},
|
||||
{"label":"1", "x":2.5, "y":0},
|
||||
{"label":"2", "x":3.5, "y":0},
|
||||
{"label":"3", "x":4.5, "y":0},
|
||||
{"label":"4", "x":5.5, "y":0},
|
||||
{"label":"5", "x":6.5, "y":0},
|
||||
{"label":"6", "x":7.5, "y":0},
|
||||
{"label":"7", "x":8.5, "y":0},
|
||||
{"label":"8", "x":9.5, "y":0},
|
||||
{"label":"9", "x":10.5, "y":0},
|
||||
{"label":"0", "x":11.5, "y":0},
|
||||
{"label":"_", "x":12.5, "y":0},
|
||||
{"label":"+", "x":13.5, "y":0},
|
||||
{"label":"Backspace", "x":14.5, "y":0, "w":2},
|
||||
|
||||
{"label":"Tab", "x":1, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":2.5, "y":1},
|
||||
{"label":"W", "x":3.5, "y":1},
|
||||
{"label":"E", "x":4.5, "y":1},
|
||||
{"label":"R", "x":5.5, "y":1},
|
||||
{"label":"T", "x":6.5, "y":1},
|
||||
{"label":"Y", "x":7.5, "y":1},
|
||||
{"label":"U", "x":8.5, "y":1},
|
||||
{"label":"I", "x":9.5, "y":1},
|
||||
{"label":"O", "x":10.5, "y":1},
|
||||
{"label":"P", "x":11.5, "y":1},
|
||||
{"label":"[", "x":12.5, "y":1},
|
||||
{"label":"]", "x":13.5, "y":1},
|
||||
{"label":"\\", "x":14.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0.75, "y":2, "w":1.75},
|
||||
{"label":"A", "x":2.5, "y":2},
|
||||
{"label":"S", "x":3.5, "y":2},
|
||||
{"label":"D", "x":4.5, "y":2},
|
||||
{"label":"F", "x":5.5, "y":2},
|
||||
{"label":"G", "x":6.5, "y":2},
|
||||
{"label":"H", "x":7.5, "y":2},
|
||||
{"label":"J", "x":8.5, "y":2},
|
||||
{"label":"K", "x":9.5, "y":2},
|
||||
{"label":"L", "x":10.5, "y":2},
|
||||
{"label":";", "x":11.5, "y":2},
|
||||
{"label":"'", "x":12.5, "y":2},
|
||||
{"label":"Enter", "x":13.5, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0.25, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.5, "y":3},
|
||||
{"label":"X", "x":3.5, "y":3},
|
||||
{"label":"C", "x":4.5, "y":3},
|
||||
{"label":"V", "x":5.5, "y":3},
|
||||
{"label":"B", "x":6.5, "y":3},
|
||||
{"label":"N", "x":7.5, "y":3},
|
||||
{"label":"M", "x":8.5, "y":3},
|
||||
{"label":",", "x":9.5, "y":3},
|
||||
{"label":".", "x":10.5, "y":3},
|
||||
{"label":"/", "x":11.5, "y":3},
|
||||
{"label":"Shift", "x":12.5, "y":3, "w":2.75},
|
||||
{"label":"\u2191", "x":15.25, "y":3},
|
||||
|
||||
{"label":"Super", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":3.37, "y":4, "w":1.25},
|
||||
{"x":4.62, "y":4, "w":6.25},
|
||||
{"label":"Alt", "x":10.87, "y":4, "w":1.25},
|
||||
{"label":"Function", "x":12.12, "y":4, "w":1.25},
|
||||
{"label":"\u2190", "x":14.25, "y":4},
|
||||
{"label":"\u2193", "x":15.25, "y":4},
|
||||
{"label":"\u2192", "x":16.25, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_acs": {
|
||||
"layout": [{"label":"Mute", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":2.75}, {"x":7.37, "y":4, "w":2.25}, {"x":9.62, "y":4, "w":1.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}]
|
||||
"layout": [
|
||||
{"label":"Mute", "x":0.5, "y":0},
|
||||
{"label":"Esc", "x":1.5, "y":0},
|
||||
{"label":"1", "x":2.5, "y":0},
|
||||
{"label":"2", "x":3.5, "y":0},
|
||||
{"label":"3", "x":4.5, "y":0},
|
||||
{"label":"4", "x":5.5, "y":0},
|
||||
{"label":"5", "x":6.5, "y":0},
|
||||
{"label":"6", "x":7.5, "y":0},
|
||||
{"label":"7", "x":8.5, "y":0},
|
||||
{"label":"8", "x":9.5, "y":0},
|
||||
{"label":"9", "x":10.5, "y":0},
|
||||
{"label":"0", "x":11.5, "y":0},
|
||||
{"label":"_", "x":12.5, "y":0},
|
||||
{"label":"+", "x":13.5, "y":0},
|
||||
{"label":"Backspace", "x":14.5, "y":0, "w":2},
|
||||
|
||||
{"label":"Tab", "x":1, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":2.5, "y":1},
|
||||
{"label":"W", "x":3.5, "y":1},
|
||||
{"label":"E", "x":4.5, "y":1},
|
||||
{"label":"R", "x":5.5, "y":1},
|
||||
{"label":"T", "x":6.5, "y":1},
|
||||
{"label":"Y", "x":7.5, "y":1},
|
||||
{"label":"U", "x":8.5, "y":1},
|
||||
{"label":"I", "x":9.5, "y":1},
|
||||
{"label":"O", "x":10.5, "y":1},
|
||||
{"label":"P", "x":11.5, "y":1},
|
||||
{"label":"[", "x":12.5, "y":1},
|
||||
{"label":"]", "x":13.5, "y":1},
|
||||
{"label":"\\", "x":14.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0.75, "y":2, "w":1.75},
|
||||
{"label":"A", "x":2.5, "y":2},
|
||||
{"label":"S", "x":3.5, "y":2},
|
||||
{"label":"D", "x":4.5, "y":2},
|
||||
{"label":"F", "x":5.5, "y":2},
|
||||
{"label":"G", "x":6.5, "y":2},
|
||||
{"label":"H", "x":7.5, "y":2},
|
||||
{"label":"J", "x":8.5, "y":2},
|
||||
{"label":"K", "x":9.5, "y":2},
|
||||
{"label":"L", "x":10.5, "y":2},
|
||||
{"label":";", "x":11.5, "y":2},
|
||||
{"label":"'", "x":12.5, "y":2},
|
||||
{"label":"Enter", "x":13.5, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0.25, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.5, "y":3},
|
||||
{"label":"X", "x":3.5, "y":3},
|
||||
{"label":"C", "x":4.5, "y":3},
|
||||
{"label":"V", "x":5.5, "y":3},
|
||||
{"label":"B", "x":6.5, "y":3},
|
||||
{"label":"N", "x":7.5, "y":3},
|
||||
{"label":"M", "x":8.5, "y":3},
|
||||
{"label":",", "x":9.5, "y":3},
|
||||
{"label":".", "x":10.5, "y":3},
|
||||
{"label":"/", "x":11.5, "y":3},
|
||||
{"label":"Shift", "x":12.5, "y":3, "w":2.75},
|
||||
{"label":"\u2191", "x":15.25, "y":3},
|
||||
|
||||
{"label":"Super", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":3.37, "y":4, "w":1.25},
|
||||
{"x":4.62, "y":4, "w":2.75},
|
||||
{"x":7.37, "y":4, "w":2.25},
|
||||
{"x":9.62, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":10.87, "y":4, "w":1.25},
|
||||
{"label":"Function", "x":12.12, "y":4, "w":1.25},
|
||||
{"label":"\u2190", "x":14.25, "y":4},
|
||||
{"label":"\u2193", "x":15.25, "y":4},
|
||||
{"label":"\u2192", "x":16.25, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ad5": {
|
||||
"layout": [{"label":"Mute", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":1.75}, {"label":"Fn", "x":14.25, "y":3}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":6.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}]
|
||||
"layout": [
|
||||
{"label":"Mute", "x":0.5, "y":0},
|
||||
{"label":"Esc", "x":1.5, "y":0},
|
||||
{"label":"1", "x":2.5, "y":0},
|
||||
{"label":"2", "x":3.5, "y":0},
|
||||
{"label":"3", "x":4.5, "y":0},
|
||||
{"label":"4", "x":5.5, "y":0},
|
||||
{"label":"5", "x":6.5, "y":0},
|
||||
{"label":"6", "x":7.5, "y":0},
|
||||
{"label":"7", "x":8.5, "y":0},
|
||||
{"label":"8", "x":9.5, "y":0},
|
||||
{"label":"9", "x":10.5, "y":0},
|
||||
{"label":"0", "x":11.5, "y":0},
|
||||
{"label":"_", "x":12.5, "y":0},
|
||||
{"label":"+", "x":13.5, "y":0},
|
||||
{"label":"Backspace", "x":14.5, "y":0, "w":2},
|
||||
|
||||
{"label":"Tab", "x":1, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":2.5, "y":1},
|
||||
{"label":"W", "x":3.5, "y":1},
|
||||
{"label":"E", "x":4.5, "y":1},
|
||||
{"label":"R", "x":5.5, "y":1},
|
||||
{"label":"T", "x":6.5, "y":1},
|
||||
{"label":"Y", "x":7.5, "y":1},
|
||||
{"label":"U", "x":8.5, "y":1},
|
||||
{"label":"I", "x":9.5, "y":1},
|
||||
{"label":"O", "x":10.5, "y":1},
|
||||
{"label":"P", "x":11.5, "y":1},
|
||||
{"label":"[", "x":12.5, "y":1},
|
||||
{"label":"]", "x":13.5, "y":1},
|
||||
{"label":"\\", "x":14.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0.75, "y":2, "w":1.75},
|
||||
{"label":"A", "x":2.5, "y":2},
|
||||
{"label":"S", "x":3.5, "y":2},
|
||||
{"label":"D", "x":4.5, "y":2},
|
||||
{"label":"F", "x":5.5, "y":2},
|
||||
{"label":"G", "x":6.5, "y":2},
|
||||
{"label":"H", "x":7.5, "y":2},
|
||||
{"label":"J", "x":8.5, "y":2},
|
||||
{"label":"K", "x":9.5, "y":2},
|
||||
{"label":"L", "x":10.5, "y":2},
|
||||
{"label":";", "x":11.5, "y":2},
|
||||
{"label":"'", "x":12.5, "y":2},
|
||||
{"label":"Enter", "x":13.5, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0.25, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.5, "y":3},
|
||||
{"label":"X", "x":3.5, "y":3},
|
||||
{"label":"C", "x":4.5, "y":3},
|
||||
{"label":"V", "x":5.5, "y":3},
|
||||
{"label":"B", "x":6.5, "y":3},
|
||||
{"label":"N", "x":7.5, "y":3},
|
||||
{"label":"M", "x":8.5, "y":3},
|
||||
{"label":",", "x":9.5, "y":3},
|
||||
{"label":".", "x":10.5, "y":3},
|
||||
{"label":"/", "x":11.5, "y":3},
|
||||
{"label":"Shift", "x":12.5, "y":3, "w":1.75},
|
||||
{"label":"Fn", "x":14.25, "y":3},
|
||||
{"label":"\u2191", "x":15.25, "y":3},
|
||||
|
||||
{"label":"Super", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":3.37, "y":4, "w":1.25},
|
||||
{"x":4.62, "y":4, "w":6.25},
|
||||
{"label":"Alt", "x":10.87, "y":4, "w":1.25},
|
||||
{"label":"Function", "x":12.12, "y":4, "w":1.25},
|
||||
{"label":"\u2190", "x":14.25, "y":4},
|
||||
{"label":"\u2193", "x":15.25, "y":4},
|
||||
{"label":"\u2192", "x":16.25, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ads": {
|
||||
"layout": [{"label":"Mute", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":1.75}, {"label":"Fn", "x":14.25, "y":3}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":2.75}, {"x":7.37, "y":4, "w":2.25}, {"x":9.62, "y":4, "w":1.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}]
|
||||
"layout": [
|
||||
{"label":"Mute", "x":0.5, "y":0},
|
||||
{"label":"Esc", "x":1.5, "y":0},
|
||||
{"label":"1", "x":2.5, "y":0},
|
||||
{"label":"2", "x":3.5, "y":0},
|
||||
{"label":"3", "x":4.5, "y":0},
|
||||
{"label":"4", "x":5.5, "y":0},
|
||||
{"label":"5", "x":6.5, "y":0},
|
||||
{"label":"6", "x":7.5, "y":0},
|
||||
{"label":"7", "x":8.5, "y":0},
|
||||
{"label":"8", "x":9.5, "y":0},
|
||||
{"label":"9", "x":10.5, "y":0},
|
||||
{"label":"0", "x":11.5, "y":0},
|
||||
{"label":"_", "x":12.5, "y":0},
|
||||
{"label":"+", "x":13.5, "y":0},
|
||||
{"label":"Backspace", "x":14.5, "y":0, "w":2},
|
||||
|
||||
{"label":"Tab", "x":1, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":2.5, "y":1},
|
||||
{"label":"W", "x":3.5, "y":1},
|
||||
{"label":"E", "x":4.5, "y":1},
|
||||
{"label":"R", "x":5.5, "y":1},
|
||||
{"label":"T", "x":6.5, "y":1},
|
||||
{"label":"Y", "x":7.5, "y":1},
|
||||
{"label":"U", "x":8.5, "y":1},
|
||||
{"label":"I", "x":9.5, "y":1},
|
||||
{"label":"O", "x":10.5, "y":1},
|
||||
{"label":"P", "x":11.5, "y":1},
|
||||
{"label":"[", "x":12.5, "y":1},
|
||||
{"label":"]", "x":13.5, "y":1},
|
||||
{"label":"\\", "x":14.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0.75, "y":2, "w":1.75},
|
||||
{"label":"A", "x":2.5, "y":2},
|
||||
{"label":"S", "x":3.5, "y":2},
|
||||
{"label":"D", "x":4.5, "y":2},
|
||||
{"label":"F", "x":5.5, "y":2},
|
||||
{"label":"G", "x":6.5, "y":2},
|
||||
{"label":"H", "x":7.5, "y":2},
|
||||
{"label":"J", "x":8.5, "y":2},
|
||||
{"label":"K", "x":9.5, "y":2},
|
||||
{"label":"L", "x":10.5, "y":2},
|
||||
{"label":";", "x":11.5, "y":2},
|
||||
{"label":"'", "x":12.5, "y":2},
|
||||
{"label":"Enter", "x":13.5, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0.25, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.5, "y":3},
|
||||
{"label":"X", "x":3.5, "y":3},
|
||||
{"label":"C", "x":4.5, "y":3},
|
||||
{"label":"V", "x":5.5, "y":3},
|
||||
{"label":"B", "x":6.5, "y":3},
|
||||
{"label":"N", "x":7.5, "y":3},
|
||||
{"label":"M", "x":8.5, "y":3},
|
||||
{"label":",", "x":9.5, "y":3},
|
||||
{"label":".", "x":10.5, "y":3},
|
||||
{"label":"/", "x":11.5, "y":3},
|
||||
{"label":"Shift", "x":12.5, "y":3, "w":1.75},
|
||||
{"label":"Fn", "x":14.25, "y":3},
|
||||
{"label":"\u2191", "x":15.25, "y":3},
|
||||
|
||||
{"label":"Super", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":3.37, "y":4, "w":1.25},
|
||||
{"x":4.62, "y":4, "w":2.75},
|
||||
{"x":7.37, "y":4, "w":2.25},
|
||||
{"x":9.62, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":10.87, "y":4, "w":1.25},
|
||||
{"label":"Function", "x":12.12, "y":4, "w":1.25},
|
||||
{"label":"\u2190", "x":14.25, "y":4},
|
||||
{"label":"\u2193", "x":15.25, "y":4},
|
||||
{"label":"\u2192", "x":16.25, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_bc5": {
|
||||
"layout": [{"label":"Mute", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"\u2190", "x":14.5, "y":0}, {"label":"Del", "x":15.5, "y":0}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":6.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}]
|
||||
"layout": [
|
||||
{"label":"Mute", "x":0.5, "y":0},
|
||||
{"label":"Esc", "x":1.5, "y":0},
|
||||
{"label":"1", "x":2.5, "y":0},
|
||||
{"label":"2", "x":3.5, "y":0},
|
||||
{"label":"3", "x":4.5, "y":0},
|
||||
{"label":"4", "x":5.5, "y":0},
|
||||
{"label":"5", "x":6.5, "y":0},
|
||||
{"label":"6", "x":7.5, "y":0},
|
||||
{"label":"7", "x":8.5, "y":0},
|
||||
{"label":"8", "x":9.5, "y":0},
|
||||
{"label":"9", "x":10.5, "y":0},
|
||||
{"label":"0", "x":11.5, "y":0},
|
||||
{"label":"_", "x":12.5, "y":0},
|
||||
{"label":"+", "x":13.5, "y":0},
|
||||
{"label":"\u2190", "x":14.5, "y":0},
|
||||
{"label":"Del", "x":15.5, "y":0},
|
||||
|
||||
{"label":"Tab", "x":1, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":2.5, "y":1},
|
||||
{"label":"W", "x":3.5, "y":1},
|
||||
{"label":"E", "x":4.5, "y":1},
|
||||
{"label":"R", "x":5.5, "y":1},
|
||||
{"label":"T", "x":6.5, "y":1},
|
||||
{"label":"Y", "x":7.5, "y":1},
|
||||
{"label":"U", "x":8.5, "y":1},
|
||||
{"label":"I", "x":9.5, "y":1},
|
||||
{"label":"O", "x":10.5, "y":1},
|
||||
{"label":"P", "x":11.5, "y":1},
|
||||
{"label":"[", "x":12.5, "y":1},
|
||||
{"label":"]", "x":13.5, "y":1},
|
||||
{"label":"\\", "x":14.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0.75, "y":2, "w":1.75},
|
||||
{"label":"A", "x":2.5, "y":2},
|
||||
{"label":"S", "x":3.5, "y":2},
|
||||
{"label":"D", "x":4.5, "y":2},
|
||||
{"label":"F", "x":5.5, "y":2},
|
||||
{"label":"G", "x":6.5, "y":2},
|
||||
{"label":"H", "x":7.5, "y":2},
|
||||
{"label":"J", "x":8.5, "y":2},
|
||||
{"label":"K", "x":9.5, "y":2},
|
||||
{"label":"L", "x":10.5, "y":2},
|
||||
{"label":";", "x":11.5, "y":2},
|
||||
{"label":"'", "x":12.5, "y":2},
|
||||
{"label":"Enter", "x":13.5, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0.25, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.5, "y":3},
|
||||
{"label":"X", "x":3.5, "y":3},
|
||||
{"label":"C", "x":4.5, "y":3},
|
||||
{"label":"V", "x":5.5, "y":3},
|
||||
{"label":"B", "x":6.5, "y":3},
|
||||
{"label":"N", "x":7.5, "y":3},
|
||||
{"label":"M", "x":8.5, "y":3},
|
||||
{"label":",", "x":9.5, "y":3},
|
||||
{"label":".", "x":10.5, "y":3},
|
||||
{"label":"/", "x":11.5, "y":3},
|
||||
{"label":"Shift", "x":12.5, "y":3, "w":2.75},
|
||||
{"label":"\u2191", "x":15.25, "y":3},
|
||||
|
||||
{"label":"Super", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":3.37, "y":4, "w":1.25},
|
||||
{"x":4.62, "y":4, "w":6.25},
|
||||
{"label":"Alt", "x":10.87, "y":4, "w":1.25},
|
||||
{"label":"Function", "x":12.12, "y":4, "w":1.25},
|
||||
{"label":"\u2190", "x":14.25, "y":4},
|
||||
{"label":"\u2193", "x":15.25, "y":4},
|
||||
{"label":"\u2192", "x":16.25, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_bcs": {
|
||||
"layout": [{"label":"Mute", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"\u2190", "x":14.5, "y":0}, {"label":"Del", "x":15.5, "y":0}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.75}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":2.75}, {"x":7.37, "y":4, "w":2.25}, {"x":9.62, "y":4, "w":1.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}]
|
||||
"layout": [
|
||||
{"label":"Mute", "x":0.5, "y":0},
|
||||
{"label":"Esc", "x":1.5, "y":0},
|
||||
{"label":"1", "x":2.5, "y":0},
|
||||
{"label":"2", "x":3.5, "y":0},
|
||||
{"label":"3", "x":4.5, "y":0},
|
||||
{"label":"4", "x":5.5, "y":0},
|
||||
{"label":"5", "x":6.5, "y":0},
|
||||
{"label":"6", "x":7.5, "y":0},
|
||||
{"label":"7", "x":8.5, "y":0},
|
||||
{"label":"8", "x":9.5, "y":0},
|
||||
{"label":"9", "x":10.5, "y":0},
|
||||
{"label":"0", "x":11.5, "y":0},
|
||||
{"label":"_", "x":12.5, "y":0},
|
||||
{"label":"+", "x":13.5, "y":0},
|
||||
{"label":"\u2190", "x":14.5, "y":0},
|
||||
{"label":"Del", "x":15.5, "y":0},
|
||||
|
||||
{"label":"Tab", "x":1, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":2.5, "y":1},
|
||||
{"label":"W", "x":3.5, "y":1},
|
||||
{"label":"E", "x":4.5, "y":1},
|
||||
{"label":"R", "x":5.5, "y":1},
|
||||
{"label":"T", "x":6.5, "y":1},
|
||||
{"label":"Y", "x":7.5, "y":1},
|
||||
{"label":"U", "x":8.5, "y":1},
|
||||
{"label":"I", "x":9.5, "y":1},
|
||||
{"label":"O", "x":10.5, "y":1},
|
||||
{"label":"P", "x":11.5, "y":1},
|
||||
{"label":"[", "x":12.5, "y":1},
|
||||
{"label":"]", "x":13.5, "y":1},
|
||||
{"label":"\\", "x":14.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0.75, "y":2, "w":1.75},
|
||||
{"label":"A", "x":2.5, "y":2},
|
||||
{"label":"S", "x":3.5, "y":2},
|
||||
{"label":"D", "x":4.5, "y":2},
|
||||
{"label":"F", "x":5.5, "y":2},
|
||||
{"label":"G", "x":6.5, "y":2},
|
||||
{"label":"H", "x":7.5, "y":2},
|
||||
{"label":"J", "x":8.5, "y":2},
|
||||
{"label":"K", "x":9.5, "y":2},
|
||||
{"label":"L", "x":10.5, "y":2},
|
||||
{"label":";", "x":11.5, "y":2},
|
||||
{"label":"'", "x":12.5, "y":2},
|
||||
{"label":"Enter", "x":13.5, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0.25, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.5, "y":3},
|
||||
{"label":"X", "x":3.5, "y":3},
|
||||
{"label":"C", "x":4.5, "y":3},
|
||||
{"label":"V", "x":5.5, "y":3},
|
||||
{"label":"B", "x":6.5, "y":3},
|
||||
{"label":"N", "x":7.5, "y":3},
|
||||
{"label":"M", "x":8.5, "y":3},
|
||||
{"label":",", "x":9.5, "y":3},
|
||||
{"label":".", "x":10.5, "y":3},
|
||||
{"label":"/", "x":11.5, "y":3},
|
||||
{"label":"Shift", "x":12.5, "y":3, "w":2.75},
|
||||
{"label":"\u2191", "x":15.25, "y":3},
|
||||
|
||||
{"label":"Super", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":3.37, "y":4, "w":1.25},
|
||||
{"x":4.62, "y":4, "w":2.75},
|
||||
{"x":7.37, "y":4, "w":2.25},
|
||||
{"x":9.62, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":10.87, "y":4, "w":1.25},
|
||||
{"label":"Function", "x":12.12, "y":4, "w":1.25},
|
||||
{"label":"\u2190", "x":14.25, "y":4},
|
||||
{"label":"\u2193", "x":15.25, "y":4},
|
||||
{"label":"\u2192", "x":16.25, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_bd5": {
|
||||
"layout": [{"label":"Mute", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"\u2190", "x":14.5, "y":0}, {"label":"Del", "x":15.5, "y":0}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":1.75}, {"label":"Fn", "x":14.25, "y":3}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":6.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}]
|
||||
"layout": [
|
||||
{"label":"Mute", "x":0.5, "y":0},
|
||||
{"label":"Esc", "x":1.5, "y":0},
|
||||
{"label":"1", "x":2.5, "y":0},
|
||||
{"label":"2", "x":3.5, "y":0},
|
||||
{"label":"3", "x":4.5, "y":0},
|
||||
{"label":"4", "x":5.5, "y":0},
|
||||
{"label":"5", "x":6.5, "y":0},
|
||||
{"label":"6", "x":7.5, "y":0},
|
||||
{"label":"7", "x":8.5, "y":0},
|
||||
{"label":"8", "x":9.5, "y":0},
|
||||
{"label":"9", "x":10.5, "y":0},
|
||||
{"label":"0", "x":11.5, "y":0},
|
||||
{"label":"_", "x":12.5, "y":0},
|
||||
{"label":"+", "x":13.5, "y":0},
|
||||
{"label":"\u2190", "x":14.5, "y":0},
|
||||
{"label":"Del", "x":15.5, "y":0},
|
||||
|
||||
{"label":"Tab", "x":1, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":2.5, "y":1},
|
||||
{"label":"W", "x":3.5, "y":1},
|
||||
{"label":"E", "x":4.5, "y":1},
|
||||
{"label":"R", "x":5.5, "y":1},
|
||||
{"label":"T", "x":6.5, "y":1},
|
||||
{"label":"Y", "x":7.5, "y":1},
|
||||
{"label":"U", "x":8.5, "y":1},
|
||||
{"label":"I", "x":9.5, "y":1},
|
||||
{"label":"O", "x":10.5, "y":1},
|
||||
{"label":"P", "x":11.5, "y":1},
|
||||
{"label":"[", "x":12.5, "y":1},
|
||||
{"label":"]", "x":13.5, "y":1},
|
||||
{"label":"\\", "x":14.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0.75, "y":2, "w":1.75},
|
||||
{"label":"A", "x":2.5, "y":2},
|
||||
{"label":"S", "x":3.5, "y":2},
|
||||
{"label":"D", "x":4.5, "y":2},
|
||||
{"label":"F", "x":5.5, "y":2},
|
||||
{"label":"G", "x":6.5, "y":2},
|
||||
{"label":"H", "x":7.5, "y":2},
|
||||
{"label":"J", "x":8.5, "y":2},
|
||||
{"label":"K", "x":9.5, "y":2},
|
||||
{"label":"L", "x":10.5, "y":2},
|
||||
{"label":";", "x":11.5, "y":2},
|
||||
{"label":"'", "x":12.5, "y":2},
|
||||
{"label":"Enter", "x":13.5, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0.25, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.5, "y":3},
|
||||
{"label":"X", "x":3.5, "y":3},
|
||||
{"label":"C", "x":4.5, "y":3},
|
||||
{"label":"V", "x":5.5, "y":3},
|
||||
{"label":"B", "x":6.5, "y":3},
|
||||
{"label":"N", "x":7.5, "y":3},
|
||||
{"label":"M", "x":8.5, "y":3},
|
||||
{"label":",", "x":9.5, "y":3},
|
||||
{"label":".", "x":10.5, "y":3},
|
||||
{"label":"/", "x":11.5, "y":3},
|
||||
{"label":"Shift", "x":12.5, "y":3, "w":1.75},
|
||||
{"label":"Fn", "x":14.25, "y":3},
|
||||
{"label":"\u2191", "x":15.25, "y":3},
|
||||
|
||||
{"label":"Super", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":3.37, "y":4, "w":1.25},
|
||||
{"x":4.62, "y":4, "w":6.25},
|
||||
{"label":"Alt", "x":10.87, "y":4, "w":1.25},
|
||||
{"label":"Function", "x":12.12, "y":4, "w":1.25},
|
||||
{"label":"\u2190", "x":14.25, "y":4},
|
||||
{"label":"\u2193", "x":15.25, "y":4},
|
||||
{"label":"\u2192", "x":16.25, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_bds": {
|
||||
"layout": [{"label":"Mute", "x":0.5, "y":0}, {"label":"Esc", "x":1.5, "y":0}, {"label":"1", "x":2.5, "y":0}, {"label":"2", "x":3.5, "y":0}, {"label":"3", "x":4.5, "y":0}, {"label":"4", "x":5.5, "y":0}, {"label":"5", "x":6.5, "y":0}, {"label":"6", "x":7.5, "y":0}, {"label":"7", "x":8.5, "y":0}, {"label":"8", "x":9.5, "y":0}, {"label":"9", "x":10.5, "y":0}, {"label":"0", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"\u2190", "x":14.5, "y":0}, {"label":"Del", "x":15.5, "y":0}, {"label":"Tab", "x":1, "y":1, "w":1.5}, {"label":"Q", "x":2.5, "y":1}, {"label":"W", "x":3.5, "y":1}, {"label":"E", "x":4.5, "y":1}, {"label":"R", "x":5.5, "y":1}, {"label":"T", "x":6.5, "y":1}, {"label":"Y", "x":7.5, "y":1}, {"label":"U", "x":8.5, "y":1}, {"label":"I", "x":9.5, "y":1}, {"label":"O", "x":10.5, "y":1}, {"label":"P", "x":11.5, "y":1}, {"label":"[", "x":12.5, "y":1}, {"label":"]", "x":13.5, "y":1}, {"label":"\\", "x":14.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0.75, "y":2, "w":1.75}, {"label":"A", "x":2.5, "y":2}, {"label":"S", "x":3.5, "y":2}, {"label":"D", "x":4.5, "y":2}, {"label":"F", "x":5.5, "y":2}, {"label":"G", "x":6.5, "y":2}, {"label":"H", "x":7.5, "y":2}, {"label":"J", "x":8.5, "y":2}, {"label":"K", "x":9.5, "y":2}, {"label":"L", "x":10.5, "y":2}, {"label":";", "x":11.5, "y":2}, {"label":"'", "x":12.5, "y":2}, {"label":"Enter", "x":13.5, "y":2, "w":2.25}, {"label":"Shift", "x":0.25, "y":3, "w":2.25}, {"label":"Z", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"M", "x":8.5, "y":3}, {"label":",", "x":9.5, "y":3}, {"label":".", "x":10.5, "y":3}, {"label":"/", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":1.75}, {"label":"Fn", "x":14.25, "y":3}, {"label":"\u2191", "x":15.25, "y":3}, {"label":"Super", "x":0, "y":4, "w":1.25}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.37, "y":4, "w":1.25}, {"x":4.62, "y":4, "w":2.75}, {"x":7.37, "y":4, "w":2.25}, {"x":9.62, "y":4, "w":1.25}, {"label":"Alt", "x":10.87, "y":4, "w":1.25}, {"label":"Function", "x":12.12, "y":4, "w":1.25}, {"label":"\u2190", "x":14.25, "y":4}, {"label":"\u2193", "x":15.25, "y":4}, {"label":"\u2192", "x":16.25, "y":4}]
|
||||
"layout": [
|
||||
{"label":"Mute", "x":0.5, "y":0},
|
||||
{"label":"Esc", "x":1.5, "y":0},
|
||||
{"label":"1", "x":2.5, "y":0},
|
||||
{"label":"2", "x":3.5, "y":0},
|
||||
{"label":"3", "x":4.5, "y":0},
|
||||
{"label":"4", "x":5.5, "y":0},
|
||||
{"label":"5", "x":6.5, "y":0},
|
||||
{"label":"6", "x":7.5, "y":0},
|
||||
{"label":"7", "x":8.5, "y":0},
|
||||
{"label":"8", "x":9.5, "y":0},
|
||||
{"label":"9", "x":10.5, "y":0},
|
||||
{"label":"0", "x":11.5, "y":0},
|
||||
{"label":"_", "x":12.5, "y":0},
|
||||
{"label":"+", "x":13.5, "y":0},
|
||||
{"label":"\u2190", "x":14.5, "y":0},
|
||||
{"label":"Del", "x":15.5, "y":0},
|
||||
|
||||
{"label":"Tab", "x":1, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":2.5, "y":1},
|
||||
{"label":"W", "x":3.5, "y":1},
|
||||
{"label":"E", "x":4.5, "y":1},
|
||||
{"label":"R", "x":5.5, "y":1},
|
||||
{"label":"T", "x":6.5, "y":1},
|
||||
{"label":"Y", "x":7.5, "y":1},
|
||||
{"label":"U", "x":8.5, "y":1},
|
||||
{"label":"I", "x":9.5, "y":1},
|
||||
{"label":"O", "x":10.5, "y":1},
|
||||
{"label":"P", "x":11.5, "y":1},
|
||||
{"label":"[", "x":12.5, "y":1},
|
||||
{"label":"]", "x":13.5, "y":1},
|
||||
{"label":"\\", "x":14.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"Caps Lock", "x":0.75, "y":2, "w":1.75},
|
||||
{"label":"A", "x":2.5, "y":2},
|
||||
{"label":"S", "x":3.5, "y":2},
|
||||
{"label":"D", "x":4.5, "y":2},
|
||||
{"label":"F", "x":5.5, "y":2},
|
||||
{"label":"G", "x":6.5, "y":2},
|
||||
{"label":"H", "x":7.5, "y":2},
|
||||
{"label":"J", "x":8.5, "y":2},
|
||||
{"label":"K", "x":9.5, "y":2},
|
||||
{"label":"L", "x":10.5, "y":2},
|
||||
{"label":";", "x":11.5, "y":2},
|
||||
{"label":"'", "x":12.5, "y":2},
|
||||
{"label":"Enter", "x":13.5, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0.25, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.5, "y":3},
|
||||
{"label":"X", "x":3.5, "y":3},
|
||||
{"label":"C", "x":4.5, "y":3},
|
||||
{"label":"V", "x":5.5, "y":3},
|
||||
{"label":"B", "x":6.5, "y":3},
|
||||
{"label":"N", "x":7.5, "y":3},
|
||||
{"label":"M", "x":8.5, "y":3},
|
||||
{"label":",", "x":9.5, "y":3},
|
||||
{"label":".", "x":10.5, "y":3},
|
||||
{"label":"/", "x":11.5, "y":3},
|
||||
{"label":"Shift", "x":12.5, "y":3, "w":1.75},
|
||||
{"label":"Fn", "x":14.25, "y":3},
|
||||
{"label":"\u2191", "x":15.25, "y":3},
|
||||
|
||||
{"label":"Super", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":3.37, "y":4, "w":1.25},
|
||||
{"x":4.62, "y":4, "w":2.75},
|
||||
{"x":7.37, "y":4, "w":2.25},
|
||||
{"x":9.62, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":10.87, "y":4, "w":1.25},
|
||||
{"label":"Function", "x":12.12, "y":4, "w":1.25},
|
||||
{"label":"\u2190", "x":14.25, "y":4},
|
||||
{"label":"\u2193", "x":15.25, "y":4},
|
||||
{"label":"\u2192", "x":16.25, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 frooastside
|
||||
/* Copyright 2021-2022 frooastside
|
||||
*
|
||||
* 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
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define MANUFACTURER frooastside
|
||||
#define PRODUCT Frooastboard
|
||||
#define PRODUCT Frooastboard Nano
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 2
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "Frooastboard",
|
||||
"url": "https://github.com/frooastside/qmk_firmware/tree/master/keyboards/frooastboard",
|
||||
"keyboard_name": "Frooastboard Nano",
|
||||
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/frooastboard/nano",
|
||||
"maintainer": "frooastside",
|
||||
"debounce": 5,
|
||||
"diode_direction": "COL2ROW",
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 frooastside
|
||||
/* Copyright 2021-2022 frooastside
|
||||
*
|
||||
* 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
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 frooastside
|
||||
/* Copyright 2021-2022 frooastside
|
||||
*
|
||||
* 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
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 frooastside
|
||||
/* Copyright 2021-2022 frooastside
|
||||
*
|
||||
* 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
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 frooastside
|
||||
/* Copyright 2021-2022 frooastside
|
||||
*
|
||||
* 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
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 frooastside
|
||||
/* Copyright 2021-2022 frooastside
|
||||
*
|
||||
* 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
|
||||
@@ -14,4 +14,4 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "frooastboard.h"
|
||||
#include "nano.h"
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2021 frooastside
|
||||
/* Copyright 2021-2022 frooastside
|
||||
*
|
||||
* 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
|
||||
@@ -1,19 +1,19 @@
|
||||
# Frooastboard
|
||||
# Frooastboard Nano
|
||||
|
||||

|
||||

|
||||
|
||||
* Keyboard Maintainer: [Frooastside](https://github.com/frooastside)
|
||||
* Hardware Supported: Frooastboard
|
||||
* Hardware Supported: Frooastboard Nano
|
||||
* Hardware Availability: https://github.com/Frooastside/Frooastboard
|
||||
|
||||
**Reset Key:** Hold down the key located at `K00`, commonly programmed as ESCAPE while plugging in the keyboard. (If via is used it is the key located at `K10`.)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make frooastboard:default
|
||||
make frooastboard/nano:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make frooastboard:default:flash
|
||||
make frooastboard/nano: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).
|
||||
Executable
+83
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
Copyright 2021 Gizmo Engineering
|
||||
|
||||
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 0x6532
|
||||
#define PRODUCT_ID 0x0001
|
||||
#define DEVICE_VER 0x3031
|
||||
#define MANUFACTURER Gizmo Engineering
|
||||
#define PRODUCT GK6
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 12
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { B6, B4, D7, D6, D4}
|
||||
#define MATRIX_COL_PINS { B5, C6, C7, F7, F6, D5, D3, D2, F1, F4, B7, F5 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
// Use ~ key for the bootloader
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_COLUMN 0
|
||||
|
||||
// RGB Matrix
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
#define DRIVER_ADDR_2 0b1110111
|
||||
|
||||
#define DRIVER_COUNT 2
|
||||
#define DRIVER_1_LED_TOTAL 32
|
||||
#define DRIVER_2_LED_TOTAL 32
|
||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
||||
#define RGB_MATRIX_STARTUP_SPD 127
|
||||
|
||||
// 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_CYCLE_UP_DOWN
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
#define ENABLE_RGB_MATRIX_BREATHING
|
||||
#define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
#define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 25
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
|
||||
Executable
+183
@@ -0,0 +1,183 @@
|
||||
/* Copyright 2021 Gizmo Engineering
|
||||
*
|
||||
* 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 "gk6.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||
{0, C1_8, C2_8, C3_8}, //0 led1
|
||||
{0, C1_7, C2_7, C3_7}, //1 led2
|
||||
{0, C1_6, C2_6, C3_6}, //2 led3
|
||||
{0, C1_5, C2_5, C3_5}, //3 led4
|
||||
{0, C1_4, C2_4, C3_4}, //4 led5
|
||||
{0, C1_3, C2_3, C3_3}, //5 led6
|
||||
{0, C1_2, C2_2, C4_3}, //6 led7
|
||||
{0, C1_1, C3_2, C4_2}, //7 led7b
|
||||
{0, C9_1, C8_1, C7_1}, //8 led8
|
||||
{0, C9_2, C8_2, C7_2}, //9 led9
|
||||
{0, C9_3, C8_3, C7_3}, //10 led10
|
||||
{0, C9_4, C8_4, C7_4}, //11 led11
|
||||
{0, C9_5, C8_5, C7_5}, //12 led12
|
||||
{0, C9_6, C8_6, C7_6}, //13 led13
|
||||
{0, C9_7, C8_7, C6_6}, //14 led14
|
||||
{0, C9_8, C7_7, C6_7}, //15 led15
|
||||
{0, C1_16, C2_16, C3_16}, //16 led16
|
||||
{0, C1_15, C2_15, C3_15}, //17 led17
|
||||
{0, C1_14, C2_14, C3_14}, //18 led18
|
||||
{0, C1_13, C2_13, C3_13}, //19 led19
|
||||
{0, C1_12, C2_12, C3_12}, //20 led20
|
||||
{0, C1_11, C2_11, C3_11}, //21 led21
|
||||
{0, C1_10, C2_10, C4_11}, //22 led22
|
||||
{0, C9_9, C8_9, C7_9}, //23 led23
|
||||
{0, C9_10, C8_10, C7_10}, //24 led24 missing on [default]
|
||||
{0, C9_11, C8_11, C7_11}, //25 led25 missing on [1x2u, 12x5]
|
||||
{0, C9_12, C8_12, C7_12}, //26 led26
|
||||
{0, C9_13, C8_13, C7_13}, //27 led27
|
||||
{0, C9_14, C8_14, C7_14}, //28 led28
|
||||
{0, C9_15, C8_15, C6_14}, //29 led29
|
||||
{0, C9_16, C7_15, C6_15}, //30 led30 missing on [default, 1x2u]
|
||||
{1, C1_8, C2_8, C3_8}, //31 led31
|
||||
{1, C1_7, C2_7, C3_7}, //32 led32
|
||||
{1, C1_6, C2_6, C3_6}, //33 led33
|
||||
{1, C1_5, C2_5, C3_5}, //34 led34
|
||||
{1, C1_4, C2_4, C3_4}, //35 led35 missing on [default, 1x2u]
|
||||
{1, C1_3, C2_3, C3_3}, //36 led36 missing on [default, 12x5]
|
||||
{1, C1_2, C2_2, C4_3}, //37 led37
|
||||
{1, C1_1, C3_2, C4_2}, //38 led37b
|
||||
{1, C9_1, C8_1, C7_1}, //39 led38
|
||||
{1, C9_2, C8_2, C7_2}, //40 led39
|
||||
{1, C9_3, C8_3, C7_3}, //41 led40 missing on [default]
|
||||
{1, C9_4, C8_4, C7_4}, //42 led41 missing on [1x2u, 12x5]
|
||||
{1, C9_5, C8_5, C7_5}, //43 led42
|
||||
{1, C9_6, C8_6, C7_6}, //44 led43
|
||||
{1, C9_7, C8_7, C6_6}, //45 led44
|
||||
{1, C9_8, C7_7, C6_7}, //46 led45
|
||||
{1, C1_16, C2_16, C3_16}, //47 led46
|
||||
{1, C1_15, C2_15, C3_15}, //48 led47
|
||||
{1, C1_14, C2_14, C3_14}, //49 led48
|
||||
{1, C1_13, C2_13, C3_13}, //50 led49
|
||||
{1, C1_12, C2_12, C3_12}, //51 led50
|
||||
{1, C1_11, C2_11, C3_11}, //52 led51
|
||||
{1, C1_10, C2_10, C4_11}, //53 led52
|
||||
{1, C1_9, C3_10, C4_10}, //54 led52b
|
||||
{1, C9_9, C8_9, C7_9}, //55 led53
|
||||
{1, C9_10, C8_10, C7_10}, //56 led54
|
||||
{1, C9_11, C8_11, C7_11}, //57 led55
|
||||
{1, C9_12, C8_12, C7_12}, //58 led56
|
||||
{1, C9_13, C8_13, C7_13}, //59 led57
|
||||
{1, C9_14, C8_14, C7_14}, //60 led58
|
||||
{1, C9_15, C8_15, C6_14}, //61 led59
|
||||
{1, C9_16, C7_15, C6_15}, //62 led60
|
||||
};
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
// Key Matrix to LED Index
|
||||
// 1, 6, 10, 15, 20, 26, 31, 37, 42, 47, 52, 56
|
||||
{0, 5, 10, 15, 20, 26, 31, 37, 43, 48, 53, 58},
|
||||
// 2, 7, 11, 16, 21, 27, 32, 37b, 43, 48, 52b, 57
|
||||
{1, 6, 11, 16, 21, 27, 32, 38, 44, 49, 54, 59},
|
||||
// 3, 7b, 12, 17, 22, 28, 33, 38, 44, 49, 53, 58
|
||||
{2, 7, 12, 17, 22, 28, 33, 39, 45, 50, 55, 60},
|
||||
// 4, 8, 13, 18, 23, 29, 34, 39, 45, 50, 54, 59
|
||||
{3, 8, 13, 18, 23, 29, 34, 40, 46, 51, 56, 61},
|
||||
// 5, 9, 14, 19, 25, NO_LED, NO_LED, 41, 46, 51, 55, 60
|
||||
{4, 9, 14, 19, 25, NO_LED, NO_LED, 42, 47, 52, 57, 62},
|
||||
}, {
|
||||
// LED Index to Physical Position
|
||||
{0, 0}, // 0
|
||||
{0, 16}, // 1
|
||||
{0, 32}, // 2
|
||||
{0, 48}, // 3
|
||||
{0, 64}, // 4
|
||||
|
||||
{21, 0}, // 5
|
||||
{21, 16}, // 6
|
||||
{21, 32}, // 7
|
||||
{21, 48}, // 8
|
||||
{21, 64}, // 9
|
||||
|
||||
{41, 0}, // 10
|
||||
{41, 16}, // 11
|
||||
{41, 32}, // 12
|
||||
{41, 48}, // 13
|
||||
{41, 64}, // 14
|
||||
|
||||
{61, 0}, // 15
|
||||
{61, 16}, // 16
|
||||
{61, 32}, // 17
|
||||
{61, 48}, // 18
|
||||
{61, 64}, // 19
|
||||
|
||||
{82, 0}, // 20
|
||||
{82, 16}, // 21
|
||||
{82, 32}, // 22
|
||||
{82, 48}, // 23
|
||||
{82, 64}, // 24
|
||||
{92, 64}, // 25
|
||||
|
||||
{102, 0}, // 26
|
||||
{102, 16}, // 27
|
||||
{102, 32}, // 28
|
||||
{102, 48}, // 29
|
||||
{102, 64}, // 30
|
||||
|
||||
{122, 0}, // 31
|
||||
{122, 16}, // 32
|
||||
{122, 32}, // 33
|
||||
{122, 48}, // 34
|
||||
{122, 64}, // 35
|
||||
{112, 64}, // 36
|
||||
|
||||
{142, 0}, // 37
|
||||
{142, 16}, // 38
|
||||
{142, 32}, // 39
|
||||
{142, 48}, // 40
|
||||
{142, 64}, // 41
|
||||
{132, 64}, // 42
|
||||
|
||||
{163, 0}, // 43
|
||||
{163, 16}, // 44
|
||||
{163, 32}, // 45
|
||||
{163, 48}, // 46
|
||||
{163, 64}, // 47
|
||||
|
||||
{183, 0}, // 48
|
||||
{183, 16}, // 49
|
||||
{183, 32}, // 50
|
||||
{183, 48}, // 51
|
||||
{183, 64}, // 52
|
||||
|
||||
{203, 0}, // 53
|
||||
{203, 16}, // 54
|
||||
{203, 32}, // 55
|
||||
{203, 48}, // 56
|
||||
{203, 64}, // 57
|
||||
|
||||
{224, 0}, // 58
|
||||
{224, 16}, // 59
|
||||
{224, 32}, // 60
|
||||
{224, 48}, // 61
|
||||
{224, 64}, // 62
|
||||
}, {
|
||||
// LED Index to Flag
|
||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||
0x04, 0x04, 0x04
|
||||
} };
|
||||
#endif
|
||||
Executable
+64
@@ -0,0 +1,64 @@
|
||||
/* Copyright 2021 Gizmo Engineering
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_gk6_2x2u( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, KC_NO, KC_NO, k47, k48, k49, k4a, k4b }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_gk6_1x2u( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, KC_NO, k46, k47, k48, k49, k4a, k4b }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_ortho_5x12( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b }, \
|
||||
}
|
||||
Executable
+209
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"keyboard_name": "Gizmo Engineering GK6",
|
||||
"keyboard_folder": "gk6",
|
||||
"url": "https://gizmo.engineering/",
|
||||
"maintainer": "federicoweber",
|
||||
"layouts": {
|
||||
"LAYOUT_gk6_2x2u": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4, "w": 2},
|
||||
{"x": 6, "y": 4, "w": 2},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4},
|
||||
{"x": 5, "y": 4},
|
||||
{"x": 6, "y": 4},
|
||||
{"x": 7, "y": 4},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_gk6_1x2u": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4},
|
||||
{"x": 5, "y": 4, "w": 2},
|
||||
{"x": 7, "y": 4},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
/* Copyright 2021 Gizmo Engineering
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | GUI | Alt |Lower | Back|Space |Space | Alt |Raise | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = 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_SLSH,
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_SPC, KC_SPC, KC_RALT, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | _ | + | { | } | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | - | = | [ | ] | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Debug | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_5x12(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
|
||||
DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | CAPS | PSCR | | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | Home | End | Ins | Play | | | | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | PgDn | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_5x12(
|
||||
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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
void rgb_matrix_indicators_user(void)
|
||||
{
|
||||
rgb_matrix_set_color(25, 0, 0, 0);
|
||||
rgb_matrix_set_color(36, 0, 0, 0);
|
||||
rgb_matrix_set_color(42, 0, 0, 0);
|
||||
}
|
||||
|
||||
void keyboard_pre_init_user(void) {
|
||||
// 5, 9, 14, 19, 24, 30, 35, 40, 46, 51, 55, 60
|
||||
g_led_config.matrix_co[4][0] = 5;
|
||||
g_led_config.matrix_co[4][1] = 9;
|
||||
g_led_config.matrix_co[4][2] = 14;
|
||||
g_led_config.matrix_co[4][3] = 19;
|
||||
g_led_config.matrix_co[4][4] = 24;
|
||||
g_led_config.matrix_co[4][5] = 30;
|
||||
g_led_config.matrix_co[4][6] = 35;
|
||||
g_led_config.matrix_co[4][7] = 41;
|
||||
g_led_config.matrix_co[4][8] = 47;
|
||||
g_led_config.matrix_co[4][9] = 52;
|
||||
g_led_config.matrix_co[4][10] = 57;
|
||||
g_led_config.matrix_co[4][11] = 62;
|
||||
}
|
||||
#endif
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
/* Copyright 2021 Gizmo Engineering
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | GUI | Alt |Lower | Back| Space | Alt |Raise | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_gk6_1x2u(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_SPC, KC_RALT, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | _ | + | { | } | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | - | = | [ | ] | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Debug | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_gk6_1x2u(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
|
||||
DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | CAPS | PSCR | | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | Home | End | Ins | Play | | | | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | PgDn | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_gk6_1x2u(
|
||||
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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
void rgb_matrix_indicators_user(void)
|
||||
{
|
||||
rgb_matrix_set_color(25, 0, 0, 0);
|
||||
rgb_matrix_set_color(30, 0, 0, 0);
|
||||
rgb_matrix_set_color(35, 0, 0, 0);
|
||||
rgb_matrix_set_color(42, 0, 0, 0);
|
||||
}
|
||||
|
||||
void keyboard_pre_init_user(void) {
|
||||
// 5, 9, 14, 19, 24, 30, 36, 40, 46, 51, 55, 60
|
||||
g_led_config.matrix_co[4][0] = 5;
|
||||
g_led_config.matrix_co[4][1] = 9;
|
||||
g_led_config.matrix_co[4][2] = 14;
|
||||
g_led_config.matrix_co[4][3] = 19;
|
||||
g_led_config.matrix_co[4][4] = 24;
|
||||
g_led_config.matrix_co[4][5] = 30;
|
||||
g_led_config.matrix_co[4][6] = 36;
|
||||
g_led_config.matrix_co[4][7] = 41;
|
||||
g_led_config.matrix_co[4][8] = 47;
|
||||
g_led_config.matrix_co[4][9] = 52;
|
||||
g_led_config.matrix_co[4][10] = 57;
|
||||
g_led_config.matrix_co[4][11] = 62;
|
||||
}
|
||||
#endif
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
/* Copyright 2021 Gizmo Engineering
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | GUI | Alt |Lower | Backspace | Space |Raise | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_gk6_2x2u(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | _ | + | { | } | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | - | = | [ | ] | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Debug | | | | | | | | |R Alt |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_gk6_2x2u(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
|
||||
DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | CAPS | PSCR | | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | Home | End | Ins | Play | | | | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | PgDn | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_gk6_2x2u(
|
||||
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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
void rgb_matrix_indicators_user(void)
|
||||
{
|
||||
rgb_matrix_set_color(24, 0, 0, 0);
|
||||
rgb_matrix_set_color(30, 0, 0, 0);
|
||||
rgb_matrix_set_color(35, 0, 0, 0);
|
||||
rgb_matrix_set_color(36, 0, 0, 0);
|
||||
rgb_matrix_set_color(41, 0, 0, 0);
|
||||
}
|
||||
#endif
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
/* Copyright 2021 Gizmo Engineering
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | CTRL | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | GUI | Alt |Lower | Back | Back |Space |Space |Raise | Left | Down |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = 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_SLSH,
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_BSPC, KC_BSPC, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | _ | + | { | } | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | - | = | [ | ] | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |RGB_TG|RGB_M |RGB_HU|RGB_SI|RGB_VI|RGB_SP| | | | | | \ |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |R Alt |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_5x12(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, KC_PIPE, KC_BSLS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RALT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | CAPS | PSCR | | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | Home | End | Ins | Play | | | | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | << | >> | Mute | Vol- | Vol+ | | | | | PgUp | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | PgDn | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_5x12(
|
||||
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_CAPS, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_HOME, KC_END, KC_INS, KC_MPLY, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, KC_PGUP, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
|
||||
),
|
||||
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
# Gizmo Engineering GK6
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: [federicoweber](https://github.com/federicoweber)
|
||||
* Hardware Supported: atmega32a, Gizmo Engineering GK6
|
||||
* Hardware Availability: [Gizmo Engineering](https://gizmo.engineering/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make gizmo_engineering/gk6:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
# 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 = 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 = IS31FL3731
|
||||
@@ -44,8 +44,8 @@
|
||||
{"label":"6,2", "x":10.5, "y":2},
|
||||
{"label":"6,3", "x":12, "y":2},
|
||||
{"label":"6,4", "x":13, "y":2},
|
||||
{"label":"6,6", "x":15.5, "y":2},
|
||||
{"label":"6,5", "x":14.25, "y":2.25},
|
||||
{"label":"6,6", "x":15.5, "y":2},
|
||||
{"label":"3,0", "x":0, "y":3, "w":1.25},
|
||||
{"label":"3,1", "x":1.25, "y":3, "w":1.25},
|
||||
{"label":"3,2", "x":3.05, "y":3},
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
{"label":"6,3", "x":10.5, "y":1},
|
||||
{"label":"6,4", "x":11.5, "y":1},
|
||||
{"label":"6,5", "x":12.5, "y":1},
|
||||
{"label":"7,6", "x":13.75, "y":1, "w":1.25, "h":2},
|
||||
{"label":"6,7", "x":15, "y":1},
|
||||
{"label":"2,0", "x":0, "y":2, "w":1.75},
|
||||
{"label":"2,1", "x":1.75, "y":2},
|
||||
@@ -49,6 +48,7 @@
|
||||
{"label":"7,3", "x":10.75, "y":2},
|
||||
{"label":"7,4", "x":11.75, "y":2},
|
||||
{"label":"7,5", "x":12.75, "y":2},
|
||||
{"label":"7,6", "x":13.75, "y":1, "w":1.25, "h":2},
|
||||
{"label":"7,7", "x":15, "y":2},
|
||||
{"label":"3,0", "x":0, "y":3, "w":2.25},
|
||||
{"label":"3,1", "x":2.25, "y":3},
|
||||
|
||||
@@ -5,58 +5,61 @@
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"0,0", "x":0, "y":0},
|
||||
{"label":"0,1", "x":1.25, "y":0},
|
||||
{"label":"4,0", "x":8.25, "y":0},
|
||||
{"label":"4,1", "x":9.25, "y":0},
|
||||
{"label":"4,2", "x":10.25, "y":0},
|
||||
{"label":"4,3", "x":11.25, "y":0},
|
||||
{"label":"4,4", "x":12.25, "y":0},
|
||||
{"label":"4,5", "x":13.25, "y":0},
|
||||
{"label":"4,6", "x":14.25, "y":0},
|
||||
{"label":"1,1", "x":0.25, "y":1, "w":1.75},
|
||||
{"label":"1,2", "x":2, "y":1},
|
||||
{"label":"5,0", "x":8.5, "y":1},
|
||||
{"label":"5,1", "x":9.5, "y":1},
|
||||
{"label":"5,2", "x":10.5, "y":1},
|
||||
{"label":"5,3", "x":11.5, "y":1},
|
||||
{"label":"5,4", "x":12.5, "y":1},
|
||||
{"label":"5,5", "x":13.5, "y":1},
|
||||
{"label":"5,6", "x":14.5, "y":1},
|
||||
{"label":"2,1", "x":0, "y":2, "w":1.75},
|
||||
{"label":"2,2", "x":1.75, "y":2},
|
||||
{"label":"2,0", "x":7.25, "y":2},
|
||||
{"label":"6,0", "x":8.75, "y":2},
|
||||
{"label":"6,1", "x":9.75, "y":2},
|
||||
{"label":"6,2", "x":10.75, "y":2},
|
||||
{"label":"6,3", "x":11.75, "y":2},
|
||||
{"label":"6,4", "x":12.75, "y":2},
|
||||
{"label":"6,5", "x":13.75, "y":2},
|
||||
{"label":"6,6", "x":14.75, "y":2},
|
||||
{"label":"3,1", "x":0.25, "y":3, "w":1.25},
|
||||
{"label":"3,2", "x":1.5, "y":3, "w":1.25},
|
||||
{"label":"7,0", "x":8.5, "y":3},
|
||||
{"label":"7,1", "x":9.5, "y":3, "w":1.25},
|
||||
{"label":"7,2", "x":10.75, "y":3},
|
||||
{"label":"7,4", "x":12.75, "y":3},
|
||||
{"label":"7,5", "x":13.75, "y":3},
|
||||
{"label":"7,6", "x":14.75, "y":3},
|
||||
{"label":"0,2", "x":-0.75, "y":4},
|
||||
{"label":"0,3", "x":0.25, "y":4},
|
||||
{"label":"0,4", "x":1.25, "y":4},
|
||||
{"label":"0,5", "x":2.25, "y":4},
|
||||
{"label":"0,6", "x":3.25, "y":4},
|
||||
{"label":"1,3", "x":0, "y":5},
|
||||
{"label":"1,4", "x":1, "y":5},
|
||||
{"label":"1,5", "x":2, "y":5},
|
||||
{"label":"1,6", "x":3, "y":5},
|
||||
{"label":"2,3", "x":-0.25, "y":6},
|
||||
{"label":"2,4", "x":0.75, "y":6},
|
||||
{"label":"2,5", "x":1.75, "y":6},
|
||||
{"label":"2,6", "x":2.75, "y":6},
|
||||
{"label":"3,4", "x":0.75, "y":7},
|
||||
{"label":"3,5", "x":1.75, "y":7, "w":1.25},
|
||||
{"label":"3,6", "x":3, "y":7}
|
||||
{"label":"L00", "x":0.25, "y":0},
|
||||
{"label":"L01", "x":1.25, "y":0},
|
||||
{"label":"L02", "x":2.25, "y":0},
|
||||
{"label":"L03", "x":3.25, "y":0},
|
||||
{"label":"L04", "x":4.25, "y":0},
|
||||
{"label":"L05", "x":5.25, "y":0},
|
||||
{"label":"L06", "x":6.25, "y":0},
|
||||
{"label":"R00", "x":9.25, "y":0},
|
||||
{"label":"R01", "x":10.25, "y":0},
|
||||
{"label":"R02", "x":11.25, "y":0},
|
||||
{"label":"R03", "x":12.25, "y":0},
|
||||
{"label":"R04", "x":13.25, "y":0},
|
||||
{"label":"R05", "x":14.25, "y":0},
|
||||
{"label":"R06", "x":15.25, "y":0},
|
||||
|
||||
{"label":"L11", "x":0.25, "y":1, "w":1.75},
|
||||
{"label":"L12", "x":2, "y":1},
|
||||
{"label":"L13", "x":3.25, "y":1},
|
||||
{"label":"L14", "x":4.25, "y":1},
|
||||
{"label":"L15", "x":5.25, "y":1},
|
||||
{"label":"L16", "x":6.25, "y":1},
|
||||
{"label":"R10", "x":9.25, "y":1},
|
||||
{"label":"R11", "x":10.25, "y":1},
|
||||
{"label":"R12", "x":11.25, "y":1},
|
||||
{"label":"R13", "x":12.25, "y":1},
|
||||
{"label":"R14", "x":13.5, "y":1},
|
||||
{"label":"R15", "x":14.5, "y":1},
|
||||
{"label":"R16", "x":15.5, "y":1},
|
||||
|
||||
{"label":"L21", "x":0, "y":2, "w":1.75},
|
||||
{"label":"L22", "x":1.75, "y":2},
|
||||
{"label":"L23", "x":3.25, "y":2},
|
||||
{"label":"L24", "x":4.25, "y":2},
|
||||
{"label":"L25", "x":5.25, "y":2},
|
||||
{"label":"L26", "x":6.25, "y":2},
|
||||
{"label":"L20", "x":7.75, "y":2},
|
||||
{"label":"R20", "x":9.25, "y":2},
|
||||
{"label":"R21", "x":10.25, "y":2},
|
||||
{"label":"R22", "x":11.25, "y":2},
|
||||
{"label":"R23", "x":12.25, "y":2},
|
||||
{"label":"R24", "x":13.75, "y":2},
|
||||
{"label":"R25", "x":14.75, "y":2},
|
||||
{"label":"R26", "x":15.75, "y":2},
|
||||
|
||||
{"label":"L31", "x":0.25, "y":3, "w":1.25},
|
||||
{"label":"L32", "x":1.5, "y":3, "w":1.25},
|
||||
{"label":"L34", "x":4.125, "y":3, "w":1.25},
|
||||
{"label":"L35", "x":5.375, "y":3, "w":1.25},
|
||||
{"label":"L36", "x":6.625, "y":3},
|
||||
{"label":"R30", "x":8.875, "y":3},
|
||||
{"label":"R31", "x":9.875, "y":3, "w":1.25},
|
||||
{"label":"R32", "x":11.125, "y":3, "w":1.25},
|
||||
{"label":"R34", "x":13.75, "y":3},
|
||||
{"label":"R35", "x":14.75, "y":3},
|
||||
{"label":"R36", "x":15.75, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,4 +15,3 @@
|
||||
*/
|
||||
|
||||
#include "aball.h"
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { };
|
||||
|
||||
@@ -18,12 +18,4 @@
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* 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) {{ KC_NO }}
|
||||
#define LAYOUT(k00) {{ k00 }}
|
||||
|
||||
@@ -15,4 +15,5 @@
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
// Dummy
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{ KC_NO }}};
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
// Copyright 2022 Ulrich Spörlein (@uqs)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define USE_SERIAL
|
||||
|
||||
#define RGBLED_NUM 12
|
||||
#define RGBLED_SPLIT {6,6}
|
||||
#define RGBLIGHT_LIMIT_VAL 127
|
||||
|
||||
#define EE_HANDS
|
||||
@@ -0,0 +1,170 @@
|
||||
// Copyright 2022 Ulrich Spörlein (@uqs)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
// vi:et sw=4 cc=5,15,25,35,45,55,65:
|
||||
|
||||
#include "uqs.h"
|
||||
|
||||
/*
|
||||
* My custom layout macro that allows for easy diff(1) operations between
|
||||
* various keyboards. It probably doesn't make sense to you.
|
||||
*/
|
||||
#define LAYOUT_uqs( \
|
||||
L00, L01, L02, L03, L04, L05, \
|
||||
L10, L11, L12, L13, L14, L15, \
|
||||
L20, L21, L22, L23, L24, L25, \
|
||||
L30, L31, L32, L33, L34, L35, \
|
||||
L42, L43, \
|
||||
L44, L45, L54, \
|
||||
L55, L52, L53, \
|
||||
R00, R01, R02, R03, R04, R05, \
|
||||
R10, R11, R12, R13, R14, R15, \
|
||||
R20, R21, R22, R23, R24, R25, \
|
||||
R30, R31, R32, R33, R34, R35, \
|
||||
R42, R43, \
|
||||
R51, R40, R41, \
|
||||
R50, R52, R53 \
|
||||
) \
|
||||
LAYOUT_5x6( \
|
||||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
|
||||
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
|
||||
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
|
||||
L42, L43, R42, R43, \
|
||||
L44, L45, R40, R41, \
|
||||
L54, L55, R50, R51, \
|
||||
L52, L53, R52, R53 \
|
||||
)
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[L_QWER] = LAYOUT_uqs(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||
KC_LBRC, KC_RBRC,
|
||||
/*thumb*/ LT_EXTD_ESC, KC_SPC, LT_MOUSE_ALT_SHIFT_INS,
|
||||
/*aux*/ KC_LEAD, OSM_GUI, KC_LALT,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS,
|
||||
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_GRV),
|
||||
KC_MINS, KC_EQL,
|
||||
/*thumb*/ LT_FUNC_SHIFT_INS, KC_ENT, LT_NUM_BSPC,
|
||||
/*aux*/ KC_RALT, KC_APP, KC_LEAD
|
||||
),
|
||||
|
||||
[L_WASD] = LAYOUT_uqs(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||
KC_T, KC_TAB, KC_Q, KC_W, KC_E, KC_R,
|
||||
KC_G, KC_LSFT, KC_A, KC_S, KC_D, KC_F,
|
||||
KC_B, KC_GRV, KC_Z, KC_X, KC_C, KC_V,
|
||||
KC_LBRC, KC_RBRC,
|
||||
/*thumb*/ KC_LCTL, KC_SPC, KC_R,
|
||||
/*aux*/ A(KC_M), KC_LGUI, KC_LALT,
|
||||
KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_GRV),
|
||||
KC_MINS, KC_EQL,
|
||||
/*thumb*/ DF(L_COLM), KC_ENT, KC_BSPC,
|
||||
/*aux*/ KC_F5, KC_RALT, KC_APP
|
||||
),
|
||||
|
||||
[L_COLM] = LAYOUT_uqs(
|
||||
KC_NO, KC_NO, KC_BTN2, KC_BTN3, KC_BTN1, KC_NO,
|
||||
KC_BTN2, KC_Q, KC_W, KC_F, KC_P, KC_B,
|
||||
KC_BTN1, KC_G_A, KC_A_R, KC_S_S, KC_C_T, KC_G,
|
||||
KC_BTN3, KC_Z, KC_X, KC_C, KC_D, KC_V,
|
||||
MS_WHUP, MS_WHDN,
|
||||
/*thumb*/ LT_EXTD_ESC, SFT_T(KC_SPC), LT(L_MOUSE, KC_TAB),
|
||||
/*aux*/ KC_LEAD, OSM_GUI, KC_LALT,
|
||||
KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, KC_NO,
|
||||
KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_NO,
|
||||
KC_M, KC_C_N, KC_S_E, KC_A_I, KC_G_O, KC_NO,
|
||||
KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_NO,
|
||||
KC_NO, KC_NO,
|
||||
/*thumb*/ LT_FUNC_SHIFT_INS, KC_ENT, LT_NUM_BSPC,
|
||||
/*aux*/ KC_LEAD, KC_RALT, KC_APP
|
||||
),
|
||||
|
||||
// Updated with inspiration from https://forum.colemak.com/topic/2014-extend-extra-extreme/
|
||||
// I like the AltGr trick from https://stevep99.github.io/seniply/ and should probably incorporate some stuff from it.
|
||||
[L_EXTD] = LAYOUT_uqs(
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, KC_BTN1, KC_SCTAB, KC_PGUP, KC_CTAB, KC_LEAD,
|
||||
_______, OSM_GUI, OSM_ALT, OSM_SFT, OSM_CTL, KC_RALT,
|
||||
_______, ALT_TAB, MS_WHUP, MS_WHDN, KC_PGDN, INS_HARD,
|
||||
_______, _______,
|
||||
/*thumb*/ _______, _______, _______,
|
||||
/*aux*/ _______, _______, _______,
|
||||
/* ^^^^ can't be used */
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_NO,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, KC_NO,
|
||||
WIN_LEFT, WIN_DN, WIN_UP, WIN_RGHT, KC_PSTE, KC_NO, // KC_PSTE works in XTerm to emulate middle-click
|
||||
_______, _______,
|
||||
/*thumb*/ _______, _______, KC_BSPC,
|
||||
/*aux*/ _______, _______, _______
|
||||
/* ^^^^ use these */
|
||||
),
|
||||
|
||||
// TODO: maybe swap # with ;, that way I can roll :w or :wq which I need
|
||||
// often ... probably better to add a combo?
|
||||
[L_NUM] = LAYOUT_uqs(
|
||||
_______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC,
|
||||
_______, KC_SCLN, KC_COLN, KC_LCBR, KC_LPRN, KC_LBRC,
|
||||
_______, KC_CIRC, KC_AMPR, KC_RCBR, KC_RPRN, KC_RBRC,
|
||||
KC_GRV, KC_TILDE,
|
||||
/*thumb*/ KC_ESC, KC_SPC, KC_0,
|
||||
/*aux*/ _______, _______, _______,
|
||||
/* ^^^^ use these */
|
||||
KC_NUMLOCK,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_EQUAL, KC_7, KC_8, KC_9, KC_KP_PLUS,_______,
|
||||
KC_KP_ASTERISK,KC_4,KC_5, KC_6, MINS_UNDSCR,_______,
|
||||
KC_COMM, KC_1, KC_2, KC_3, KC_KP_SLASH,KC_KP_ENTER, // Enter here, because thumb is occupied
|
||||
KC_0, KC_KP_DOT,
|
||||
/*thumb*/ _______, _______, _______,
|
||||
/*aux*/ _______, _______, _______
|
||||
/* ^^^^ can't be used */
|
||||
),
|
||||
|
||||
[L_FUNC] = LAYOUT_uqs(
|
||||
_______, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
_______, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, DF(L_WASD),
|
||||
_______, KC_LGUI, KC_LALT, KC_LSFT, KC_LCTL, DF(L_QWER),
|
||||
_______, KC_NO, KC_NO, KC_NO, KC_NO, DF(L_COLM),
|
||||
KC_NO, KC_NO,
|
||||
/*thumb*/ _______, _______, _______,
|
||||
/*aux*/ _______, _______, _______,
|
||||
/* ^^^^ use these */
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO,
|
||||
KC_SLCK, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO,
|
||||
KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F12, KC_NO,
|
||||
KC_NO, KC_NO,
|
||||
/*thumb*/ _______, _______, _______,
|
||||
/*aux*/ _______, _______, _______
|
||||
/* ^^^^ can't be used */
|
||||
),
|
||||
|
||||
[L_MOUSE] = LAYOUT_uqs(
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, KC_NO, KC_BTN2, KC_BTN3, KC_BTN1, KC_VOLU,
|
||||
_______, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_VOLD,
|
||||
_______, KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE,
|
||||
KC_NO, KC_NO,
|
||||
/*thumb*/ _______, _______, _______,
|
||||
/*aux*/ _______, _______, _______,
|
||||
/* ^^^^ can't be used */
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_MS_UP, MS_WHUP, _______, _______,
|
||||
MS_WHLEFT,KC_MS_L, KC_MS_D, KC_MS_R, MS_WHRGHT,_______,
|
||||
_______, MS_WHDN, KC_BTN3, KC_BTN4, KC_BTN5, _______,
|
||||
KC_NO, KC_NO,
|
||||
/*thumb*/ KC_NO, KC_BTN1, KC_BTN2,
|
||||
/*aux*/ _______, _______, _______
|
||||
/* use these ^^^^ */
|
||||
),
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
#VIA_ENABLE = yes # doesn't fit with 7 layers :/
|
||||
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
Copyright 2022 Holten Campbell
|
||||
|
||||
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 0x5052
|
||||
#define PRODUCT_ID 0x0042
|
||||
#define DEVICE_VER 0x0002
|
||||
#define MANUFACTURER Prime Keyboards
|
||||
#define PRODUCT obro
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 14
|
||||
|
||||
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, F7, D4, B7, B3, D5, D3, D2, D1, D0 }
|
||||
#define MATRIX_ROW_PINS { E6, F0, F6, D7, D6 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define RGB_DI_PIN F1
|
||||
#define RGBLED_NUM 64
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLIGHT_LIMIT_VAL 200
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"keyboard_name": "Obro",
|
||||
"url": "https://www.primekb.com",
|
||||
"maintainer": "holtenc",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"~", "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":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"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":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"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":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "y":2, "w":2.25}, {"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":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":1.75}, {"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":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright 2020 Holten Campbell
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______,
|
||||
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright 2020 Holten Campbell
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RGUI, KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______,
|
||||
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
@@ -1,8 +1,5 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
Copyright 2020 Holten Campbell
|
||||
|
||||
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
|
||||
@@ -18,17 +15,4 @@ 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
|
||||
|
||||
// place overrides here
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
// #define USE_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define _MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
#include "obro.h"
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
Copyright 2022 Holten Campbell
|
||||
|
||||
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 K_NO KC_NO
|
||||
|
||||
#define LAYOUT( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \
|
||||
K400, K401, K402, K404, K407, K409, K411, K412, K413 \
|
||||
) \
|
||||
{ \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K_NO, K213 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313}, \
|
||||
{ K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413 } \
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
# Obro
|
||||
|
||||
* Keyboard Maintainer: [Holten Campbell](https://github.com/holtenc)
|
||||
* Hardware Supported: ATMEGA32u4
|
||||
* Hardware Availability: Not applicable
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/obro:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/obro:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
# Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
* Bootmagic reset: HOld down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* Physical reset button: Briefly press the button on the back of the PCB
|
||||
* Keycode in layout: Press the key mapped to RESET if it is available
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user