mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-25 12:46:41 +00:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
b3815ed70f
4
.github/labeler.yml
vendored
4
.github/labeler.yml
vendored
@ -40,3 +40,7 @@ translation:
|
||||
- docs/ru-ru/**/*
|
||||
CI:
|
||||
- .github/**/*
|
||||
dd:
|
||||
- data/constants/**/*
|
||||
- data/mappings/**/*
|
||||
- data/schemas/**/*
|
||||
|
2
.github/workflows/api.yml
vendored
2
.github/workflows/api.yml
vendored
@ -25,7 +25,7 @@ jobs:
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
2
.github/workflows/auto_tag.yml
vendored
2
.github/workflows/auto_tag.yml
vendored
@ -27,7 +27,7 @@ jobs:
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
2
.github/workflows/ci_builds.yml
vendored
2
.github/workflows/ci_builds.yml
vendored
@ -33,7 +33,7 @@ jobs:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
ref: ${{ github.event.inputs.branch || github.ref }}
|
||||
|
2
.github/workflows/cli.yml
vendored
2
.github/workflows/cli.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
|
2
.github/workflows/develop_update.yml
vendored
2
.github/workflows/develop_update.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
2
.github/workflows/docs.yml
vendored
2
.github/workflows/docs.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
|
2
.github/workflows/feature_branch_update.yml
vendored
2
.github/workflows/feature_branch_update.yml
vendored
@ -21,7 +21,7 @@ jobs:
|
||||
- riot
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
4
.github/workflows/format.yml
vendored
4
.github/workflows/format.yml
vendored
@ -25,7 +25,7 @@ jobs:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@ -35,7 +35,7 @@ jobs:
|
||||
|
||||
- name: Get changed files
|
||||
id: file_changes
|
||||
uses: tj-actions/changed-files@v38
|
||||
uses: tj-actions/changed-files@v39
|
||||
|
||||
- name: Run qmk formatters
|
||||
shell: 'bash {0}'
|
||||
|
2
.github/workflows/format_push.yml
vendored
2
.github/workflows/format_push.yml
vendored
@ -19,7 +19,7 @@ jobs:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
4
.github/workflows/lint.yml
vendored
4
.github/workflows/lint.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
@ -27,7 +27,7 @@ jobs:
|
||||
|
||||
- name: Get changed files
|
||||
id: file_changes
|
||||
uses: tj-actions/changed-files@v38
|
||||
uses: tj-actions/changed-files@v39
|
||||
|
||||
- name: Print info
|
||||
run: |
|
||||
|
2
.github/workflows/regen.yml
vendored
2
.github/workflows/regen.yml
vendored
@ -19,7 +19,7 @@ jobs:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run qmk generators
|
||||
run: |
|
||||
|
2
.github/workflows/regen_push.yml
vendored
2
.github/workflows/regen_push.yml
vendored
@ -19,7 +19,7 @@ jobs:
|
||||
- name: Disable safe.directory check
|
||||
run : git config --global --add safe.directory '*'
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run qmk generators
|
||||
run: |
|
||||
|
2
.github/workflows/unit_test.yml
vendored
2
.github/workflows/unit_test.yml
vendored
@ -26,7 +26,7 @@ jobs:
|
||||
container: ghcr.io/qmk/qmk_cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install dependencies
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -95,6 +95,7 @@ secrets.tar
|
||||
# Python things
|
||||
__pycache__
|
||||
.python-version
|
||||
.venv
|
||||
|
||||
# Prerequisites for updating ChibiOS
|
||||
/util/fmpp*
|
||||
|
@ -392,6 +392,8 @@ check-size:
|
||||
if [ $(MAX_SIZE) -gt 0 ] && [ $(CURRENT_SIZE) -gt 0 ]; then \
|
||||
$(SILENT) || printf "$(MSG_CHECK_FILESIZE)" | $(AWK_CMD); \
|
||||
if [ $(CURRENT_SIZE) -gt $(MAX_SIZE) ]; then \
|
||||
$(REMOVE) $(TARGET).$(FIRMWARE_FORMAT); \
|
||||
$(REMOVE) $(BUILD_DIR)/$(TARGET).{hex,bin,uf2}; \
|
||||
printf "\n * $(MSG_FILE_TOO_BIG)"; $(PRINT_ERROR_PLAIN); \
|
||||
else \
|
||||
if [ $(FREE_SIZE) -lt $(SIZE_MARGIN) ]; then \
|
||||
|
@ -29,6 +29,10 @@
|
||||
"minLength": 1,
|
||||
"maxLength": 250
|
||||
},
|
||||
"snake_case": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-z][a-z0-9_]*$"
|
||||
},
|
||||
"layout_macro": {
|
||||
"oneOf": [
|
||||
{
|
||||
|
@ -256,7 +256,11 @@
|
||||
"enabled": {"type": "boolean"}
|
||||
}
|
||||
},
|
||||
"features": {"$ref": "qmk.definitions.v1#/boolean_array"},
|
||||
"features": {
|
||||
"$ref": "qmk.definitions.v1#/boolean_array",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
|
||||
},
|
||||
"indicators": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@ -370,6 +374,7 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
"additionalProperties": {
|
||||
"type": "boolean"
|
||||
}
|
||||
@ -419,6 +424,7 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
"additionalProperties": {
|
||||
"type": "boolean"
|
||||
}
|
||||
@ -471,6 +477,7 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
|
||||
"additionalProperties": {
|
||||
"type": "boolean"
|
||||
}
|
||||
|
@ -80,6 +80,7 @@
|
||||
* [Caps Word](feature_caps_word.md)
|
||||
* [Combos](feature_combo.md)
|
||||
* [Debounce API](feature_debounce_type.md)
|
||||
* [Digitizer](feature_digitizer.md)
|
||||
* [EEPROM](feature_eeprom.md)
|
||||
* [Key Lock](feature_key_lock.md)
|
||||
* [Key Overrides](feature_key_overrides.md)
|
||||
@ -115,7 +116,6 @@
|
||||
* [Bootmagic Lite](feature_bootmagic.md)
|
||||
* [Converters](feature_converters.md)
|
||||
* [Custom Matrix](custom_matrix.md)
|
||||
* [Digitizer](feature_digitizer.md)
|
||||
* [DIP Switch](feature_dip_switch.md)
|
||||
* [Encoders](feature_encoders.md)
|
||||
* [Haptic Feedback](feature_haptic_feedback.md)
|
||||
|
@ -6,7 +6,7 @@ The QMK CLI makes building and working with QMK keyboards easier. We have provid
|
||||
|
||||
### Requirements :id=requirements
|
||||
|
||||
QMK requires Python 3.6 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
|
||||
QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI.
|
||||
|
||||
### Install Using Homebrew (macOS, some Linux) :id=install-using-homebrew
|
||||
|
||||
@ -20,7 +20,7 @@ qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build
|
||||
|
||||
### Install Using pip :id=install-using-easy_install-or-pip
|
||||
|
||||
If your system is not listed above you can install QMK manually. First ensure that you have Python 3.6 (or later) installed and have installed pip. Then install QMK with this command:
|
||||
If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command:
|
||||
|
||||
```
|
||||
python3 -m pip install qmk
|
||||
|
@ -44,7 +44,7 @@ def hello(cli):
|
||||
|
||||
First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function.
|
||||
|
||||
Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
|
||||
Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator.
|
||||
|
||||
# User Interaction
|
||||
|
||||
@ -56,13 +56,13 @@ There are two main methods for outputting text in a subcommand- `cli.log` and `c
|
||||
|
||||
You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below.
|
||||
|
||||
Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.6/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
|
||||
Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.7/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example.
|
||||
|
||||
You should never use the format operator (`%`) directly, always pass values as arguments.
|
||||
|
||||
### Logging (`cli.log`)
|
||||
|
||||
The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
|
||||
The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong.
|
||||
|
||||
The default log level is `INFO`. If the user runs `qmk -v <subcommand>` the default log level will be set to `DEBUG`.
|
||||
|
||||
|
@ -317,7 +317,7 @@ At the time of this writing our tests are not very comprehensive. Looking at the
|
||||
|
||||
## Integration Tests
|
||||
|
||||
Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.6/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
|
||||
Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.7/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened.
|
||||
|
||||
## Unit Tests
|
||||
|
||||
|
@ -10,6 +10,7 @@ Tested combinations:
|
||||
|SSD1306 |128x32 |AVR |Primary support |
|
||||
|SSD1306 |128x64 |AVR |Verified working |
|
||||
|SSD1306 |128x32 |Arm | |
|
||||
|SSD1306 |128x64 |Arm |Verified working |
|
||||
|SH1106 |128x64 |AVR |No scrolling |
|
||||
|SH1107 |64x128 |AVR |No scrolling |
|
||||
|SH1107 |64x128 |Arm |No scrolling |
|
||||
@ -398,7 +399,7 @@ void oled_scroll_set_area(uint8_t start_line, uint8_t end_line);
|
||||
// Sets scroll speed, 0-7, fastest to slowest. Default is three.
|
||||
// Does not take effect until scrolling is either started or restarted
|
||||
// the ssd1306 supports 8 speeds with the delay
|
||||
// listed below betwen each frame of the scrolling effect
|
||||
// listed below between each frame of the scrolling effect
|
||||
// 0=2, 1=3, 2=4, 3=5, 4=25, 5=64, 6=128, 7=256
|
||||
void oled_scroll_set_speed(uint8_t speed);
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
Programmable Buttons are keys that have no predefined meaning. This means they can be processed on the host side by custom software without the operating system trying to interpret them.
|
||||
|
||||
The keycodes are emitted according to the HID Telephony Device page (`0x0B`), Programmable Button usage (`0x07`). On Linux (> 5.14) they are handled automatically and translated to `KEY_MACRO#` keycodes (up to `KEY_MACRO30`).
|
||||
The keycodes are emitted according to the HID Telephony Device page (`0x0B`), Programmable Button usage (`0x09`). On Linux (> 5.14) they are handled automatically and translated to `KEY_MACRO#` keycodes (up to `KEY_MACRO30`).
|
||||
|
||||
?> Currently there is no known support in Windows or macOS. It may be possible to write a custom HID driver to receive these usages, but this is out of the scope of the QMK documentation.
|
||||
|
||||
|
@ -155,6 +155,29 @@ In your keyboard config.h:
|
||||
#endif
|
||||
```
|
||||
|
||||
### RP2040 PIO Version :id=rp2040-pio-version
|
||||
|
||||
The `PIO` subsystem is a Raspberry Pi RP2040 specific implementation, using the integrated PIO peripheral and is therefore only available on this MCU.
|
||||
|
||||
There are strict requirements for pin ordering but any pair of GPIO pins can be used. The GPIO used for clock must be directly after data, see the included info.json snippet for an example of correct order.
|
||||
|
||||
You may optionally switch the PIO peripheral used with the following define in config.h:
|
||||
```c
|
||||
#define PS2_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the PS2 implementation uses the PIO0 peripheral
|
||||
```
|
||||
|
||||
Example info.json content:
|
||||
|
||||
```json
|
||||
"ps2": {
|
||||
"clock_pin": "GP1",
|
||||
"data_pin": "GP0",
|
||||
"driver": "vendor",
|
||||
"enabled": true,
|
||||
"mouse_enabled": true
|
||||
}
|
||||
```
|
||||
|
||||
## Additional Settings :id=additional-settings
|
||||
|
||||
### PS/2 Mouse Features :id=ps2-mouse-features
|
||||
|
@ -56,7 +56,7 @@ QMK maintains a Homebrew tap and formula which will automatically install the CL
|
||||
|
||||
You will need to install Homebrew. Follow the instructions on https://brew.sh.
|
||||
|
||||
!> **NOTE:** If you are using Apple Silicon, such as the M1, you will need to install a rosetta compatible version of Homebrew. This version does not override the base Homebrew. This can be done by running `arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"`. See here: [Rosetta-compatible Homebrew](https://stackoverflow.com/questions/64882584/how-to-run-the-homebrew-installer-under-rosetta-2-on-m1-macbook)
|
||||
?> If you are using an Apple Silicon machine, the installation process will take significantly longer because GitHub actions do not have native runners to build binary packages for the ARM and AVR toolchains.
|
||||
|
||||
#### Installation
|
||||
|
||||
@ -64,10 +64,6 @@ Install the QMK CLI by running:
|
||||
|
||||
brew install qmk/qmk/qmk
|
||||
|
||||
Install the QMK CLI on an Apple Silicon Mac by running:
|
||||
|
||||
arch -x86_64 brew install qmk/qmk/qmk
|
||||
|
||||
### ** Linux/WSL **
|
||||
|
||||
?> **Note for WSL users**: By default, the installation process will clone the QMK repository into your WSL home directory, but if you have cloned manually, ensure that it is located inside the WSL instance instead of the Windows filesystem (ie. not in `/mnt`), as accessing it is currently [extremely slow](https://github.com/microsoft/WSL/issues/4197).
|
||||
|
@ -80,6 +80,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
||||
- Encoder Configuration
|
||||
- Bootmagic Configuration
|
||||
- LED Indicator Configuration
|
||||
- Run `qmk format-json` on this file before submitting your PR. Be sure to append the `-i` flag to directly modify the file, or paste the outputted code into the file.
|
||||
- `readme.md`
|
||||
- must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
|
||||
- flash command is present, and has `:flash` at end
|
||||
|
@ -2,9 +2,13 @@
|
||||
background-color: #555;
|
||||
}
|
||||
|
||||
.markdown-section p.tip,
|
||||
.markdown-section tr:nth-child(2n) {
|
||||
background-color:#444;
|
||||
background-color:#444;
|
||||
}
|
||||
|
||||
.markdown-section p.tip {
|
||||
background-color:#555;
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
.markdown-section tr {
|
||||
@ -16,7 +20,7 @@
|
||||
}
|
||||
|
||||
.markdown-section p.tip code {
|
||||
background-color: #555;
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# include "spi_master.h"
|
||||
#elif defined(OLED_TRANSPORT_I2C)
|
||||
# include "i2c_master.h"
|
||||
# if defined(USE_I2C) && defined(SPLIT_KEYBOARD)
|
||||
# include "keyboard.h"
|
||||
# endif
|
||||
#endif
|
||||
#include "oled_driver.h"
|
||||
#include OLED_FONT_H
|
||||
|
@ -454,7 +454,7 @@ void oled_scroll_set_area(uint8_t start_line, uint8_t end_line);
|
||||
// Sets scroll speed, 0-7, fastest to slowest. Default is three.
|
||||
// Does not take effect until scrolling is either started or restarted
|
||||
// the ssd1306 supports 8 speeds with the delay
|
||||
// listed below betwen each frame of the scrolling effect
|
||||
// listed below between each frame of the scrolling effect
|
||||
// 0=2, 1=3, 2=4, 3=5, 4=25, 5=64, 6=128, 7=256
|
||||
void oled_scroll_set_speed(uint8_t speed);
|
||||
|
||||
|
400
keyboards/1upkeyboards/1upslider8/1upslider8.c
Normal file
400
keyboards/1upkeyboards/1upslider8/1upslider8.c
Normal file
@ -0,0 +1,400 @@
|
||||
/* Copyright 2022 ziptyze
|
||||
*
|
||||
* 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 "analog.h"
|
||||
#include "qmk_midi.h"
|
||||
|
||||
#include "quantum.h"
|
||||
#include "quantum/midi/midi.h"
|
||||
#include "quantum/midi/midi_device.h"
|
||||
|
||||
uint8_t divisor = 0;
|
||||
void slider(void) {
|
||||
if (divisor++) { // only run the slider function 1/256 times it's called
|
||||
return;
|
||||
}
|
||||
midi_send_cc(&midi_device, 2, 0x3E, 0x7F - (analogReadPin(SLIDER_PIN) >> 3));
|
||||
uprintf("%d string", analogReadPin(SLIDER_PIN));
|
||||
}
|
||||
|
||||
void housekeeping_task_kb(void) {
|
||||
slider();
|
||||
housekeeping_task_user();
|
||||
}
|
||||
|
||||
static uint32_t oled_logo_timer = 0;
|
||||
static bool clear_logo = true;
|
||||
static const char PROGMEM my_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
|
||||
0xE0, 0xF0, 0x70, 0x70, 0x70, 0x70,
|
||||
0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x63, 0xE7, 0xE7, 0xCE, 0xCE,
|
||||
0xCE, 0xCE, 0xFC, 0xFC, 0x78, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC1,
|
||||
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, 0xFF,
|
||||
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x07, 0x07, 0x07, 0x07, 0x07,
|
||||
0x07, 0x07, 0x07, 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,
|
||||
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFC, 0xFC, 0xFC, 0x1C, 0x1C, 0x1C,
|
||||
0x1C, 0x3C, 0xF8, 0xF8, 0xE0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x70,
|
||||
0x70, 0x70, 0x70, 0x78, 0x3F, 0x3F,
|
||||
0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
|
||||
0xF0, 0xF0, 0x70, 0x70, 0x70, 0x70,
|
||||
0x70, 0x70, 0x70, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE,
|
||||
0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xC0, 0xC1, 0xC1, 0xC1,
|
||||
0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x81,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
|
||||
0xFF, 0x39, 0x39, 0x79, 0xF9, 0xF9,
|
||||
0xDF, 0x9F, 0x0F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x07, 0x07, 0x00, 0x00, 0x00,
|
||||
0x00, 0x03, 0x07, 0x07, 0x06, 0x04,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1C, 0xBE,
|
||||
0xFF, 0x63, 0x63, 0xFF, 0xBE, 0x1C,
|
||||
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, 0x0F, 0x1F, 0x18, 0x18, 0x1F,
|
||||
0x0F, 0x07, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_270;
|
||||
}
|
||||
|
||||
|
||||
static const char PROGMEM ou_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFC, 0xFC, 0xCF, 0xCF,
|
||||
0x03, 0x03, 0x03, 0x03, 0xFF, 0xFF,
|
||||
0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03,
|
||||
0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03,
|
||||
0x03, 0x03, 0xF3, 0xF3, 0x03, 0x03,
|
||||
0x0C, 0x0C, 0xFC, 0xFC, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0,
|
||||
0xFF, 0xFF, 0xF0, 0xF0, 0xC3, 0xC3,
|
||||
0xC0, 0xC0, 0xF0, 0xF0, 0xFF, 0xFF,
|
||||
0xC0, 0xC0, 0xC0, 0xC0, 0xFC, 0xFC,
|
||||
0x0C, 0x0C, 0x0F, 0x0F, 0x03, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
|
||||
static char PROGMEM caps_on[] = {
|
||||
0x00, 0x00, 0x00, 0xF8, 0x04, 0x04,
|
||||
0x04, 0x88, 0x00, 0x00, 0xE0, 0x58,
|
||||
0x44, 0x58, 0xE0, 0x00, 0x00, 0xFC,
|
||||
0x24, 0x24, 0x24, 0x18, 0x00, 0x00,
|
||||
0x98, 0x24, 0x24, 0x24, 0xC8, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x00, 0x00, 0x81,
|
||||
0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF1,
|
||||
0xF0, 0xF1, 0xF0, 0xF0, 0xE0, 0xC0,
|
||||
0x80, 0x00, 0x00, 0x01, 0x01, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F,
|
||||
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
|
||||
0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
static char PROGMEM caps_off[] = {
|
||||
0x00, 0x00, 0x00, 0xF8, 0x04, 0x04,
|
||||
0x04, 0x88, 0x00, 0x00, 0xE0, 0x58,
|
||||
0x44, 0x58, 0xE0, 0x00, 0x00, 0xFC,
|
||||
0x24, 0x24, 0x24, 0x18, 0x00, 0x00,
|
||||
0x98, 0x24, 0x24, 0x24, 0xC8, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x00, 0x00, 0x81,
|
||||
0xC0, 0xE0, 0xF0, 0x70, 0x30, 0x31,
|
||||
0x30, 0x31, 0x70, 0xF0, 0xE0, 0xC0,
|
||||
0x80, 0x00, 0x00, 0x01, 0x01, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E,
|
||||
0x3C, 0x38, 0x30, 0x30, 0x30, 0x30,
|
||||
0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
static const char PROGMEM num_on[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
|
||||
0x18, 0x20, 0xC0, 0xFC, 0x00, 0x00,
|
||||
0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC,
|
||||
0x00, 0x00, 0xFC, 0x18, 0x60, 0x80,
|
||||
0x60, 0x18, 0xFC, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x81,
|
||||
0xC0, 0xE0, 0xF0, 0xF0, 0xF1, 0xF1,
|
||||
0xF1, 0xF0, 0xF0, 0xF0, 0xE1, 0xC0,
|
||||
0x80, 0x01, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F,
|
||||
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
|
||||
0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
static const char PROGMEM num_off[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
|
||||
0x18, 0x20, 0xC0, 0xFC, 0x00, 0x00,
|
||||
0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC,
|
||||
0x00, 0x00, 0xFC, 0x18, 0x60, 0x80,
|
||||
0x60, 0x18, 0xFC, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x81,
|
||||
0xC0, 0xE0, 0xF0, 0x70, 0x31, 0x31,
|
||||
0x31, 0x30, 0x70, 0xF0, 0xE1, 0xC0,
|
||||
0x80, 0x01, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E,
|
||||
0x3C, 0x38, 0x30, 0x30, 0x30, 0x30,
|
||||
0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
static const char PROGMEM scrl_on[] = {
|
||||
0x00, 0x00, 0x00, 0x98, 0x24, 0x24,
|
||||
0x24, 0xC8, 0x00, 0x00, 0xF8, 0x04,
|
||||
0x04, 0x04, 0x88, 0x00, 0x00, 0xFC,
|
||||
0x24, 0x24, 0xE4, 0x18, 0x00, 0x00,
|
||||
0x00, 0xFC, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x00, 0x00, 0x80,
|
||||
0xC0, 0xE1, 0xF1, 0xF1, 0xF0, 0xF0,
|
||||
0xF0, 0xF1, 0xF0, 0xF0, 0xE0, 0xC1,
|
||||
0x80, 0x00, 0x00, 0x01, 0x01, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F,
|
||||
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
|
||||
0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
static const char PROGMEM scrl_off[] = {
|
||||
0x00, 0x00, 0x00, 0x98, 0x24, 0x24,
|
||||
0x24, 0xC8, 0x00, 0x00, 0xF8, 0x04,
|
||||
0x04, 0x04, 0x88, 0x00, 0x00, 0xFC,
|
||||
0x24, 0x24, 0xE4, 0x18, 0x00, 0x00,
|
||||
0x00, 0xFC, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x01, 0x01, 0x00, 0x00, 0x80,
|
||||
0xC0, 0xE1, 0xF1, 0x71, 0x30, 0x30,
|
||||
0x30, 0x31, 0x70, 0xF0, 0xE0, 0xC1,
|
||||
0x80, 0x00, 0x00, 0x01, 0x01, 0x01,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E,
|
||||
0x3C, 0x38, 0x30, 0x30, 0x30, 0x30,
|
||||
0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
static void render_oled(void) {
|
||||
const int combined_size = sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off) + sizeof(scrl_off);
|
||||
char combined[combined_size];
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
|
||||
memcpy_P(combined, ou_logo, sizeof(ou_logo));
|
||||
|
||||
if (led_state.caps_lock) {
|
||||
memcpy_P(combined + sizeof(ou_logo), caps_on, sizeof(caps_off));
|
||||
}
|
||||
else {
|
||||
memcpy_P(combined + sizeof(ou_logo), caps_off, sizeof(caps_off));
|
||||
}
|
||||
|
||||
if (led_state.num_lock) {
|
||||
memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off), num_on, sizeof(num_off));
|
||||
}
|
||||
else {
|
||||
memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off), num_off, sizeof(num_off));
|
||||
}
|
||||
|
||||
if (led_state.scroll_lock) {
|
||||
memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off), scrl_on, sizeof(scrl_off));
|
||||
}
|
||||
else {
|
||||
memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off), scrl_off, sizeof(scrl_off));
|
||||
}
|
||||
|
||||
oled_write_raw_P(combined, sizeof(combined));
|
||||
}
|
||||
|
||||
void render_logo(void) {
|
||||
oled_write_raw_P(my_logo, sizeof(my_logo));
|
||||
}
|
||||
|
||||
void clear_screen(void) {
|
||||
if (clear_logo){
|
||||
for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
|
||||
for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
|
||||
oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j);
|
||||
}
|
||||
}
|
||||
clear_logo = false;
|
||||
}
|
||||
}
|
||||
|
||||
#define MIDI_CONTROL_CHANGE 0xB0
|
||||
|
||||
MidiDevice _midi_device;
|
||||
|
||||
void midi_callback(uint8_t cable, uint8_t *midi_data, uint16_t length) {
|
||||
// Check if this is a MIDI CC message on channel 2
|
||||
if ((midi_data[0] & 0xF0) == MIDI_CONTROL_CHANGE && midi_data[0] & (0x0F == 1)) {
|
||||
uprintf("%s string", midi_data );
|
||||
// ...
|
||||
}
|
||||
}
|
||||
|
||||
void slider8_cc_callback(struct _midi_device *dev, uint8_t cable, uint8_t code_index, uint8_t value) {
|
||||
midi_callback(MIDI_CONTROL_CHANGE, &value, 1);
|
||||
}
|
||||
|
||||
void init_timer(void){
|
||||
oled_logo_timer = timer_read32();
|
||||
};
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
init_timer();
|
||||
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
midi_register_cc_callback(&_midi_device, slider8_cc_callback);
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
#ifndef SHOW_LOGO
|
||||
# define SHOW_LOGO 5000
|
||||
#endif
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) { return false; }
|
||||
if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){
|
||||
render_logo();
|
||||
}else{
|
||||
clear_screen();
|
||||
render_oled();
|
||||
}
|
||||
return false;
|
||||
}
|
29
keyboards/1upkeyboards/1upslider8/config.h
Normal file
29
keyboards/1upkeyboards/1upslider8/config.h
Normal file
@ -0,0 +1,29 @@
|
||||
/* Copyright 2023 Ziptyze
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define I2C1_SCL_PIN GP11
|
||||
#define I2C1_SDA_PIN GP10
|
||||
#define OLED_BRIGHTNESS 128
|
||||
|
||||
#define SLIDER_PIN GP28
|
||||
#define MIDI_ADVANCED
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 8
|
||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
9
keyboards/1upkeyboards/1upslider8/halconf.h
Normal file
9
keyboards/1upkeyboards/1upslider8/halconf.h
Normal file
@ -0,0 +1,9 @@
|
||||
// Copyright 2023 ziptyze
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later#pragma once
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C TRUE
|
||||
#define HAL_USE_ADC TRUE
|
||||
|
||||
#include_next <halconf.h>
|
115
keyboards/1upkeyboards/1upslider8/info.json
Normal file
115
keyboards/1upkeyboards/1upslider8/info.json
Normal file
@ -0,0 +1,115 @@
|
||||
{
|
||||
"manufacturer": "1upkeyboards",
|
||||
"keyboard_name": "1upslider8",
|
||||
"maintainer": "ziptyze",
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x5611",
|
||||
"vid": "0x6F75"
|
||||
},
|
||||
"dynamic_keymap": {
|
||||
"layer_count": 10
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"oled": true,
|
||||
"midi":true,
|
||||
"rgb_matrix": true,
|
||||
"encoder": true
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{
|
||||
"pin_a": "GP21",
|
||||
"pin_b": "GP22"
|
||||
}
|
||||
]
|
||||
},
|
||||
"matrix_pins": {
|
||||
"direct": [
|
||||
["GP27", "GP17", "GP18", "GP19", "GP20", "GP15", "GP14", "GP13", "GP16"]
|
||||
]
|
||||
},
|
||||
"bootmagic": {
|
||||
"matrix": [0, 1]
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "GP26",
|
||||
"driver": "vendor"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"rainbow_moving_chevron":true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"typing_heatmap": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{ "flags": 4, "matrix": [0, 1], "x": 28, "y": 16 },
|
||||
{ "flags": 4, "matrix": [0, 2], "x": 84, "y": 16 },
|
||||
{ "flags": 4, "matrix": [0, 3], "x": 140, "y": 16 },
|
||||
{ "flags": 4, "matrix": [0, 4], "x": 196, "y": 16 },
|
||||
{ "flags": 4, "matrix": [0, 5], "x": 28, "y": 48 },
|
||||
{ "flags": 4, "matrix": [0, 6], "x": 84, "y": 48 },
|
||||
{ "flags": 4, "matrix": [0, 7], "x": 140, "y": 48 },
|
||||
{ "flags": 4, "matrix": [0, 8], "x": 196, "y": 48 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "enc", "matrix": [0, 0], "x": 3, "y": 0 },
|
||||
{ "label": "1", "matrix": [0, 1], "x": 0, "y": 1 },
|
||||
{ "label": "2", "matrix": [0, 2], "x": 1, "y": 1 },
|
||||
{ "label": "3", "matrix": [0, 3], "x": 2, "y": 1 },
|
||||
{ "label": "4", "matrix": [0, 4], "x": 3, "y": 1 },
|
||||
{ "label": "5", "matrix": [0, 5], "x": 0, "y": 2 },
|
||||
{ "label": "6", "matrix": [0, 6], "x": 1, "y": 2 },
|
||||
{ "label": "7", "matrix": [0, 7], "x": 2, "y": 2 },
|
||||
{ "label": "8", "matrix": [0, 8], "x": 3, "y": 2 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
31
keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c
Normal file
31
keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c
Normal file
@ -0,0 +1,31 @@
|
||||
/* Copyright 2022 ziptyze
|
||||
*
|
||||
* 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(
|
||||
RGB_TOG,
|
||||
KC_1, KC_2, KC_3, KC_4,
|
||||
KC_5, KC_6, KC_7, KC_8
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)}
|
||||
};
|
||||
#endif
|
@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
31
keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c
Normal file
31
keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c
Normal file
@ -0,0 +1,31 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* 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(
|
||||
RGB_TOG,
|
||||
KC_1, KC_2, KC_3, KC_4,
|
||||
KC_5, KC_6, KC_7, KC_8
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)}
|
||||
};
|
||||
#endif
|
3
keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk
Normal file
3
keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk
Normal file
@ -0,0 +1,3 @@
|
||||
VIA_ENABLE = yes
|
||||
|
||||
ENCODER_MAP_ENABLE = yes
|
11
keyboards/1upkeyboards/1upslider8/mcuconf.h
Normal file
11
keyboards/1upkeyboards/1upslider8/mcuconf.h
Normal file
@ -0,0 +1,11 @@
|
||||
// Copyright 2023 ziptyze
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later#pragma once
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef RP_I2C_USE_I2C1
|
||||
#undef RP_ADC_USE_ADC1
|
||||
#define RP_I2C_USE_I2C1 TRUE
|
||||
#define RP_ADC_USE_ADC1 TRUE
|
27
keyboards/1upkeyboards/1upslider8/readme.md
Normal file
27
keyboards/1upkeyboards/1upslider8/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# slider8
|
||||
|
||||
![slider8](https://i.imgur.com/AiVQySnh.jpg)
|
||||
|
||||
|
||||
This keyboard is the slider8 from 1upkeyboards.com, a small macropad with an oled, slide potentiometer, rotary encoder, and 8 switches in a 2x4 ortholinear arrangement with per-key in-switch rgb leds.
|
||||
|
||||
The slide potentiometer presents to the computer as a midi device and will need a seperate program to map to device control.
|
||||
|
||||
* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 1upkeyboards/1upslider8:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 1upkeyboards/1upslider8:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 2 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
|
||||
* **Physical reset button**: Hold down the button on the pi pico and plug in the keyboard
|
1
keyboards/1upkeyboards/1upslider8/rules.mk
Normal file
1
keyboards/1upkeyboards/1upslider8/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
SRC += analog.c
|
22
keyboards/1upkeyboards/1upsuper16v3/config.h
Normal file
22
keyboards/1upkeyboards/1upsuper16v3/config.h
Normal file
@ -0,0 +1,22 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 48
|
||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
164
keyboards/1upkeyboards/1upsuper16v3/info.json
Normal file
164
keyboards/1upkeyboards/1upsuper16v3/info.json
Normal file
@ -0,0 +1,164 @@
|
||||
{
|
||||
"manufacturer": "1upkeyboards",
|
||||
"keyboard_name": "1upsuper16v3",
|
||||
"maintainer": "ziptyze",
|
||||
"bootloader": "rp2040",
|
||||
"dynamic_keymap": {
|
||||
"layer_count": 10
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "GP20", "pin_b": "GP21"},
|
||||
{"pin_a": "GP25", "pin_b": "GP26"},
|
||||
{"pin_a": "GP2", "pin_b": "GP3"},
|
||||
{"pin_a": "GP6", "pin_b": "GP7"}
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"direct": [
|
||||
["GP23", "GP24", "GP4", "GP5"],
|
||||
["GP19", "GP27", "GP1", "GP8"],
|
||||
["GP18", "GP28", "GP0", "GP9"],
|
||||
["GP17", "GP16", "GP15", "GP11"]
|
||||
]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_sat": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"band_val": true,
|
||||
"breathing": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"cycle_up_down": true,
|
||||
"digital_rain": true,
|
||||
"dual_beacon": true,
|
||||
"gradient_left_right": true,
|
||||
"gradient_up_down": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"jellybean_raindrops": true,
|
||||
"multisplash": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_rain": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"solid_multisplash": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_splash": true,
|
||||
"splash": true,
|
||||
"typing_heatmap": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"x": 99, "y": 1, "flags": 2},
|
||||
{"x": 70, "y": 1, "flags": 2},
|
||||
{"x": 42, "y": 1, "flags": 2},
|
||||
{"x": 14, "y": 1, "flags": 2},
|
||||
{"x": 4, "y": 4, "flags": 2},
|
||||
{"x": 4, "y": 12, "flags": 2},
|
||||
{"matrix": [0, 0], "x": 28, "y": 8, "flags": 4},
|
||||
{"matrix": [0, 1], "x": 84, "y": 8, "flags": 4},
|
||||
{"x": 4, "y": 20, "flags": 2},
|
||||
{"x": 4, "y": 28, "flags": 2},
|
||||
{"matrix": [1, 0], "x": 28, "y": 24, "flags": 4},
|
||||
{"matrix": [1, 1], "x": 84, "y": 24, "flags": 4},
|
||||
{"x": 4, "y": 36, "flags": 2},
|
||||
{"x": 4, "y": 44, "flags": 2},
|
||||
{"matrix": [2, 0], "x": 28, "y": 40, "flags": 4},
|
||||
{"matrix": [2, 1], "x": 84, "y": 40, "flags": 4},
|
||||
{"x": 4, "y": 52, "flags": 2},
|
||||
{"x": 4, "y": 60, "flags": 2},
|
||||
{"x": 14, "y": 63, "flags": 2},
|
||||
{"matrix": [3, 0], "x": 28, "y": 56, "flags": 4},
|
||||
{"x": 42, "y": 63, "flags": 2},
|
||||
{"x": 70, "y": 63, "flags": 2},
|
||||
{"matrix": [3, 1], "x": 84, "y": 56, "flags": 4},
|
||||
{"x": 99, "y": 63, "flags": 2},
|
||||
{"x": 126, "y": 63, "flags": 2},
|
||||
{"matrix": [3, 2], "x": 140, "y": 56, "flags": 4},
|
||||
{"x": 154, "y": 63, "flags": 2},
|
||||
{"x": 182, "y": 63, "flags": 2},
|
||||
{"matrix": [3, 3], "x": 196, "y": 56, "flags": 4},
|
||||
{"x": 210, "y": 63, "flags": 2},
|
||||
{"x": 220, "y": 60, "flags": 2},
|
||||
{"x": 220, "y": 52, "flags": 2},
|
||||
{"x": 220, "y": 44, "flags": 2},
|
||||
{"matrix": [2, 3], "x": 196, "y": 40, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 140, "y": 40, "flags": 4},
|
||||
{"x": 220, "y": 36, "flags": 2},
|
||||
{"x": 220, "y": 28, "flags": 2},
|
||||
{"matrix": [1, 3], "x": 196, "y": 24, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 140, "y": 24, "flags": 4},
|
||||
{"x": 220, "y": 20, "flags": 2},
|
||||
{"x": 220, "y": 12, "flags": 2},
|
||||
{"matrix": [0, 3], "x": 196, "y": 8, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 140, "y": 8, "flags": 4},
|
||||
{"x": 220, "y": 4, "flags": 2},
|
||||
{"x": 210, "y": 1, "flags": 2},
|
||||
{"x": 182, "y": 1, "flags": 2},
|
||||
{"x": 154, "y": 1, "flags": 2},
|
||||
{"x": 126, "y": 1, "flags": 2}
|
||||
]
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x5610",
|
||||
"vid": "0x6F75"
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "vendor",
|
||||
"pin": "GP29"
|
||||
},
|
||||
"community_layouts": ["ortho_4x4"],
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x4": {
|
||||
"layout": [
|
||||
{"label": "00", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "01", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "02", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "03", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "10", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "11", "matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"label": "12", "matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"label": "13", "matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"label": "20", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "21", "matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"label": "22", "matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"label": "23", "matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"label": "30", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "31", "matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"label": "32", "matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"label": "33", "matrix": [3, 3], "x": 3, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
39
keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c
Normal file
39
keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c
Normal file
@ -0,0 +1,39 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* 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(
|
||||
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(
|
||||
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
|
||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
|
||||
RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||
};
|
||||
#endif
|
@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
39
keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c
Normal file
39
keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c
Normal file
@ -0,0 +1,39 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* 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(
|
||||
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(
|
||||
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
|
||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
|
||||
RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
|
||||
};
|
||||
#endif
|
4
keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk
Normal file
4
keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk
Normal file
@ -0,0 +1,4 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
ENCODER_MAP_ENABLE = yes
|
22
keyboards/1upkeyboards/1upsuper16v3/readme.md
Normal file
22
keyboards/1upkeyboards/1upsuper16v3/readme.md
Normal file
@ -0,0 +1,22 @@
|
||||
# 1upSuper16v3
|
||||
|
||||
This keyboard is the Super16v3 from 1upkeyboards, a 4x4 macropad with the option for up to four encoders in the top row. Notable features include in-switch per-key addressable RGB LEDs and thirty two 1mm underglow RGB LEDs; for bright and smooth lighting effects. The Super16v3 utilises an rp2040 microcontroller, wired using direct pins.
|
||||
|
||||
* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 1upkeyboards/1upsuper16v3:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 1upkeyboards/1upsuper16v3:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 2 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix. For this keyboard it is the top left button
|
||||
* **Physical reset button**: Hold the button on the back of the PCB and plug in the keyboard
|
0
keyboards/1upkeyboards/1upsuper16v3/rules.mk
Normal file
0
keyboards/1upkeyboards/1upsuper16v3/rules.mk
Normal file
@ -41,6 +41,16 @@
|
||||
},
|
||||
"processor": "STM32F072",
|
||||
"bootloader": "stm32-dfu",
|
||||
"community_layouts": [
|
||||
"60_ansi",
|
||||
"60_ansi_split_bs_rshift",
|
||||
"60_ansi_tsangan",
|
||||
"60_tsangan_hhkb",
|
||||
"60_hhkb",
|
||||
"60_iso",
|
||||
"60_iso_split_bs_rshift",
|
||||
"60_iso_tsangan"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
@ -115,6 +125,75 @@
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
@ -186,6 +265,74 @@
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_tsangan": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"label": "|", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_tsangan_hhkb": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
@ -323,6 +470,288 @@
|
||||
{"label": "GUI", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"label": "Alt", "matrix": [9, 5], "x": 12.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "\"", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "\"", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "|", "matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"label": "Backspace", "matrix": [3, 6], "x": 14, "y": 0},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "\"", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "\"", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "|", "matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"label": "Backspace", "matrix": [3, 6], "x": 14, "y": 0},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
```
|
||||
┌───────┐
|
||||
2u Backspace │36? │
|
||||
2u Backspace │36 │
|
||||
└───────┘
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │16 │36 │
|
||||
@ -19,6 +19,6 @@
|
||||
│60 │ 2.25u LShift 2.75u RShift │66 │
|
||||
└────────┘ └──────────┘
|
||||
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
│80 │90 │91 │93 │85 │95 │86 │ Tsangan/WKL/HHKB
|
||||
│80 │90 │91 │93 │85 │95 │86 │ Tsangan/HHKB
|
||||
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
```
|
||||
|
@ -9,8 +9,14 @@
|
||||
"rows": ["F0", "F1", "F4", "F5", "F6", "B1", "B2", "B3", "D3", "D5", "F7"],
|
||||
"cols": ["D0", "D1", "D2", "B0", "D4", "B4", "D6", "D7", "B5"]
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan"
|
||||
},
|
||||
"community_layouts": [
|
||||
"tkl_f13_ansi_tsangan"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"LAYOUT_tkl_f13_ansi_tsangan": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix":[0,0],"x": 0, "y": 0 },
|
||||
{ "label": "F1", "matrix":[0,1],"x": 1.25, "y": 0 },
|
||||
@ -21,90 +27,90 @@
|
||||
{ "label": "F6", "matrix":[0,6],"x": 6.5, "y": 0 },
|
||||
{ "label": "F7", "matrix":[0,7],"x": 7.5, "y": 0 },
|
||||
{ "label": "F8", "matrix":[5,8],"x": 8.5, "y": 0 },
|
||||
{ "label": "F9", "matrix":[5,7],"x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "matrix":[5,7],"x": 9.75, "y": 0 },
|
||||
{ "label": "F10", "matrix":[5,6],"x": 10.75, "y": 0 },
|
||||
{ "label": "F11", "matrix":[5,5],"x": 11.75, "y": 0 },
|
||||
{ "label": "F12", "matrix":[5,4],"x": 12.75, "y": 0 },
|
||||
{ "label": "F13", "matrix":[5,3],"x": 13.75, "y": 0 },
|
||||
{ "label": "F13", "matrix":[5,3],"x": 14, "y": 0 },
|
||||
{ "label": "Prtsc", "matrix":[5,2],"x": 15.25, "y": 0 },
|
||||
{ "label": "Scrlk", "matrix":[5,1],"x": 16.25, "y": 0 },
|
||||
{ "label": "Pause", "matrix":[5,0],"x": 17.25, "y": 0 },
|
||||
|
||||
{ "label": "~", "matrix":[1,0],"x": 0, "y": 1.5 },
|
||||
{ "label": "1", "matrix":[1,1],"x": 1, "y": 1.5 },
|
||||
{ "label": "2", "matrix":[1,2],"x": 2, "y": 1.5 },
|
||||
{ "label": "3", "matrix":[1,3],"x": 3, "y": 1.5 },
|
||||
{ "label": "4", "matrix":[1,4],"x": 4, "y": 1.5 },
|
||||
{ "label": "5", "matrix":[1,5],"x": 5, "y": 1.5 },
|
||||
{ "label": "6", "matrix":[1,6],"x": 6, "y": 1.5 },
|
||||
{ "label": "7", "matrix":[1,7],"x": 7, "y": 1.5 },
|
||||
{ "label": "8", "matrix":[1,8],"x": 8, "y": 1.5 },
|
||||
{ "label": "9", "matrix":[6,8],"x": 9, "y": 1.5 },
|
||||
{ "label": "0", "matrix":[6,7],"x": 10, "y": 1.5 },
|
||||
{ "label": "-", "matrix":[6,6],"x": 11, "y": 1.5 },
|
||||
{ "label": "=", "matrix":[6,5],"x": 12, "y": 1.5 },
|
||||
{ "label": "backspace", "matrix":[6,4],"x": 13, "y": 1.5, "w": 2 },
|
||||
{ "label": "insert", "matrix":[6,2],"x": 15.25, "y": 1.5 },
|
||||
{ "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.5 },
|
||||
{ "label": "pg up", "matrix":[6,0],"x": 17.25, "y": 1.5 },
|
||||
{ "label": "~", "matrix":[1,0],"x": 0, "y": 1.25 },
|
||||
{ "label": "1", "matrix":[1,1],"x": 1, "y": 1.25 },
|
||||
{ "label": "2", "matrix":[1,2],"x": 2, "y": 1.25 },
|
||||
{ "label": "3", "matrix":[1,3],"x": 3, "y": 1.25 },
|
||||
{ "label": "4", "matrix":[1,4],"x": 4, "y": 1.25 },
|
||||
{ "label": "5", "matrix":[1,5],"x": 5, "y": 1.25 },
|
||||
{ "label": "6", "matrix":[1,6],"x": 6, "y": 1.25 },
|
||||
{ "label": "7", "matrix":[1,7],"x": 7, "y": 1.25 },
|
||||
{ "label": "8", "matrix":[1,8],"x": 8, "y": 1.25 },
|
||||
{ "label": "9", "matrix":[6,8],"x": 9, "y": 1.25 },
|
||||
{ "label": "0", "matrix":[6,7],"x": 10, "y": 1.25 },
|
||||
{ "label": "-", "matrix":[6,6],"x": 11, "y": 1.25 },
|
||||
{ "label": "=", "matrix":[6,5],"x": 12, "y": 1.25 },
|
||||
{ "label": "backspace", "matrix":[6,4],"x": 13, "y": 1.25, "w": 2 },
|
||||
{ "label": "insert", "matrix":[6,2],"x": 15.25, "y": 1.25 },
|
||||
{ "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.25 },
|
||||
{ "label": "pg up", "matrix":[6,0],"x": 17.25, "y": 1.25 },
|
||||
|
||||
{ "label": "tab", "matrix":[2,0],"x": 0, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "q", "matrix":[2,1],"x": 1.5, "y": 2.5 },
|
||||
{ "label": "w", "matrix":[2,2],"x": 2.5, "y": 2.5 },
|
||||
{ "label": "e", "matrix":[2,3],"x": 3.5, "y": 2.5 },
|
||||
{ "label": "r", "matrix":[2,4],"x": 4.5, "y": 2.5 },
|
||||
{ "label": "t", "matrix":[2,5],"x": 5.5, "y": 2.5 },
|
||||
{ "label": "y", "matrix":[2,6],"x": 6.5, "y": 2.5 },
|
||||
{ "label": "u", "matrix":[2,7],"x": 7.5, "y": 2.5 },
|
||||
{ "label": "i", "matrix":[2,8],"x": 8.5, "y": 2.5 },
|
||||
{ "label": "o", "matrix":[7,8],"x": 9.5, "y": 2.5 },
|
||||
{ "label": "p", "matrix":[7,7],"x": 10.5, "y": 2.5 },
|
||||
{ "label": "{", "matrix":[7,6],"x": 11.5, "y": 2.5 },
|
||||
{ "label": "}", "matrix":[7,5],"x": 12.5, "y": 2.5 },
|
||||
{ "label": "|", "matrix":[7,4],"x": 13.5, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "delete", "matrix":[7,2],"x": 15.25, "y": 2.5 },
|
||||
{ "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.5 },
|
||||
{ "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 2.5 },
|
||||
{ "label": "tab", "matrix":[2,0],"x": 0, "y": 2.25, "w": 1.5 },
|
||||
{ "label": "q", "matrix":[2,1],"x": 1.5, "y": 2.25 },
|
||||
{ "label": "w", "matrix":[2,2],"x": 2.5, "y": 2.25 },
|
||||
{ "label": "e", "matrix":[2,3],"x": 3.5, "y": 2.25 },
|
||||
{ "label": "r", "matrix":[2,4],"x": 4.5, "y": 2.25 },
|
||||
{ "label": "t", "matrix":[2,5],"x": 5.5, "y": 2.25 },
|
||||
{ "label": "y", "matrix":[2,6],"x": 6.5, "y": 2.25 },
|
||||
{ "label": "u", "matrix":[2,7],"x": 7.5, "y": 2.25 },
|
||||
{ "label": "i", "matrix":[2,8],"x": 8.5, "y": 2.25 },
|
||||
{ "label": "o", "matrix":[7,8],"x": 9.5, "y": 2.25 },
|
||||
{ "label": "p", "matrix":[7,7],"x": 10.5, "y": 2.25 },
|
||||
{ "label": "{", "matrix":[7,6],"x": 11.5, "y": 2.25 },
|
||||
{ "label": "}", "matrix":[7,5],"x": 12.5, "y": 2.25 },
|
||||
{ "label": "|", "matrix":[7,4],"x": 13.5, "y": 2.25, "w": 1.5 },
|
||||
{ "label": "delete", "matrix":[7,2],"x": 15.25, "y": 2.25 },
|
||||
{ "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.25 },
|
||||
{ "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 2.25 },
|
||||
|
||||
{ "label": "capslock", "matrix":[3,0],"x": 0, "y": 3.5, "w": 1.75 },
|
||||
{ "label": "a", "matrix":[3,1],"x": 1.75, "y": 3.5 },
|
||||
{ "label": "s", "matrix":[3,2],"x": 2.75, "y": 3.5 },
|
||||
{ "label": "d", "matrix":[3,3],"x": 3.75, "y": 3.5 },
|
||||
{ "label": "f", "matrix":[3,4],"x": 4.75, "y": 3.5 },
|
||||
{ "label": "g", "matrix":[3,5],"x": 5.75, "y": 3.5 },
|
||||
{ "label": "h", "matrix":[3,6],"x": 6.75, "y": 3.5 },
|
||||
{ "label": "j", "matrix":[3,7],"x": 7.75, "y": 3.5 },
|
||||
{ "label": "k", "matrix":[3,8],"x": 8.75, "y": 3.5 },
|
||||
{ "label": "l", "matrix":[8,8],"x": 9.75, "y": 3.5 },
|
||||
{ "label": ";", "matrix":[8,7],"x": 10.75, "y": 3.5 },
|
||||
{ "label": "'", "matrix":[8,6],"x": 11.75, "y": 3.5 },
|
||||
{ "label": "enter", "matrix":[8,5],"x": 12.75, "y": 3.5, "w": 2.25 },
|
||||
{ "label": "capslock", "matrix":[3,0],"x": 0, "y": 3.25, "w": 1.75 },
|
||||
{ "label": "a", "matrix":[3,1],"x": 1.75, "y": 3.25 },
|
||||
{ "label": "s", "matrix":[3,2],"x": 2.75, "y": 3.25 },
|
||||
{ "label": "d", "matrix":[3,3],"x": 3.75, "y": 3.25 },
|
||||
{ "label": "f", "matrix":[3,4],"x": 4.75, "y": 3.25 },
|
||||
{ "label": "g", "matrix":[3,5],"x": 5.75, "y": 3.25 },
|
||||
{ "label": "h", "matrix":[3,6],"x": 6.75, "y": 3.25 },
|
||||
{ "label": "j", "matrix":[3,7],"x": 7.75, "y": 3.25 },
|
||||
{ "label": "k", "matrix":[3,8],"x": 8.75, "y": 3.25 },
|
||||
{ "label": "l", "matrix":[8,8],"x": 9.75, "y": 3.25 },
|
||||
{ "label": ";", "matrix":[8,7],"x": 10.75, "y": 3.25 },
|
||||
{ "label": "'", "matrix":[8,6],"x": 11.75, "y": 3.25 },
|
||||
{ "label": "enter", "matrix":[8,5],"x": 12.75, "y": 3.25, "w": 2.25 },
|
||||
|
||||
{ "label": "leftshift", "matrix":[4,0],"x": 0, "y": 4.5, "w": 2.25 },
|
||||
{ "label": "z", "matrix":[4,1],"x": 2.25, "y": 4.5 },
|
||||
{ "label": "x", "matrix":[4,2],"x": 3.25, "y": 4.5 },
|
||||
{ "label": "c", "matrix":[4,3],"x": 4.25, "y": 4.5 },
|
||||
{ "label": "v", "matrix":[4,4],"x": 5.25, "y": 4.5 },
|
||||
{ "label": "b", "matrix":[4,5],"x": 6.25, "y": 4.5 },
|
||||
{ "label": "n", "matrix":[4,6],"x": 7.25, "y": 4.5 },
|
||||
{ "label": "m", "matrix":[4,7],"x": 8.25, "y": 4.5 },
|
||||
{ "label": ",", "matrix":[4,8],"x": 9.25, "y": 4.5 },
|
||||
{ "label": ".", "matrix":[9,8],"x": 10.25, "y": 4.5 },
|
||||
{ "label": "/", "matrix":[9,7],"x": 11.25, "y": 4.5 },
|
||||
{ "label": "rightshift", "matrix":[9,6],"x": 12.25, "y": 4.5, "w": 2.75 },
|
||||
{ "label": "up", "matrix":[8,1],"x": 16.25, "y": 4.5 },
|
||||
{ "label": "leftshift", "matrix":[4,0],"x": 0, "y": 4.25, "w": 2.25 },
|
||||
{ "label": "z", "matrix":[4,1],"x": 2.25, "y": 4.25 },
|
||||
{ "label": "x", "matrix":[4,2],"x": 3.25, "y": 4.25 },
|
||||
{ "label": "c", "matrix":[4,3],"x": 4.25, "y": 4.25 },
|
||||
{ "label": "v", "matrix":[4,4],"x": 5.25, "y": 4.25 },
|
||||
{ "label": "b", "matrix":[4,5],"x": 6.25, "y": 4.25 },
|
||||
{ "label": "n", "matrix":[4,6],"x": 7.25, "y": 4.25 },
|
||||
{ "label": "m", "matrix":[4,7],"x": 8.25, "y": 4.25 },
|
||||
{ "label": ",", "matrix":[4,8],"x": 9.25, "y": 4.25 },
|
||||
{ "label": ".", "matrix":[9,8],"x": 10.25, "y": 4.25 },
|
||||
{ "label": "/", "matrix":[9,7],"x": 11.25, "y": 4.25 },
|
||||
{ "label": "rightshift", "matrix":[9,6],"x": 12.25, "y": 4.25, "w": 2.75 },
|
||||
{ "label": "up", "matrix":[8,1],"x": 16.25, "y": 4.25 },
|
||||
|
||||
{ "label": "lctrl", "matrix":[10,0],"x": 0, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "lwin", "matrix":[10,1],"x": 1.5, "y": 5.5 },
|
||||
{ "label": "lalt", "matrix":[10,2],"x": 2.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "space", "matrix":[10,3],"x": 4, "y": 5.5, "w": 7 },
|
||||
{ "label": "ralt", "matrix":[10,5],"x": 11, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.5, "w": 1 },
|
||||
{ "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.5, "w":1.5},
|
||||
{ "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.5 },
|
||||
{ "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.5 },
|
||||
{ "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.5 }
|
||||
{ "label": "lctrl", "matrix":[10,0],"x": 0, "y": 5.25, "w": 1.5 },
|
||||
{ "label": "lwin", "matrix":[10,1],"x": 1.5, "y": 5.25 },
|
||||
{ "label": "lalt", "matrix":[10,2],"x": 2.5, "y": 5.25, "w": 1.5 },
|
||||
{ "label": "space", "matrix":[10,3],"x": 4, "y": 5.25, "w": 7 },
|
||||
{ "label": "ralt", "matrix":[10,5],"x": 11, "y": 5.25, "w": 1.5 },
|
||||
{ "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.25, "w": 1 },
|
||||
{ "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.25, "w":1.5},
|
||||
{ "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.25 },
|
||||
{ "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.25 },
|
||||
{ "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.25 }
|
||||
]
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
[0] = LAYOUT_tkl_f13_ansi_tsangan(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
[0] = LAYOUT_tkl_f13_ansi_tsangan(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
|
@ -9,8 +9,17 @@
|
||||
"rows": ["F0", "F1", "F4", "F5", "C6", "B1", "B2", "B3", "D3", "D5", "D6"],
|
||||
"cols": ["D0", "D1", "D2", "B0", "C7", "B5", "D7", "B4", "B6"]
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan"
|
||||
},
|
||||
"community_layouts": [
|
||||
"tkl_f13_ansi_tsangan",
|
||||
"tkl_f13_ansi_tsangan_split_bs_rshift",
|
||||
"tkl_f13_iso_tsangan",
|
||||
"tkl_f13_iso_tsangan_split_bs_rshift"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"LAYOUT_tkl_f13_ansi_tsangan": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix":[0,0],"x": 0, "y": 0 },
|
||||
{ "label": "F1", "matrix":[0,1],"x": 1.25, "y": 0 },
|
||||
@ -21,90 +30,384 @@
|
||||
{ "label": "F6", "matrix":[0,6],"x": 6.5, "y": 0 },
|
||||
{ "label": "F7", "matrix":[0,7],"x": 7.5, "y": 0 },
|
||||
{ "label": "F8", "matrix":[5,8],"x": 8.5, "y": 0 },
|
||||
{ "label": "F9", "matrix":[5,7],"x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "matrix":[5,7],"x": 9.75, "y": 0 },
|
||||
{ "label": "F10", "matrix":[5,6],"x": 10.75, "y": 0 },
|
||||
{ "label": "F11", "matrix":[5,5],"x": 11.75, "y": 0 },
|
||||
{ "label": "F12", "matrix":[5,4],"x": 12.75, "y": 0 },
|
||||
{ "label": "F13", "matrix":[5,3],"x": 13.75, "y": 0 },
|
||||
{ "label": "F13", "matrix":[5,3],"x": 14, "y": 0 },
|
||||
{ "label": "Prtsc", "matrix":[5,2],"x": 15.25, "y": 0 },
|
||||
{ "label": "Scrlk", "matrix":[5,1],"x": 16.25, "y": 0 },
|
||||
{ "label": "Pause", "matrix":[5,0],"x": 17.25, "y": 0 },
|
||||
|
||||
{ "label": "~", "matrix":[1,0],"x": 0, "y": 1.5 },
|
||||
{ "label": "1", "matrix":[1,1],"x": 1, "y": 1.5 },
|
||||
{ "label": "2", "matrix":[1,2],"x": 2, "y": 1.5 },
|
||||
{ "label": "3", "matrix":[1,3],"x": 3, "y": 1.5 },
|
||||
{ "label": "4", "matrix":[1,4],"x": 4, "y": 1.5 },
|
||||
{ "label": "5", "matrix":[1,5],"x": 5, "y": 1.5 },
|
||||
{ "label": "6", "matrix":[1,6],"x": 6, "y": 1.5 },
|
||||
{ "label": "7", "matrix":[1,7],"x": 7, "y": 1.5 },
|
||||
{ "label": "8", "matrix":[1,8],"x": 8, "y": 1.5 },
|
||||
{ "label": "9", "matrix":[6,8],"x": 9, "y": 1.5 },
|
||||
{ "label": "0", "matrix":[6,7],"x": 10, "y": 1.5 },
|
||||
{ "label": "-", "matrix":[6,6],"x": 11, "y": 1.5 },
|
||||
{ "label": "=", "matrix":[6,5],"x": 12, "y": 1.5 },
|
||||
{ "label": "backspace", "matrix":[6,4],"x": 13, "y": 1.5, "w": 2 },
|
||||
{ "label": "insert", "matrix":[6,2],"x": 15.25, "y": 1.5 },
|
||||
{ "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.5 },
|
||||
{ "label": "pg up", "matrix":[6,0],"x": 17.25, "y": 1.5 },
|
||||
{ "label": "~", "matrix":[1,0],"x": 0, "y": 1.25 },
|
||||
{ "label": "1", "matrix":[1,1],"x": 1, "y": 1.25 },
|
||||
{ "label": "2", "matrix":[1,2],"x": 2, "y": 1.25 },
|
||||
{ "label": "3", "matrix":[1,3],"x": 3, "y": 1.25 },
|
||||
{ "label": "4", "matrix":[1,4],"x": 4, "y": 1.25 },
|
||||
{ "label": "5", "matrix":[1,5],"x": 5, "y": 1.25 },
|
||||
{ "label": "6", "matrix":[1,6],"x": 6, "y": 1.25 },
|
||||
{ "label": "7", "matrix":[1,7],"x": 7, "y": 1.25 },
|
||||
{ "label": "8", "matrix":[1,8],"x": 8, "y": 1.25 },
|
||||
{ "label": "9", "matrix":[6,8],"x": 9, "y": 1.25 },
|
||||
{ "label": "0", "matrix":[6,7],"x": 10, "y": 1.25 },
|
||||
{ "label": "-", "matrix":[6,6],"x": 11, "y": 1.25 },
|
||||
{ "label": "=", "matrix":[6,5],"x": 12, "y": 1.25 },
|
||||
{ "label": "backspace", "matrix":[6,4],"x": 13, "y": 1.25, "w": 2 },
|
||||
{ "label": "insert", "matrix":[6,2],"x": 15.25, "y": 1.25 },
|
||||
{ "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.25 },
|
||||
{ "label": "pg up", "matrix":[6,0],"x": 17.25, "y": 1.25 },
|
||||
|
||||
{ "label": "tab", "matrix":[2,0],"x": 0, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "q", "matrix":[2,1],"x": 1.5, "y": 2.5 },
|
||||
{ "label": "w", "matrix":[2,2],"x": 2.5, "y": 2.5 },
|
||||
{ "label": "e", "matrix":[2,3],"x": 3.5, "y": 2.5 },
|
||||
{ "label": "r", "matrix":[2,4],"x": 4.5, "y": 2.5 },
|
||||
{ "label": "t", "matrix":[2,5],"x": 5.5, "y": 2.5 },
|
||||
{ "label": "y", "matrix":[2,6],"x": 6.5, "y": 2.5 },
|
||||
{ "label": "u", "matrix":[2,7],"x": 7.5, "y": 2.5 },
|
||||
{ "label": "i", "matrix":[2,8],"x": 8.5, "y": 2.5 },
|
||||
{ "label": "o", "matrix":[7,8],"x": 9.5, "y": 2.5 },
|
||||
{ "label": "p", "matrix":[7,7],"x": 10.5, "y": 2.5 },
|
||||
{ "label": "{", "matrix":[7,6],"x": 11.5, "y": 2.5 },
|
||||
{ "label": "}", "matrix":[7,5],"x": 12.5, "y": 2.5 },
|
||||
{ "label": "|", "matrix":[7,4],"x": 13.5, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "delete", "matrix":[7,2],"x": 15.25, "y": 2.5 },
|
||||
{ "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.5 },
|
||||
{ "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 2.5 },
|
||||
{ "label": "tab", "matrix":[2,0],"x": 0, "y": 2.25, "w": 1.5 },
|
||||
{ "label": "q", "matrix":[2,1],"x": 1.5, "y": 2.25 },
|
||||
{ "label": "w", "matrix":[2,2],"x": 2.5, "y": 2.25 },
|
||||
{ "label": "e", "matrix":[2,3],"x": 3.5, "y": 2.25 },
|
||||
{ "label": "r", "matrix":[2,4],"x": 4.5, "y": 2.25 },
|
||||
{ "label": "t", "matrix":[2,5],"x": 5.5, "y": 2.25 },
|
||||
{ "label": "y", "matrix":[2,6],"x": 6.5, "y": 2.25 },
|
||||
{ "label": "u", "matrix":[2,7],"x": 7.5, "y": 2.25 },
|
||||
{ "label": "i", "matrix":[2,8],"x": 8.5, "y": 2.25 },
|
||||
{ "label": "o", "matrix":[7,8],"x": 9.5, "y": 2.25 },
|
||||
{ "label": "p", "matrix":[7,7],"x": 10.5, "y": 2.25 },
|
||||
{ "label": "{", "matrix":[7,6],"x": 11.5, "y": 2.25 },
|
||||
{ "label": "}", "matrix":[7,5],"x": 12.5, "y": 2.25 },
|
||||
{ "label": "|", "matrix":[7,4],"x": 13.5, "y": 2.25, "w": 1.5 },
|
||||
{ "label": "delete", "matrix":[7,2],"x": 15.25, "y": 2.25 },
|
||||
{ "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.25 },
|
||||
{ "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 2.25 },
|
||||
|
||||
{ "label": "capslock", "matrix":[3,0],"x": 0, "y": 3.5, "w": 1.75 },
|
||||
{ "label": "a", "matrix":[3,1],"x": 1.75, "y": 3.5 },
|
||||
{ "label": "s", "matrix":[3,2],"x": 2.75, "y": 3.5 },
|
||||
{ "label": "d", "matrix":[3,3],"x": 3.75, "y": 3.5 },
|
||||
{ "label": "f", "matrix":[3,4],"x": 4.75, "y": 3.5 },
|
||||
{ "label": "g", "matrix":[3,5],"x": 5.75, "y": 3.5 },
|
||||
{ "label": "h", "matrix":[3,6],"x": 6.75, "y": 3.5 },
|
||||
{ "label": "j", "matrix":[3,7],"x": 7.75, "y": 3.5 },
|
||||
{ "label": "k", "matrix":[3,8],"x": 8.75, "y": 3.5 },
|
||||
{ "label": "l", "matrix":[8,8],"x": 9.75, "y": 3.5 },
|
||||
{ "label": ";", "matrix":[8,7],"x": 10.75, "y": 3.5 },
|
||||
{ "label": "'", "matrix":[8,6],"x": 11.75, "y": 3.5 },
|
||||
{ "label": "enter", "matrix":[8,5],"x": 12.75, "y": 3.5, "w": 2.25 },
|
||||
{ "label": "capslock", "matrix":[3,0],"x": 0, "y": 3.25, "w": 1.75 },
|
||||
{ "label": "a", "matrix":[3,1],"x": 1.75, "y": 3.25 },
|
||||
{ "label": "s", "matrix":[3,2],"x": 2.75, "y": 3.25 },
|
||||
{ "label": "d", "matrix":[3,3],"x": 3.75, "y": 3.25 },
|
||||
{ "label": "f", "matrix":[3,4],"x": 4.75, "y": 3.25 },
|
||||
{ "label": "g", "matrix":[3,5],"x": 5.75, "y": 3.25 },
|
||||
{ "label": "h", "matrix":[3,6],"x": 6.75, "y": 3.25 },
|
||||
{ "label": "j", "matrix":[3,7],"x": 7.75, "y": 3.25 },
|
||||
{ "label": "k", "matrix":[3,8],"x": 8.75, "y": 3.25 },
|
||||
{ "label": "l", "matrix":[8,8],"x": 9.75, "y": 3.25 },
|
||||
{ "label": ";", "matrix":[8,7],"x": 10.75, "y": 3.25 },
|
||||
{ "label": "'", "matrix":[8,6],"x": 11.75, "y": 3.25 },
|
||||
{ "label": "enter", "matrix":[8,5],"x": 12.75, "y": 3.25, "w": 2.25 },
|
||||
|
||||
{ "label": "leftshift", "matrix":[4,0],"x": 0, "y": 4.5, "w": 2.25 },
|
||||
{ "label": "z", "matrix":[4,1],"x": 2.25, "y": 4.5 },
|
||||
{ "label": "x", "matrix":[4,2],"x": 3.25, "y": 4.5 },
|
||||
{ "label": "c", "matrix":[4,3],"x": 4.25, "y": 4.5 },
|
||||
{ "label": "v", "matrix":[4,4],"x": 5.25, "y": 4.5 },
|
||||
{ "label": "b", "matrix":[4,5],"x": 6.25, "y": 4.5 },
|
||||
{ "label": "n", "matrix":[4,6],"x": 7.25, "y": 4.5 },
|
||||
{ "label": "m", "matrix":[4,7],"x": 8.25, "y": 4.5 },
|
||||
{ "label": ",", "matrix":[4,8],"x": 9.25, "y": 4.5 },
|
||||
{ "label": ".", "matrix":[9,8],"x": 10.25, "y": 4.5 },
|
||||
{ "label": "/", "matrix":[9,7],"x": 11.25, "y": 4.5 },
|
||||
{ "label": "rightshift", "matrix":[9,6],"x": 12.25, "y": 4.5, "w": 2.75 },
|
||||
{ "label": "up", "matrix":[8,1],"x": 16.25, "y": 4.5 },
|
||||
{ "label": "leftshift", "matrix":[4,0],"x": 0, "y": 4.25, "w": 2.25 },
|
||||
{ "label": "z", "matrix":[4,1],"x": 2.25, "y": 4.25 },
|
||||
{ "label": "x", "matrix":[4,2],"x": 3.25, "y": 4.25 },
|
||||
{ "label": "c", "matrix":[4,3],"x": 4.25, "y": 4.25 },
|
||||
{ "label": "v", "matrix":[4,4],"x": 5.25, "y": 4.25 },
|
||||
{ "label": "b", "matrix":[4,5],"x": 6.25, "y": 4.25 },
|
||||
{ "label": "n", "matrix":[4,6],"x": 7.25, "y": 4.25 },
|
||||
{ "label": "m", "matrix":[4,7],"x": 8.25, "y": 4.25 },
|
||||
{ "label": ",", "matrix":[4,8],"x": 9.25, "y": 4.25 },
|
||||
{ "label": ".", "matrix":[9,8],"x": 10.25, "y": 4.25 },
|
||||
{ "label": "/", "matrix":[9,7],"x": 11.25, "y": 4.25 },
|
||||
{ "label": "rightshift", "matrix":[9,6],"x": 12.25, "y": 4.25, "w": 2.75 },
|
||||
{ "label": "up", "matrix":[8,1],"x": 16.25, "y": 4.25 },
|
||||
|
||||
{ "label": "lctrl", "matrix":[10,0],"x": 0, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "lwin", "matrix":[10,1],"x": 1.5, "y": 5.5 },
|
||||
{ "label": "lalt", "matrix":[10,2],"x": 2.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "space", "matrix":[10,3],"x": 4, "y": 5.5, "w": 7 },
|
||||
{ "label": "ralt", "matrix":[10,5],"x": 11, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.5, "w": 1 },
|
||||
{ "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.5, "w":1.5},
|
||||
{ "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.5 },
|
||||
{ "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.5 },
|
||||
{ "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.5 }
|
||||
{ "label": "lctrl", "matrix":[10,0],"x": 0, "y": 5.25, "w": 1.5 },
|
||||
{ "label": "lwin", "matrix":[10,1],"x": 1.5, "y": 5.25 },
|
||||
{ "label": "lalt", "matrix":[10,2],"x": 2.5, "y": 5.25, "w": 1.5 },
|
||||
{ "label": "space", "matrix":[10,3],"x": 4, "y": 5.25, "w": 7 },
|
||||
{ "label": "ralt", "matrix":[10,5],"x": 11, "y": 5.25, "w": 1.5 },
|
||||
{ "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.25, "w": 1 },
|
||||
{ "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.25, "w":1.5},
|
||||
{ "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.25 },
|
||||
{ "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.25 },
|
||||
{ "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.25 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"label": "F8", "matrix": [5, 8], "x": 8.5, "y": 0},
|
||||
{"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0},
|
||||
{"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0},
|
||||
{"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0},
|
||||
{"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0},
|
||||
{"label": "F13", "matrix": [5, 3], "x": 14, "y": 0},
|
||||
{"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0},
|
||||
{"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0},
|
||||
{"label": "Pause", "matrix": [5, 0], "x": 17.25, "y": 0},
|
||||
|
||||
{"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
|
||||
{"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
|
||||
{"label": "9", "matrix": [6, 8], "x": 9, "y": 1.25},
|
||||
{"label": "0", "matrix": [6, 7], "x": 10, "y": 1.25},
|
||||
{"label": "-", "matrix": [6, 6], "x": 11, "y": 1.25},
|
||||
{"label": "=", "matrix": [6, 5], "x": 12, "y": 1.25},
|
||||
{"label": "backspace", "matrix": [6, 4], "x": 13, "y": 1.25},
|
||||
{"label": "backspace", "matrix": [6, 3], "x": 14, "y": 1.25},
|
||||
{"label": "insert", "matrix": [6, 2], "x": 15.25, "y": 1.25},
|
||||
{"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25},
|
||||
{"label": "pg up", "matrix": [6, 0], "x": 17.25, "y": 1.25},
|
||||
|
||||
{"label": "tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"label": "q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"label": "w", "matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"label": "e", "matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"label": "r", "matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"label": "t", "matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"label": "y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
|
||||
{"label": "u", "matrix": [2, 7], "x": 7.5, "y": 2.25},
|
||||
{"label": "i", "matrix": [2, 8], "x": 8.5, "y": 2.25},
|
||||
{"label": "o", "matrix": [7, 8], "x": 9.5, "y": 2.25},
|
||||
{"label": "p", "matrix": [7, 7], "x": 10.5, "y": 2.25},
|
||||
{"label": "{", "matrix": [7, 6], "x": 11.5, "y": 2.25},
|
||||
{"label": "}", "matrix": [7, 5], "x": 12.5, "y": 2.25},
|
||||
{"label": "|", "matrix": [7, 4], "x": 13.5, "y": 2.25, "w": 1.5},
|
||||
{"label": "delete", "matrix": [7, 2], "x": 15.25, "y": 2.25},
|
||||
{"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25},
|
||||
{"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 2.25},
|
||||
|
||||
{"label": "capslock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"label": "a", "matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"label": "s", "matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"label": "d", "matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"label": "f", "matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"label": "g", "matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"label": "h", "matrix": [3, 6], "x": 6.75, "y": 3.25},
|
||||
{"label": "j", "matrix": [3, 7], "x": 7.75, "y": 3.25},
|
||||
{"label": "k", "matrix": [3, 8], "x": 8.75, "y": 3.25},
|
||||
{"label": "l", "matrix": [8, 8], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [8, 7], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [8, 6], "x": 11.75, "y": 3.25},
|
||||
{"label": "enter", "matrix": [8, 5], "x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
|
||||
{"label": "z", "matrix": [4, 1], "x": 2.25, "y": 4.25},
|
||||
{"label": "x", "matrix": [4, 2], "x": 3.25, "y": 4.25},
|
||||
{"label": "c", "matrix": [4, 3], "x": 4.25, "y": 4.25},
|
||||
{"label": "v", "matrix": [4, 4], "x": 5.25, "y": 4.25},
|
||||
{"label": "b", "matrix": [4, 5], "x": 6.25, "y": 4.25},
|
||||
{"label": "n", "matrix": [4, 6], "x": 7.25, "y": 4.25},
|
||||
{"label": "m", "matrix": [4, 7], "x": 8.25, "y": 4.25},
|
||||
{"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25},
|
||||
{"label": ".", "matrix": [9, 8], "x": 10.25, "y": 4.25},
|
||||
{"label": "/", "matrix": [9, 7], "x": 11.25, "y": 4.25},
|
||||
{"label": "rightshift", "matrix": [9, 6], "x": 12.25, "y": 4.25, "w": 1.75},
|
||||
{"label": "rightshift", "matrix": [9, 5], "x": 14, "y": 4.25},
|
||||
{"label": "up", "matrix": [8, 1], "x": 16.25, "y": 4.25},
|
||||
|
||||
{"label": "lctrl", "matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5},
|
||||
{"label": "lwin", "matrix": [10, 1], "x": 1.5, "y": 5.25},
|
||||
{"label": "lalt", "matrix": [10, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
||||
{"label": "space", "matrix": [10, 3], "x": 4, "y": 5.25, "w": 7},
|
||||
{"label": "ralt", "matrix": [10, 5], "x": 11, "y": 5.25, "w": 1.5},
|
||||
{"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25},
|
||||
{"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5},
|
||||
{"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25},
|
||||
{"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25},
|
||||
{"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_f13_iso_tsangan": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"label": "F8", "matrix": [5, 8], "x": 8.5, "y": 0},
|
||||
{"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0},
|
||||
{"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0},
|
||||
{"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0},
|
||||
{"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0},
|
||||
{"label": "F13", "matrix": [5, 3], "x": 14, "y": 0},
|
||||
{"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0},
|
||||
{"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0},
|
||||
{"label": "Pause", "matrix": [5, 0], "x": 17.25, "y": 0},
|
||||
|
||||
{"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
|
||||
{"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
|
||||
{"label": "9", "matrix": [6, 8], "x": 9, "y": 1.25},
|
||||
{"label": "0", "matrix": [6, 7], "x": 10, "y": 1.25},
|
||||
{"label": "-", "matrix": [6, 6], "x": 11, "y": 1.25},
|
||||
{"label": "=", "matrix": [6, 5], "x": 12, "y": 1.25},
|
||||
{"label": "backspace", "matrix": [6, 4], "x": 13, "y": 1.25, "w": 2},
|
||||
{"label": "insert", "matrix": [6, 2], "x": 15.25, "y": 1.25},
|
||||
{"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25},
|
||||
{"label": "pg up", "matrix": [6, 0], "x": 17.25, "y": 1.25},
|
||||
|
||||
{"label": "tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"label": "q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"label": "w", "matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"label": "e", "matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"label": "r", "matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"label": "t", "matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"label": "y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
|
||||
{"label": "u", "matrix": [2, 7], "x": 7.5, "y": 2.25},
|
||||
{"label": "i", "matrix": [2, 8], "x": 8.5, "y": 2.25},
|
||||
{"label": "o", "matrix": [7, 8], "x": 9.5, "y": 2.25},
|
||||
{"label": "p", "matrix": [7, 7], "x": 10.5, "y": 2.25},
|
||||
{"label": "{", "matrix": [7, 6], "x": 11.5, "y": 2.25},
|
||||
{"label": "}", "matrix": [7, 5], "x": 12.5, "y": 2.25},
|
||||
{"label": "delete", "matrix": [7, 2], "x": 15.25, "y": 2.25},
|
||||
{"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25},
|
||||
{"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 2.25},
|
||||
|
||||
{"label": "capslock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"label": "a", "matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"label": "s", "matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"label": "d", "matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"label": "f", "matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"label": "g", "matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"label": "h", "matrix": [3, 6], "x": 6.75, "y": 3.25},
|
||||
{"label": "j", "matrix": [3, 7], "x": 7.75, "y": 3.25},
|
||||
{"label": "k", "matrix": [3, 8], "x": 8.75, "y": 3.25},
|
||||
{"label": "l", "matrix": [8, 8], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [8, 7], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [8, 6], "x": 11.75, "y": 3.25},
|
||||
{"label": "#", "matrix": [7, 4], "x": 12.75, "y": 3.25},
|
||||
{"label": "enter", "matrix": [8, 5], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
|
||||
|
||||
{"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
|
||||
{"label": "\\", "matrix": [9, 3], "x": 1.25, "y": 4.25},
|
||||
{"label": "z", "matrix": [4, 1], "x": 2.25, "y": 4.25},
|
||||
{"label": "x", "matrix": [4, 2], "x": 3.25, "y": 4.25},
|
||||
{"label": "c", "matrix": [4, 3], "x": 4.25, "y": 4.25},
|
||||
{"label": "v", "matrix": [4, 4], "x": 5.25, "y": 4.25},
|
||||
{"label": "b", "matrix": [4, 5], "x": 6.25, "y": 4.25},
|
||||
{"label": "n", "matrix": [4, 6], "x": 7.25, "y": 4.25},
|
||||
{"label": "m", "matrix": [4, 7], "x": 8.25, "y": 4.25},
|
||||
{"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25},
|
||||
{"label": ".", "matrix": [9, 8], "x": 10.25, "y": 4.25},
|
||||
{"label": "/", "matrix": [9, 7], "x": 11.25, "y": 4.25},
|
||||
{"label": "rightshift", "matrix": [9, 6], "x": 12.25, "y": 4.25, "w": 2.75},
|
||||
{"label": "up", "matrix": [8, 1], "x": 16.25, "y": 4.25},
|
||||
|
||||
{"label": "lctrl", "matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5},
|
||||
{"label": "lwin", "matrix": [10, 1], "x": 1.5, "y": 5.25},
|
||||
{"label": "lalt", "matrix": [10, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
||||
{"label": "space", "matrix": [10, 3], "x": 4, "y": 5.25, "w": 7},
|
||||
{"label": "ralt", "matrix": [10, 5], "x": 11, "y": 5.25, "w": 1.5},
|
||||
{"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25},
|
||||
{"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5},
|
||||
{"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25},
|
||||
{"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25},
|
||||
{"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"label": "F8", "matrix": [5, 8], "x": 8.5, "y": 0},
|
||||
{"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0},
|
||||
{"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0},
|
||||
{"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0},
|
||||
{"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0},
|
||||
{"label": "F13", "matrix": [5, 3], "x": 14, "y": 0},
|
||||
{"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0},
|
||||
{"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0},
|
||||
{"label": "Pause", "matrix": [5, 0], "x": 17.25, "y": 0},
|
||||
|
||||
{"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25},
|
||||
{"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
|
||||
{"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
|
||||
{"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
|
||||
{"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
|
||||
{"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
|
||||
{"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
|
||||
{"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
|
||||
{"label": "9", "matrix": [6, 8], "x": 9, "y": 1.25},
|
||||
{"label": "0", "matrix": [6, 7], "x": 10, "y": 1.25},
|
||||
{"label": "-", "matrix": [6, 6], "x": 11, "y": 1.25},
|
||||
{"label": "=", "matrix": [6, 5], "x": 12, "y": 1.25},
|
||||
{"label": "backspace", "matrix": [6, 4], "x": 13, "y": 1.25},
|
||||
{"label": "backspace", "matrix": [6, 3], "x": 14, "y": 1.25},
|
||||
{"label": "insert", "matrix": [6, 2], "x": 15.25, "y": 1.25},
|
||||
{"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25},
|
||||
{"label": "pg up", "matrix": [6, 0], "x": 17.25, "y": 1.25},
|
||||
|
||||
{"label": "tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
|
||||
{"label": "q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
|
||||
{"label": "w", "matrix": [2, 2], "x": 2.5, "y": 2.25},
|
||||
{"label": "e", "matrix": [2, 3], "x": 3.5, "y": 2.25},
|
||||
{"label": "r", "matrix": [2, 4], "x": 4.5, "y": 2.25},
|
||||
{"label": "t", "matrix": [2, 5], "x": 5.5, "y": 2.25},
|
||||
{"label": "y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
|
||||
{"label": "u", "matrix": [2, 7], "x": 7.5, "y": 2.25},
|
||||
{"label": "i", "matrix": [2, 8], "x": 8.5, "y": 2.25},
|
||||
{"label": "o", "matrix": [7, 8], "x": 9.5, "y": 2.25},
|
||||
{"label": "p", "matrix": [7, 7], "x": 10.5, "y": 2.25},
|
||||
{"label": "{", "matrix": [7, 6], "x": 11.5, "y": 2.25},
|
||||
{"label": "}", "matrix": [7, 5], "x": 12.5, "y": 2.25},
|
||||
{"label": "delete", "matrix": [7, 2], "x": 15.25, "y": 2.25},
|
||||
{"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25},
|
||||
{"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 2.25},
|
||||
|
||||
{"label": "capslock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
|
||||
{"label": "a", "matrix": [3, 1], "x": 1.75, "y": 3.25},
|
||||
{"label": "s", "matrix": [3, 2], "x": 2.75, "y": 3.25},
|
||||
{"label": "d", "matrix": [3, 3], "x": 3.75, "y": 3.25},
|
||||
{"label": "f", "matrix": [3, 4], "x": 4.75, "y": 3.25},
|
||||
{"label": "g", "matrix": [3, 5], "x": 5.75, "y": 3.25},
|
||||
{"label": "h", "matrix": [3, 6], "x": 6.75, "y": 3.25},
|
||||
{"label": "j", "matrix": [3, 7], "x": 7.75, "y": 3.25},
|
||||
{"label": "k", "matrix": [3, 8], "x": 8.75, "y": 3.25},
|
||||
{"label": "l", "matrix": [8, 8], "x": 9.75, "y": 3.25},
|
||||
{"label": ";", "matrix": [8, 7], "x": 10.75, "y": 3.25},
|
||||
{"label": "'", "matrix": [8, 6], "x": 11.75, "y": 3.25},
|
||||
{"label": "#", "matrix": [7, 4], "x": 12.75, "y": 3.25},
|
||||
{"label": "enter", "matrix": [8, 5], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
|
||||
|
||||
{"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
|
||||
{"label": "\\", "matrix": [9, 3], "x": 1.25, "y": 4.25},
|
||||
{"label": "z", "matrix": [4, 1], "x": 2.25, "y": 4.25},
|
||||
{"label": "x", "matrix": [4, 2], "x": 3.25, "y": 4.25},
|
||||
{"label": "c", "matrix": [4, 3], "x": 4.25, "y": 4.25},
|
||||
{"label": "v", "matrix": [4, 4], "x": 5.25, "y": 4.25},
|
||||
{"label": "b", "matrix": [4, 5], "x": 6.25, "y": 4.25},
|
||||
{"label": "n", "matrix": [4, 6], "x": 7.25, "y": 4.25},
|
||||
{"label": "m", "matrix": [4, 7], "x": 8.25, "y": 4.25},
|
||||
{"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25},
|
||||
{"label": ".", "matrix": [9, 8], "x": 10.25, "y": 4.25},
|
||||
{"label": "/", "matrix": [9, 7], "x": 11.25, "y": 4.25},
|
||||
{"label": "rightshift", "matrix": [9, 6], "x": 12.25, "y": 4.25, "w": 1.75},
|
||||
{"label": "rightshift", "matrix": [9, 5], "x": 14, "y": 4.25},
|
||||
{"label": "up", "matrix": [8, 1], "x": 16.25, "y": 4.25},
|
||||
|
||||
{"label": "lctrl", "matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5},
|
||||
{"label": "lwin", "matrix": [10, 1], "x": 1.5, "y": 5.25},
|
||||
{"label": "lalt", "matrix": [10, 2], "x": 2.5, "y": 5.25, "w": 1.5},
|
||||
{"label": "space", "matrix": [10, 3], "x": 4, "y": 5.25, "w": 7},
|
||||
{"label": "ralt", "matrix": [10, 5], "x": 11, "y": 5.25, "w": 1.5},
|
||||
{"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25},
|
||||
{"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5},
|
||||
{"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25},
|
||||
{"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25},
|
||||
{"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25}
|
||||
]
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -30,29 +30,62 @@
|
||||
"pid": "0x4F4E",
|
||||
"vid": "0x414B"
|
||||
},
|
||||
"community_layouts": [
|
||||
"numpad_5x4"
|
||||
],
|
||||
"community_layouts": [
|
||||
"ortho_5x4",
|
||||
"numpad_5x4"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x4": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_numpad_5x4": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"h": 2, "matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1, "h": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [4, 0], "w": 2, "x": 0, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"h": 2, "matrix": [3, 3], "x": 3, "y": 3}
|
||||
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* │NUM│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 7 │ 8 │ 9 │ │
|
||||
* ├───┼───┼───┤ + │
|
||||
@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* ┌───┬───┬───┐───┤
|
||||
* │NUM│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │Hom│ ↑ │PgU│ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ ← │ │ → │ │
|
||||
* ├───┼───┼───┤───┤
|
||||
* ├───┼───┼───┼───┤
|
||||
* │End│ ↓ │PgD│ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │Insert │Del│ │
|
||||
* └───────┴───┘───┘
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[1] = LAYOUT_numpad_5x4(
|
||||
_______, _______, _______, _______,
|
||||
|
@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │ │ / │ * │ - │
|
||||
* ┌───┬───┬───┐───┤
|
||||
* │NUM│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │Hom│ ↑ │PgU│ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ ← │ │ → │ │
|
||||
* ├───┼───┼───┤───┤
|
||||
* ├───┼───┼───┼───┤
|
||||
* │End│ ↓ │PgD│ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │Insert │Del│ │
|
||||
* └───────┴───┘───┘
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[1] = LAYOUT_numpad_5x4(
|
||||
_______, _______, _______, _______,
|
||||
|
18
keyboards/akb/ogrn/matrix_diagram.md
Normal file
18
keyboards/akb/ogrn/matrix_diagram.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Matrix Diagram for Alchemist Keyboards OGRN
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┐
|
||||
│00 │01 │02 │03 │
|
||||
┌───┐ ├───┼───┼───┼───┤ ┌───┐
|
||||
│ │ │10 │11 │12 │13 │ │ │
|
||||
│10 │ ├───┼───┼───┼───┤ │13 │ 2u Numpad Plus
|
||||
│ │ │20 │21 │22 │23 │ │ │
|
||||
├───┤ ├───┼───┼───┼───┤ ├───┤
|
||||
│ │ │30 │31 │32 │33 │ │ │
|
||||
│30 │ ├───┼───┼───┼───┤ │33 │ 2u Numpad Enter
|
||||
│ │ │40 │41 │42 │43 │ │ │
|
||||
└───┘ └───┴───┴───┴───┘ └───┘
|
||||
┌───────┬───────┐
|
||||
│41 │42 │
|
||||
└───────┴───────┘
|
||||
```
|
@ -4,7 +4,7 @@
|
||||
|
||||
This is the QMK firmware repository for the Alpine65, a 65% hotswap keyboard designed by Bitmap Designs and Gondolindrim.
|
||||
|
||||
The Alpine65 has entered GB and sucessfully finalized in november 2020; there is no further way to buy an Alpine65 other than the secondhand market. The IC page for the keyboard can be found [here](https://https://geekhack.org/index.php?topic=106974).
|
||||
The Alpine65 has entered GB and sucessfully finalized in november 2020; there is no further way to buy an Alpine65 other than the secondhand market. The IC page for the keyboard can be found [here](https://geekhack.org/index.php?topic=106974).
|
||||
|
||||
## How to compile
|
||||
|
||||
|
@ -23,6 +23,7 @@
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"community_layouts": ["75_ansi", "75_iso"],
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
@ -118,6 +119,99 @@
|
||||
{"matrix": [5, 14], "x": 15, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_75_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [5, 8], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.5, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.5, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.5, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.5, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.5, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.5, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.5, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.75, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.75, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.75, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.75, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.75, "y": 3},
|
||||
{"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4},
|
||||
{"matrix": [4, 7], "x": 7.25, "y": 4},
|
||||
{"matrix": [4, 8], "x": 8.25, "y": 4},
|
||||
{"matrix": [4, 9], "x": 9.25, "y": 4},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4},
|
||||
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
|
||||
{"matrix": [5, 9], "x": 10, "y": 5},
|
||||
{"matrix": [5, 10], "x": 11, "y": 5},
|
||||
{"matrix": [5, 11], "x": 12, "y": 5},
|
||||
{"matrix": [5, 12], "x": 13, "y": 5},
|
||||
{"matrix": [5, 13], "x": 14, "y": 5},
|
||||
{"matrix": [5, 14], "x": 15, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_75_ansi_rwkl": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
@ -210,6 +304,100 @@
|
||||
{"matrix": [5, 14], "x": 15, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_75_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [5, 8], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.5, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.5, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.5, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.5, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.5, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.5, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.5, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.5, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.5, "y": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.75, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.75, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.75, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.75, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.75, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.75, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.75, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.75, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.75, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 4},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4},
|
||||
{"matrix": [4, 5], "x": 5.25, "y": 4},
|
||||
{"matrix": [4, 6], "x": 6.25, "y": 4},
|
||||
{"matrix": [4, 7], "x": 7.25, "y": 4},
|
||||
{"matrix": [4, 8], "x": 8.25, "y": 4},
|
||||
{"matrix": [4, 9], "x": 9.25, "y": 4},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4},
|
||||
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
|
||||
{"matrix": [5, 9], "x": 10, "y": 5},
|
||||
{"matrix": [5, 10], "x": 11, "y": 5},
|
||||
{"matrix": [5, 11], "x": 12, "y": 5},
|
||||
{"matrix": [5, 12], "x": 13, "y": 5},
|
||||
{"matrix": [5, 13], "x": 14, "y": 5},
|
||||
{"matrix": [5, 14], "x": 15, "y": 5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_75_iso_rwkl": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
@ -43,8 +43,11 @@
|
||||
"backlight": {
|
||||
"pin": "GP26"
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_ortho_4x3"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"LAYOUT_ortho_4x3": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
|
@ -8,7 +8,7 @@ enum layer_names {
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
[_BASE] = LAYOUT_ortho_4x3(
|
||||
KC_1, KC_2, KC_3,
|
||||
KC_4, KC_5, KC_6,
|
||||
KC_7, KC_8, KC_9,
|
||||
|
@ -3,6 +3,11 @@
|
||||
"cols": ["F7", "F6", "F5", "F4", "F1", "F0", "C7", "E6", "B0", "B3", "B6", "B5", "B4", "D7", "D4", "D6"],
|
||||
"rows": ["D2", "D1", "D0", "B2", "B1", "C6"]
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{ "pin_a": "D3", "pin_b": "D5", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ansi_rwkl": {
|
||||
"layout": [
|
||||
|
@ -18,11 +18,6 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{ "pin_a": "D3", "pin_b": "D5", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x3449",
|
||||
|
@ -3,6 +3,11 @@
|
||||
"cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B3", "D0", "D1", "D2", "D3", "D7", "D5"],
|
||||
"rows": ["B2", "C7", "C6", "B6", "B5", "B4"]
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{ "pin_a": "D4", "pin_b": "D6", "resolution": 2 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ansi_rwkl": {
|
||||
"layout": [
|
||||
|
59
keyboards/bastardkb/dilemma/4x6_4/4x6_4.c
Normal file
59
keyboards/bastardkb/dilemma/4x6_4/4x6_4.c
Normal file
@ -0,0 +1,59 @@
|
||||
/**
|
||||
* Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
|
||||
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
* Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Publicw License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Left hand, matrix positions */
|
||||
{{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}},
|
||||
{{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}},
|
||||
{{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}},
|
||||
{{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}},
|
||||
{{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}},
|
||||
/* Right hand, matrix positions */
|
||||
{{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}},
|
||||
{{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}},
|
||||
{{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}},
|
||||
{{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}},
|
||||
{{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}}
|
||||
};
|
||||
|
||||
# ifdef ENCODER_MAP_ENABLE
|
||||
const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0};
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) {
|
||||
return false;
|
||||
}
|
||||
switch (index) {
|
||||
case 0: // Left-half encoder, mouse scroll.
|
||||
tap_code(clockwise ? KC_MS_WH_DOWN : KC_MS_WH_UP);
|
||||
break;
|
||||
case 1: // Right-half encoder, volume control.
|
||||
tap_code(clockwise ? KC_AUDIO_VOL_UP : KC_AUDIO_VOL_DOWN);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif // ENCODER_ENABLE
|
54
keyboards/bastardkb/dilemma/4x6_4/config.h
Normal file
54
keyboards/bastardkb/dilemma/4x6_4/config.h
Normal file
@ -0,0 +1,54 @@
|
||||
/**
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
* Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
|
||||
*
|
||||
* 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
|
||||
|
||||
/* Handedness. */
|
||||
#define SPLIT_HAND_PIN GP29
|
||||
#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
|
||||
|
||||
/* VBUS detection. */
|
||||
#define USB_VBUS_PIN GP19
|
||||
|
||||
/* CRC. */
|
||||
#define CRC8_USE_TABLE
|
||||
#define CRC8_OPTIMIZE_SPEED
|
||||
|
||||
/* Cirque trackpad over SPI. */
|
||||
#define SPI_DRIVER SPID0
|
||||
#define SPI_SCK_PIN GP22
|
||||
#define SPI_MOSI_PIN GP23
|
||||
#define SPI_MISO_PIN GP20
|
||||
#define POINTING_DEVICE_CS_PIN GP21
|
||||
#undef CIRQUE_PINNACLE_DIAMETER_MM
|
||||
#define CIRQUE_PINNACLE_DIAMETER_MM 40
|
||||
|
||||
/* Reset. */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
||||
|
||||
/* RGB matrix support. */
|
||||
#define SPLIT_TRANSPORT_MIRROR
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
|
||||
// Startup values.
|
||||
#define RGB_MATRIX_DEFAULT_VAL 64
|
||||
#define RGB_MATRIX_DEFAULT_SPD 32
|
22
keyboards/bastardkb/dilemma/4x6_4/halconf.h
Normal file
22
keyboards/bastardkb/dilemma/4x6_4/halconf.h
Normal file
@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
|
||||
#include_next <halconf.h>
|
266
keyboards/bastardkb/dilemma/4x6_4/info.json
Normal file
266
keyboards/bastardkb/dilemma/4x6_4/info.json
Normal file
@ -0,0 +1,266 @@
|
||||
{
|
||||
"keyboard_name": "Dilemma Max",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x1837"
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"matrix_pins": {
|
||||
"cols": ["GP14", "GP8", "GP9", "GP7", "GP6", "GP28"],
|
||||
"rows": ["GP15", "GP4", "GP5", "GP27", "GP26"]
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "GP1",
|
||||
"bootmagic": {
|
||||
"matrix": [5, 0]
|
||||
}
|
||||
},
|
||||
"encoder": {
|
||||
"enabled" : true,
|
||||
"rotary" : [
|
||||
{"pin_a": "GP25", "pin_b": "GP24"}
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true,
|
||||
"caps_word": true,
|
||||
"tri_layer": true
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "GP10",
|
||||
"driver": "vendor"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"split_count": [52, 52],
|
||||
"max_brightness": 176,
|
||||
"center_point": [112, 28],
|
||||
"animations": {
|
||||
"solid_color": true,
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_rain": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"layout": [
|
||||
{"x": 81, "y": 4, "flags": 2},
|
||||
{"x": 65, "y": 2, "flags": 2},
|
||||
{"x": 40, "y": 0, "flags": 2},
|
||||
{"x": 29, "y": 9, "flags": 2},
|
||||
{"x": 16, "y": 9, "flags": 2},
|
||||
{"x": 0, "y": 16, "flags": 2},
|
||||
{"x": 0, "y": 29, "flags": 2},
|
||||
{"x": 0, "y": 40, "flags": 2},
|
||||
{"x": 5, "y": 50, "flags": 2},
|
||||
{"x": 17, "y": 49, "flags": 2},
|
||||
{"x": 28, "y": 44, "flags": 2},
|
||||
{"x": 40, "y": 43, "flags": 2},
|
||||
{"x": 49, "y": 51, "flags": 2},
|
||||
{"x": 62, "y": 53, "flags": 2},
|
||||
{"x": 73, "y": 56, "flags": 2},
|
||||
{"x": 85, "y": 59, "flags": 2},
|
||||
{"x": 100, "y": 64, "flags": 2},
|
||||
{"x": 106, "y": 55, "flags": 2},
|
||||
{"x": 107, "y": 45, "flags": 2},
|
||||
{"x": 91, "y": 51, "flags": 2},
|
||||
{"x": 94, "y": 40, "flags": 2},
|
||||
{"x": 108, "y": 33, "flags": 2},
|
||||
{"x": 106, "y": 25, "flags": 2},
|
||||
{"x": 108, "y": 16, "flags": 2},
|
||||
|
||||
{"matrix": [0, 5], "x": 75, "y": 10, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 62, "y": 9, "flags": 4},
|
||||
{"matrix": [0, 3], "x": 49, "y": 6, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 35, "y": 10, "flags": 4},
|
||||
{"matrix": [0, 1], "x": 22, "y": 16, "flags": 4},
|
||||
{"matrix": [0, 0], "x": 9, "y": 16, "flags": 1},
|
||||
{"matrix": [1, 0], "x": 9, "y": 27, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 22, "y": 27, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 35, "y": 20, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 49, "y": 17, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 62, "y": 19, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 75, "y": 21, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 75, "y": 31, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 62, "y": 30, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 49, "y": 27, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 35, "y": 31, "flags": 4},
|
||||
{"matrix": [2, 1], "x": 22, "y": 37, "flags": 4},
|
||||
{"matrix": [2, 0], "x": 9, "y": 37, "flags": 1},
|
||||
{"matrix": [3, 0], "x": 9, "y": 48, "flags": 1},
|
||||
{"matrix": [3, 1], "x": 22, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 2], "x": 35, "y": 41, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 49, "y": 38, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 62, "y": 40, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 75, "y": 42, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 54, "y": 51, "flags": 4},
|
||||
{"matrix": [4, 1], "x": 68, "y": 53, "flags": 4},
|
||||
{"matrix": [4, 2], "x": 81, "y": 57, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 92, "y": 64, "flags": 4},
|
||||
|
||||
{"x": 143, "y": 4, "flags": 2},
|
||||
{"x": 159, "y": 2, "flags": 2},
|
||||
{"x": 184, "y": 0, "flags": 2},
|
||||
{"x": 195, "y": 9, "flags": 2},
|
||||
{"x": 208, "y": 9, "flags": 2},
|
||||
{"x": 224, "y": 16, "flags": 2},
|
||||
{"x": 224, "y": 29, "flags": 2},
|
||||
{"x": 224, "y": 40, "flags": 2},
|
||||
{"x": 219, "y": 50, "flags": 2},
|
||||
{"x": 207, "y": 49, "flags": 2},
|
||||
{"x": 196, "y": 44, "flags": 2},
|
||||
{"x": 184, "y": 43, "flags": 2},
|
||||
{"x": 176, "y": 51, "flags": 2},
|
||||
{"x": 162, "y": 53, "flags": 2},
|
||||
{"x": 151, "y": 56, "flags": 2},
|
||||
{"x": 139, "y": 59, "flags": 2},
|
||||
{"x": 124, "y": 64, "flags": 2},
|
||||
{"x": 118, "y": 55, "flags": 2},
|
||||
{"x": 117, "y": 45, "flags": 2},
|
||||
{"x": 133, "y": 51, "flags": 2},
|
||||
{"x": 130, "y": 40, "flags": 2},
|
||||
{"x": 116, "y": 33, "flags": 2},
|
||||
{"x": 118, "y": 25, "flags": 2},
|
||||
{"x": 116, "y": 16, "flags": 2},
|
||||
|
||||
{"matrix": [5, 5], "x": 149, "y": 10, "flags": 4},
|
||||
{"matrix": [5, 4], "x": 162, "y": 9, "flags": 4},
|
||||
{"matrix": [5, 3], "x": 175, "y": 6, "flags": 4},
|
||||
{"matrix": [5, 2], "x": 189, "y": 10, "flags": 4},
|
||||
{"matrix": [5, 1], "x": 202, "y": 16, "flags": 4},
|
||||
{"matrix": [5, 0], "x": 215, "y": 16, "flags": 1},
|
||||
{"matrix": [6, 0], "x": 215, "y": 27, "flags": 1},
|
||||
{"matrix": [6, 1], "x": 202, "y": 27, "flags": 4},
|
||||
{"matrix": [6, 2], "x": 189, "y": 20, "flags": 4},
|
||||
{"matrix": [6, 3], "x": 175, "y": 17, "flags": 4},
|
||||
{"matrix": [6, 4], "x": 162, "y": 19, "flags": 4},
|
||||
{"matrix": [6, 5], "x": 149, "y": 21, "flags": 4},
|
||||
{"matrix": [7, 5], "x": 149, "y": 31, "flags": 4},
|
||||
{"matrix": [7, 4], "x": 162, "y": 30, "flags": 4},
|
||||
{"matrix": [7, 3], "x": 175, "y": 27, "flags": 4},
|
||||
{"matrix": [7, 2], "x": 189, "y": 31, "flags": 4},
|
||||
{"matrix": [7, 1], "x": 202, "y": 37, "flags": 4},
|
||||
{"matrix": [7, 0], "x": 215, "y": 37, "flags": 1},
|
||||
{"matrix": [8, 0], "x": 215, "y": 48, "flags": 1},
|
||||
{"matrix": [8, 1], "x": 202, "y": 48, "flags": 4},
|
||||
{"matrix": [8, 2], "x": 189, "y": 41, "flags": 4},
|
||||
{"matrix": [8, 3], "x": 175, "y": 38, "flags": 4},
|
||||
{"matrix": [8, 4], "x": 162, "y": 40, "flags": 4},
|
||||
{"matrix": [8, 5], "x": 149, "y": 42, "flags": 4},
|
||||
{"matrix": [9, 4], "x": 170, "y": 51, "flags": 4},
|
||||
{"matrix": [9, 2], "x": 156, "y": 53, "flags": 4},
|
||||
{"matrix": [9, 1], "x": 143, "y": 57, "flags": 4},
|
||||
{"matrix": [9, 3], "x": 132, "y": 64, "flags": 4}
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"L00", "matrix": [0, 0], "x":0, "y":0},
|
||||
{"label":"L01", "matrix": [0, 1], "x":1, "y":0},
|
||||
{"label":"L02", "matrix": [0, 2], "x":2, "y":0},
|
||||
{"label":"L03", "matrix": [0, 3], "x":3, "y":0},
|
||||
{"label":"L04", "matrix": [0, 4], "x":4, "y":0},
|
||||
{"label":"L05", "matrix": [0, 5], "x":5, "y":0},
|
||||
{"label":"R05", "matrix": [5, 5], "x":8, "y":0},
|
||||
{"label":"R04", "matrix": [5, 4], "x":9, "y":0},
|
||||
{"label":"R03", "matrix": [5, 3], "x":10, "y":0},
|
||||
{"label":"R02", "matrix": [5, 2], "x":11, "y":0},
|
||||
{"label":"R01", "matrix": [5, 1], "x":12, "y":0},
|
||||
{"label":"R00", "matrix": [5, 0], "x":13, "y":0},
|
||||
{"label":"L10", "matrix": [1, 0], "x":0, "y":1},
|
||||
{"label":"L11", "matrix": [1, 1], "x":1, "y":1},
|
||||
{"label":"L12", "matrix": [1, 2], "x":2, "y":1},
|
||||
{"label":"L13", "matrix": [1, 3], "x":3, "y":1},
|
||||
{"label":"L14", "matrix": [1, 4], "x":4, "y":1},
|
||||
{"label":"L15", "matrix": [1, 5], "x":5, "y":1},
|
||||
{"label":"R15", "matrix": [6, 5], "x":8, "y":1},
|
||||
{"label":"R14", "matrix": [6, 4], "x":9, "y":1},
|
||||
{"label":"R13", "matrix": [6, 3], "x":10, "y":1},
|
||||
{"label":"R12", "matrix": [6, 2], "x":11, "y":1},
|
||||
{"label":"R11", "matrix": [6, 1], "x":12, "y":1},
|
||||
{"label":"R10", "matrix": [6, 0], "x":13, "y":1},
|
||||
{"label":"L20", "matrix": [2, 0], "x":0, "y":2},
|
||||
{"label":"L21", "matrix": [2, 1], "x":1, "y":2},
|
||||
{"label":"L22", "matrix": [2, 2], "x":2, "y":2},
|
||||
{"label":"L23", "matrix": [2, 3], "x":3, "y":2},
|
||||
{"label":"L24", "matrix": [2, 4], "x":4, "y":2},
|
||||
{"label":"L25", "matrix": [2, 5], "x":5, "y":2},
|
||||
{"label":"R25", "matrix": [7, 5], "x":8, "y":2},
|
||||
{"label":"R24", "matrix": [7, 4], "x":9, "y":2},
|
||||
{"label":"R23", "matrix": [7, 3], "x":10, "y":2},
|
||||
{"label":"R22", "matrix": [7, 2], "x":11, "y":2},
|
||||
{"label":"R21", "matrix": [7, 1], "x":12, "y":2},
|
||||
{"label":"R20", "matrix": [7, 0], "x":13, "y":2},
|
||||
{"label":"L30", "matrix": [3, 0], "x":0, "y":3},
|
||||
{"label":"L31", "matrix": [3, 1], "x":1, "y":3},
|
||||
{"label":"L32", "matrix": [3, 2], "x":2, "y":3},
|
||||
{"label":"L33", "matrix": [3, 3], "x":3, "y":3},
|
||||
{"label":"L34", "matrix": [3, 4], "x":4, "y":3},
|
||||
{"label":"L35", "matrix": [3, 5], "x":5, "y":3},
|
||||
{"label":"R35", "matrix": [8, 5], "x":8, "y":3},
|
||||
{"label":"R34", "matrix": [8, 4], "x":9, "y":3},
|
||||
{"label":"R33", "matrix": [8, 3], "x":10, "y":3},
|
||||
{"label":"R32", "matrix": [8, 2], "x":11, "y":3},
|
||||
{"label":"R31", "matrix": [8, 1], "x":12, "y":3},
|
||||
{"label":"R30", "matrix": [8, 0], "x":13, "y":3},
|
||||
{"label":"L43", "matrix": [4, 3], "x":2.5, "y":4},
|
||||
{"label":"L41", "matrix": [4, 1], "x":3.5, "y":4},
|
||||
{"label":"L42", "matrix": [4, 2], "x":4.5, "y":4},
|
||||
{"label":"L44", "matrix": [4, 4], "x":5.5, "y":4},
|
||||
{"label":"R44", "matrix": [9, 4], "x":7.5, "y":4},
|
||||
{"label":"R42", "matrix": [9, 2], "x":8.5, "y":4},
|
||||
{"label":"R41", "matrix": [9, 1], "x":9.5, "y":4},
|
||||
{"label":"R43", "matrix": [9, 3], "x":10.5, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
73
keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c
Normal file
73
keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c
Normal file
@ -0,0 +1,73 @@
|
||||
/**
|
||||
* Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
* Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
|
||||
*
|
||||
* 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 dilemma_keymap_layers {
|
||||
LAYER_BASE = 0,
|
||||
LAYER_LOWER,
|
||||
LAYER_RAISE,
|
||||
};
|
||||
|
||||
#define LOWER MO(LAYER_LOWER)
|
||||
#define RAISE MO(LAYER_RAISE)
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[LAYER_BASE] = LAYOUT(
|
||||
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LALT,
|
||||
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
|
||||
KC_LALT, KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT, KC_DEL, KC_LGUI
|
||||
// ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
|
||||
),
|
||||
|
||||
[LAYER_LOWER] = LAYOUT(
|
||||
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
|
||||
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______
|
||||
// ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
|
||||
),
|
||||
|
||||
[LAYER_RAISE] = LAYOUT(
|
||||
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
|
||||
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
|
||||
_______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
// ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
|
||||
),
|
||||
};
|
||||
// clang-format on
|
@ -0,0 +1,2 @@
|
||||
# Dilemma Max (4x6+4) default keymap
|
||||
|
20
keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h
Normal file
20
keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h
Normal file
@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
* Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 8
|
132
keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c
Normal file
132
keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c
Normal file
@ -0,0 +1,132 @@
|
||||
/**
|
||||
* Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
* Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
|
||||
*
|
||||
* 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 dilemma_keymap_layers {
|
||||
LAYER_BASE = 0,
|
||||
LAYER_LOWER,
|
||||
LAYER_RAISE,
|
||||
LAYER_POINTER,
|
||||
};
|
||||
|
||||
// Automatically enable sniping-mode on the pointer layer.
|
||||
// #define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
|
||||
|
||||
#define LOWER MO(LAYER_LOWER)
|
||||
#define RAISE MO(LAYER_RAISE)
|
||||
#define PT_Z LT(LAYER_POINTER, KC_Z)
|
||||
#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
|
||||
|
||||
#ifndef POINTING_DEVICE_ENABLE
|
||||
# define DRGSCRL KC_NO
|
||||
# define DPI_MOD KC_NO
|
||||
# define S_D_MOD KC_NO
|
||||
# define SNIPING KC_NO
|
||||
#endif // !POINTING_DEVICE_ENABLE
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[LAYER_BASE] = LAYOUT(
|
||||
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_LCTL, PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH, KC_LALT,
|
||||
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
|
||||
KC_LALT, KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT, KC_DEL, KC_MUTE
|
||||
// ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
|
||||
),
|
||||
|
||||
[LAYER_LOWER] = LAYOUT(
|
||||
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
|
||||
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX
|
||||
// ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
|
||||
),
|
||||
|
||||
[LAYER_RAISE] = LAYOUT(
|
||||
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
|
||||
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
|
||||
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
|
||||
XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
// ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
|
||||
),
|
||||
|
||||
[LAYER_POINTER] = LAYOUT(
|
||||
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
|
||||
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
|
||||
XXXXXXX, _______, DRGSCRL, SNIPING, EE_CLR, QK_BOOT, QK_BOOT, EE_CLR, SNIPING, DRGSCRL, _______, XXXXXXX,
|
||||
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
|
||||
XXXXXXX, KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1, KC_BTN2, XXXXXXX
|
||||
// ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
|
||||
),
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#ifdef POINTING_DEVICE_ENABLE
|
||||
# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER));
|
||||
return state;
|
||||
}
|
||||
# endif // DILEMMA_AUTO_SNIPING_ON_LAYER
|
||||
#endif // POINTING_DEVICE_ENABLEE
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
// Forward-declare this helper function since it is defined in rgb_matrix.c.
|
||||
void rgb_matrix_update_pwm_buffers(void);
|
||||
#endif
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[LAYER_BASE] = {ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
|
||||
[LAYER_LOWER] = {ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
|
||||
[LAYER_RAISE] = {ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
|
||||
[LAYER_POINTER] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI)},
|
||||
};
|
||||
// clang-format on
|
||||
#endif // ENCODER_MAP_ENABLE
|
||||
|
||||
void shutdown_user(void) {
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
rgb_matrix_sethsv_noeeprom(HSV_RED);
|
||||
rgb_matrix_update_pwm_buffers();
|
||||
#endif // RGB_MATRIX_ENABLE
|
||||
}
|
47
keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md
Normal file
47
keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md
Normal file
@ -0,0 +1,47 @@
|
||||
# Dilemma Max `via` keymap
|
||||
|
||||
The Dilemma Max `via` keymap is based on the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap, with some features and changes specific to the Dilemma.
|
||||
|
||||
This layout also supports VIA.
|
||||
|
||||
## Customizing the keymap
|
||||
|
||||
### Dynamic DPI scaling
|
||||
|
||||
Use the following keycodes to change the default DPI:
|
||||
|
||||
- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
|
||||
- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
|
||||
|
||||
There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
|
||||
|
||||
Use the following keycodes to change the sniping mode DPI:
|
||||
|
||||
- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
|
||||
- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
|
||||
|
||||
There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
|
||||
|
||||
### Drag-scroll
|
||||
|
||||
Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
|
||||
|
||||
### Circular scroll
|
||||
|
||||
By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad.
|
||||
|
||||
To disable this, add the following to your keymap:
|
||||
|
||||
```c
|
||||
#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE
|
||||
```
|
||||
|
||||
### Sniping
|
||||
|
||||
Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
|
||||
|
||||
Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
|
||||
|
||||
```c
|
||||
#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
|
||||
```
|
2
keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk
Normal file
2
keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
23
keyboards/bastardkb/dilemma/4x6_4/mcuconf.h
Normal file
23
keyboards/bastardkb/dilemma/4x6_4/mcuconf.h
Normal file
@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef RP_SPI_USE_SPI0
|
||||
#define RP_SPI_USE_SPI0 TRUE
|
5
keyboards/bastardkb/dilemma/4x6_4/readme.md
Normal file
5
keyboards/bastardkb/dilemma/4x6_4/readme.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Dilemma Max (4x6+4)
|
||||
|
||||
This keyboard is an upsized version of the [3x5+3 Dilemma](../3x5_3/).
|
||||
|
||||
The Dilemma Max is available at [bastardkb.com](https://bastardkb.com).
|
4
keyboards/bastardkb/dilemma/4x6_4/rules.mk
Normal file
4
keyboards/bastardkb/dilemma/4x6_4/rules.mk
Normal file
@ -0,0 +1,4 @@
|
||||
SERIAL_DRIVER = vendor
|
||||
|
||||
POINTING_DEVICE_ENABLE = yes
|
||||
POINTING_DEVICE_DRIVER = cirque_pinnacle_spi
|
@ -1,16 +1,21 @@
|
||||
# Dilemma
|
||||
|
||||
A very small keyboard made for ergonomic enthusiasts.
|
||||
A family of split keyboards with embedded RP2040 controllers, support for Cirque GlidePoint circle trackpads, and SPI + I2C breakouts for other peripherals
|
||||
|
||||
- Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/)
|
||||
- Hardware Supported: RP2040-based controller (_eg._ Splinky, Elite-c, ...)
|
||||
- Hardware Supported: [Bastardkb Dilemma](https://github.com/Bastardkb/Dilemma)
|
||||
- Hardware Availability: [Bastardkb.com](https://bastardkb.com/)
|
||||
|
||||
A pre-assembled version (with embedded controller) is also available.
|
||||
A DIY version of the 3x5_2 PCB with promicro compatible footprint is also available.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make bastardkb/dilemma/3x5_2/splinky:default
|
||||
make bastardkb/dilemma/3x5_2/assembled:default
|
||||
make bastardkb/dilemma/3x5_3:default
|
||||
make bastardkb/dilemma/4x6_4:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make bastardkb/dilemma/3x5_3:default:flash
|
||||
make bastardkb/dilemma/4x6_4:default:flash
|
||||
|
||||
See the [keyboard build instructions](http://docs.bastardkb.com/)
|
||||
|
6
keyboards/binepad/pixie/config.h
Normal file
6
keyboards/binepad/pixie/config.h
Normal file
@ -0,0 +1,6 @@
|
||||
// Copyright 2023 binepad (@binepad)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define ENCODER_DEFAULT_POS 0x3 // enable 1:1 resolution
|
49
keyboards/binepad/pixie/info.json
Normal file
49
keyboards/binepad/pixie/info.json
Normal file
@ -0,0 +1,49 @@
|
||||
{
|
||||
"manufacturer": "binepad",
|
||||
"keyboard_name": "PIXIE",
|
||||
"url": "http://binepad.com",
|
||||
"maintainer": "binepad",
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"usb": {
|
||||
"vid": "0x4249",
|
||||
"pid": "0x5078",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"encoder": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP19", "GP4"],
|
||||
"rows": ["GP28", "GP5"]
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{
|
||||
"pin_a": "GP18",
|
||||
"pin_b": "GP17"
|
||||
},
|
||||
{
|
||||
"pin_a": "GP20",
|
||||
"pin_b": "GP21"
|
||||
}
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 1.25, "y": 0 },
|
||||
{ "matrix": [1, 0], "x": 0, "y": 1.25 },
|
||||
{ "matrix": [1, 1], "x": 1.25, "y": 1.25 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
22
keyboards/binepad/pixie/keymaps/default/keymap.c
Normal file
22
keyboards/binepad/pixie/keymaps/default/keymap.c
Normal file
@ -0,0 +1,22 @@
|
||||
// Copyright 2023 Binepad (@binpad)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MUTE, KC_MPLY,
|
||||
KC_MPRV, KC_MNXT
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = {
|
||||
ENCODER_CCW_CW(KC_VOLD, KC_VOLU),
|
||||
ENCODER_CCW_CW(KC_WH_U, KC_WH_D)
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
2
keyboards/binepad/pixie/keymaps/default/rules.mk
Normal file
2
keyboards/binepad/pixie/keymaps/default/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
ENCODER_MAP_ENABLE = yes
|
22
keyboards/binepad/pixie/keymaps/via/keymap.c
Normal file
22
keyboards/binepad/pixie/keymaps/via/keymap.c
Normal file
@ -0,0 +1,22 @@
|
||||
// Copyright 2023 Binepad (@binpad)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MUTE, KC_MPLY,
|
||||
KC_MPRV, KC_MNXT
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = {
|
||||
ENCODER_CCW_CW(KC_VOLD, KC_VOLU),
|
||||
ENCODER_CCW_CW(KC_WH_U, KC_WH_D)
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
3
keyboards/binepad/pixie/keymaps/via/rules.mk
Normal file
3
keyboards/binepad/pixie/keymaps/via/rules.mk
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
27
keyboards/binepad/pixie/readme.md
Normal file
27
keyboards/binepad/pixie/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# BINEPAD PIXIE
|
||||
|
||||
![BINEPAD PIXIE](https://i.imgur.com/OnQnkdUh.jpeg)
|
||||
|
||||
*A 2x2 macropad with 2x rotary encoders*
|
||||
|
||||
* Keyboard Maintainer: [binepad](https://github.com/binepad)
|
||||
* Hardware Supported: BINPAD PIXIE
|
||||
* Hardware Availability: [binepad.com](https://www.binepad.com/pixie)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make binepad/pixie:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make binepad/pixie: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 (010) in the matrix (the bottom left key) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the PCB button located on the back of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` or `RESET` if it is available
|
1
keyboards/binepad/pixie/rules.mk
Normal file
1
keyboards/binepad/pixie/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
308
keyboards/bredworks/wyvern_hs/info.json
Normal file
308
keyboards/bredworks/wyvern_hs/info.json
Normal file
@ -0,0 +1,308 @@
|
||||
{
|
||||
"manufacturer": "Bred Works",
|
||||
"keyboard_name": "Wyvern HS",
|
||||
"maintainer": "DeskDaily",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B3", "B2", "B1", "B0", "F7", "D5", "D3", "D2", "D1", "D0", "E6", "F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
|
||||
"rows": ["B7", "F1", "F6", "F5", "F4"]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "https://bredworks.com/products/wyvern-hotswap-pcb",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x0001",
|
||||
"vid": "0x0571"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 16.25, "y": 0},
|
||||
{"matrix": [0, 17], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 19], "x": 19.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.75, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.75, "y": 1},
|
||||
{"matrix": [1, 14], "x": 14.75, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15.75, "y": 1},
|
||||
{"matrix": [1, 16], "x": 16.75, "y": 1},
|
||||
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 19], "x": 19.75, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2},
|
||||
{"matrix": [2, 11], "x": 12, "y": 2},
|
||||
{"matrix": [2, 12], "x": 13, "y": 2},
|
||||
{"matrix": [2, 13], "x": 14, "y": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [2, 15], "x": 16, "y": 2},
|
||||
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 19], "x": 19.75, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "h": 2},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.5, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.5, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.5, "y": 3},
|
||||
{"matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15.5, "y": 3},
|
||||
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 19], "x": 19.75, "y": 3},
|
||||
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
|
||||
{"matrix": [4, 13], "x": 14.25, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
|
||||
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
|
||||
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
|
||||
{"matrix": [0, 18], "x": 18.25, "y": 0}
|
||||
]
|
||||
},
|
||||
"LAYOUT_mirrored_numpad": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 16.25, "y": 0},
|
||||
{"matrix": [0, 17], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 19], "x": 19.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "h": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.75, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.75, "y": 1},
|
||||
{"matrix": [1, 14], "x": 14.75, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15.75, "y": 1},
|
||||
{"matrix": [1, 16], "x": 16.75, "y": 1},
|
||||
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 19], "x": 19.75, "y": 1},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2},
|
||||
{"matrix": [2, 11], "x": 12, "y": 2},
|
||||
{"matrix": [2, 12], "x": 13, "y": 2},
|
||||
{"matrix": [2, 13], "x": 14, "y": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [2, 15], "x": 16, "y": 2},
|
||||
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 19], "x": 19.75, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "h": 2},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.5, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.5, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.5, "y": 3},
|
||||
{"matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15.5, "y": 3},
|
||||
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 19], "x": 19.75, "y": 3},
|
||||
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4, "w": 2},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
|
||||
{"matrix": [4, 13], "x": 14.25, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
|
||||
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
|
||||
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
|
||||
{"matrix": [0, 18], "x": 18.25, "y": 0}
|
||||
]
|
||||
},
|
||||
"LAYOUT_regular_numpad": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10.25, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11.25, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12.25, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13.25, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 16], "x": 16.25, "y": 0},
|
||||
{"matrix": [0, 17], "x": 17.25, "y": 0},
|
||||
{"matrix": [0, 19], "x": 19.75, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1, "h": 2},
|
||||
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.75, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.75, "y": 1},
|
||||
{"matrix": [1, 14], "x": 14.75, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15.75, "y": 1},
|
||||
{"matrix": [1, 16], "x": 16.75, "y": 1},
|
||||
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 19], "x": 19.75, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 5], "x": 6, "y": 2},
|
||||
{"matrix": [2, 6], "x": 7, "y": 2},
|
||||
{"matrix": [2, 7], "x": 8, "y": 2},
|
||||
{"matrix": [2, 8], "x": 9, "y": 2},
|
||||
{"matrix": [2, 9], "x": 10, "y": 2},
|
||||
{"matrix": [2, 10], "x": 11, "y": 2},
|
||||
{"matrix": [2, 11], "x": 12, "y": 2},
|
||||
{"matrix": [2, 12], "x": 13, "y": 2},
|
||||
{"matrix": [2, 13], "x": 14, "y": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [2, 15], "x": 16, "y": 2},
|
||||
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 19], "x": 19.75, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 5], "x": 5.5, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.5, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.5, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.5, "y": 3},
|
||||
{"matrix": [3, 14], "x": 14.5, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15.5, "y": 3},
|
||||
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 19], "x": 19.75, "y": 3},
|
||||
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
|
||||
{"matrix": [4, 1], "x": 0, "y": 4, "w": 2},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
|
||||
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
|
||||
{"matrix": [4, 13], "x": 14.25, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
|
||||
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
|
||||
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
|
||||
{"matrix": [0, 18], "x": 18.25, "y": 0}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
33
keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c
Normal file
33
keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c
Normal file
@ -0,0 +1,33 @@
|
||||
/* Copyright 2023 DeskDaily
|
||||
*
|
||||
* 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_mirrored_numpad(
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 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_DEL,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_P4, KC_P5, KC_P6, 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_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
|
||||
KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
|
||||
),
|
||||
[1] = LAYOUT_mirrored_numpad(
|
||||
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
@ -0,0 +1,33 @@
|
||||
/* Copyright 2023 DeskDaily
|
||||
*
|
||||
* 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_regular_numpad(
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 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_DEL,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS, 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_P4, KC_P5, KC_P6, 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_P1, KC_P2, KC_P3, KC_ENT, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
|
||||
KC_P0, KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
|
||||
),
|
||||
[1] = LAYOUT_regular_numpad(
|
||||
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
33
keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c
Normal file
33
keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c
Normal file
@ -0,0 +1,33 @@
|
||||
/* Copyright 2023 DeskDaily
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, 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_DEL,
|
||||
KC_PPLS, KC_P7, KC_P8, KC_P9, 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_PPLS, KC_P4, KC_P5, KC_P6, 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_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
|
||||
KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
2
keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk
Normal file
2
keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
23
keyboards/bredworks/wyvern_hs/readme.md
Normal file
23
keyboards/bredworks/wyvern_hs/readme.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Bredworks Wyvern HS
|
||||
|
||||
* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily)
|
||||
* Hardware Supported: Atmega32u4
|
||||
* Hardware Availability: [BredWorks](https://bredworks.com/products/wyvern-hotswap-pcb)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make bredworks/wyvern_hs:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make bredworks/wyvern_hs:default:flash
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the upper left key/esc) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
||||
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).
|
1
keyboards/bredworks/wyvern_hs/rules.mk
Normal file
1
keyboards/bredworks/wyvern_hs/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
@ -38,6 +38,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"community_layouts": ["split_3x5_2"],
|
||||
"layouts": {
|
||||
"LAYOUT_split_3x5_2": {
|
||||
"layout": [
|
||||
|
@ -49,7 +49,16 @@
|
||||
"driver": "vendor",
|
||||
"pin": "GP7"
|
||||
},
|
||||
"community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_iso_tsangan"],
|
||||
"community_layouts": [
|
||||
"60_ansi",
|
||||
"60_ansi_split_bs_rshift",
|
||||
"60_ansi_tsangan",
|
||||
"60_tsangan_hhkb",
|
||||
"60_hhkb",
|
||||
"60_iso",
|
||||
"60_iso_split_bs_rshift",
|
||||
"60_iso_tsangan"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [
|
||||
@ -183,6 +192,354 @@
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_tsangan_hhkb": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 12], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_hhkb": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 12], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 12], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
@ -212,7 +569,6 @@
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
@ -226,6 +582,7 @@
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
@ -248,6 +605,77 @@
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 12], "x": 14, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
24
keyboards/cannonkeys/bastion60/matrix_diagram.md
Normal file
24
keyboards/cannonkeys/bastion60/matrix_diagram.md
Normal file
@ -0,0 +1,24 @@
|
||||
# Matrix Diagram for CannonKeys Bastion60
|
||||
|
||||
```
|
||||
┌───────┐
|
||||
2u Backspace │0D │
|
||||
└───────┘
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐
|
||||
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter
|
||||
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │1D │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘
|
||||
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
|
||||
│40 │41 │42 │46 │4A │4B │4C │4D │
|
||||
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
┌────────┐ ┌──────────┐
|
||||
│30 │ 2.25u LShift 2.75u RShift │3C │
|
||||
└────────┘ └──────────┘
|
||||
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB
|
||||
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
```
|
@ -49,8 +49,21 @@
|
||||
"driver": "vendor",
|
||||
"pin": "GP7"
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_all"
|
||||
},
|
||||
"community_layouts": [
|
||||
"65_ansi_blocker",
|
||||
"65_ansi_blocker_split_bs",
|
||||
"65_ansi_blocker_tsangan",
|
||||
"65_ansi_blocker_tsangan_split_bs",
|
||||
"65_iso_blocker",
|
||||
"65_iso_blocker_split_bs",
|
||||
"65_iso_blocker_tsangan",
|
||||
"65_iso_blocker_tsangan_split_bs"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
@ -124,6 +137,610 @@
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_ansi_blocker": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_ansi_blocker_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 12], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_ansi_blocker_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_ansi_blocker_tsangan_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 12], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 12], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker_tsangan_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 12], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 14], "x": 15, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ enum layer_names {
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
[_BASE] = LAYOUT_all(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
|
||||
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_END,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||
@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT(
|
||||
[_FN1] = LAYOUT_all(
|
||||
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
|
||||
RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user