mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-22 03:19:24 +00:00
Merge branch 'nuphy-air75' of https://github.com/nuphy-src/qmk_firmware into nuphy-air75
This commit is contained in:
commit
67c0c7f407
@ -4,39 +4,39 @@
|
|||||||
root = true
|
root = true
|
||||||
|
|
||||||
[*]
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 4
|
indent_size = 4
|
||||||
|
|
||||||
# We recommend you to keep these unchanged
|
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[{*.yaml,*.yml}] # To match GitHub Actions formatting
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
[*.md]
|
[*.md]
|
||||||
trim_trailing_whitespace = false
|
trim_trailing_whitespace = false
|
||||||
indent_size = 4
|
|
||||||
|
|
||||||
[{qmk,*.py}]
|
[{Makefile,*.mk}]
|
||||||
charset = utf-8
|
|
||||||
max_line_length = 200
|
|
||||||
|
|
||||||
# Make these match what we have in .gitattributes
|
|
||||||
[*.mk]
|
|
||||||
end_of_line = lf
|
|
||||||
indent_style = tab
|
indent_style = tab
|
||||||
|
|
||||||
[Makefile]
|
# Don't override anything in `lib/`...
|
||||||
end_of_line = lf
|
|
||||||
indent_style = tab
|
|
||||||
|
|
||||||
[*.sh]
|
|
||||||
end_of_line = lf
|
|
||||||
|
|
||||||
# The gitattributes file will handle the line endings conversion properly according to the operating system settings for other files
|
|
||||||
|
|
||||||
|
|
||||||
# We don't have gitattributes properly for these
|
|
||||||
# So if the user have for example core.autocrlf set to true
|
|
||||||
# the line endings would be wrong.
|
|
||||||
[lib/**]
|
[lib/**]
|
||||||
|
indent_style = unset
|
||||||
|
indent_size = unset
|
||||||
|
tab_width = unset
|
||||||
end_of_line = unset
|
end_of_line = unset
|
||||||
|
charset = unset
|
||||||
|
spelling_language = unset
|
||||||
|
trim_trailing_whitespace = unset
|
||||||
|
insert_final_newline = unset
|
||||||
|
|
||||||
|
# ...except QMK's `lib/python`.
|
||||||
|
[{*.py,lib/python/**.py}]
|
||||||
|
end_of_line = lf
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
max_line_length = 200
|
||||||
|
4
.github/workflows/format.yml
vendored
4
.github/workflows/format.yml
vendored
@ -35,7 +35,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Get changed files
|
- name: Get changed files
|
||||||
id: file_changes
|
id: file_changes
|
||||||
uses: tj-actions/changed-files@v42
|
uses: tj-actions/changed-files@v43
|
||||||
|
with:
|
||||||
|
use_rest_api: true
|
||||||
|
|
||||||
- name: Run qmk formatters
|
- name: Run qmk formatters
|
||||||
shell: 'bash {0}'
|
shell: 'bash {0}'
|
||||||
|
2
.github/workflows/format_push.yml
vendored
2
.github/workflows/format_push.yml
vendored
@ -47,7 +47,7 @@ jobs:
|
|||||||
git config user.email 'hello@qmk.fm'
|
git config user.email 'hello@qmk.fm'
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@v5
|
uses: peter-evans/create-pull-request@v6
|
||||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||||
|
14
.github/workflows/lint.yml
vendored
14
.github/workflows/lint.yml
vendored
@ -27,7 +27,9 @@ jobs:
|
|||||||
|
|
||||||
- name: Get changed files
|
- name: Get changed files
|
||||||
id: file_changes
|
id: file_changes
|
||||||
uses: tj-actions/changed-files@v42
|
uses: tj-actions/changed-files@v43
|
||||||
|
with:
|
||||||
|
use_rest_api: true
|
||||||
|
|
||||||
- name: Print info
|
- name: Print info
|
||||||
run: |
|
run: |
|
||||||
@ -62,10 +64,12 @@ jobs:
|
|||||||
|
|
||||||
qmk format-text ${{ steps.file_changes.outputs.all_changed_files}} || true
|
qmk format-text ${{ steps.file_changes.outputs.all_changed_files}} || true
|
||||||
for file in ${{ steps.file_changes.outputs.all_changed_files}}; do
|
for file in ${{ steps.file_changes.outputs.all_changed_files}}; do
|
||||||
if ! git diff --quiet $file; then
|
if [[ -f $file ]]; then
|
||||||
echo "File '${file}' Requires Formatting"
|
if ! git diff --quiet $file; then
|
||||||
echo "::error file=${file}::Requires Formatting"
|
echo "File '${file}' Requires Formatting"
|
||||||
exit_code=$(($exit_code + 1))
|
echo "::error file=${file}::Requires Formatting"
|
||||||
|
exit_code=$(($exit_code + 1))
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
2
.github/workflows/regen_push.yml
vendored
2
.github/workflows/regen_push.yml
vendored
@ -34,7 +34,7 @@ jobs:
|
|||||||
git config user.email 'hello@qmk.fm'
|
git config user.email 'hello@qmk.fm'
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@v5
|
uses: peter-evans/create-pull-request@v6
|
||||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||||
|
@ -5,8 +5,10 @@ ifneq ($(findstring yes, $(CTPC)$(CONVERT_TO_PROTON_C)),)
|
|||||||
$(call CATASTROPHIC_ERROR,The `CONVERT_TO_PROTON_C` and `CTPC` options are now deprecated. `CONVERT_TO=proton_c` should be used instead.)
|
$(call CATASTROPHIC_ERROR,The `CONVERT_TO_PROTON_C` and `CTPC` options are now deprecated. `CONVERT_TO=proton_c` should be used instead.)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# TODO: opt in rather than assume everything uses a pro micro
|
ifneq (,$(filter $(MCU),atmega32u4))
|
||||||
PIN_COMPATIBLE ?= promicro
|
# TODO: opt in rather than assume everything uses a pro micro
|
||||||
|
PIN_COMPATIBLE ?= promicro
|
||||||
|
endif
|
||||||
|
|
||||||
# Remove whitespace from any rule.mk provided vars
|
# Remove whitespace from any rule.mk provided vars
|
||||||
# - env cannot be overwritten but cannot have whitespace anyway
|
# - env cannot be overwritten but cannot have whitespace anyway
|
||||||
@ -16,6 +18,10 @@ ifneq ($(CONVERT_TO),)
|
|||||||
# stash so we can overwrite env provided vars if needed
|
# stash so we can overwrite env provided vars if needed
|
||||||
ACTIVE_CONVERTER=$(CONVERT_TO)
|
ACTIVE_CONVERTER=$(CONVERT_TO)
|
||||||
|
|
||||||
|
ifeq ($(PIN_COMPATIBLE),)
|
||||||
|
$(call CATASTROPHIC_ERROR,Converting to '$(CONVERT_TO)' not possible!)
|
||||||
|
endif
|
||||||
|
|
||||||
# glob to search each platfrorm and/or check for valid converter
|
# glob to search each platfrorm and/or check for valid converter
|
||||||
CONVERTER := $(wildcard $(PLATFORM_PATH)/*/converters/$(PIN_COMPATIBLE)_to_$(CONVERT_TO)/)
|
CONVERTER := $(wildcard $(PLATFORM_PATH)/*/converters/$(PIN_COMPATIBLE)_to_$(CONVERT_TO)/)
|
||||||
ifeq ($(CONVERTER),)
|
ifeq ($(CONVERTER),)
|
||||||
|
@ -45,4 +45,4 @@ Eg, if you wanted to set the "Adjust" layer to be layer 5, you'd add this to you
|
|||||||
| `get_tri_layer_upper_layer()` | Gets the current "upper" layer. |
|
| `get_tri_layer_upper_layer()` | Gets the current "upper" layer. |
|
||||||
| `get_tri_layer_adjust_layer()` | Gets the current "adjust" layer. |
|
| `get_tri_layer_adjust_layer()` | Gets the current "adjust" layer. |
|
||||||
|
|
||||||
!> Note: these settings are not persisent, and will be reset to the default on power loss or power cycling of the controller.
|
!> Note: these settings are not persistent, and will be reset to the default on power loss or power cycling of the controller.
|
||||||
|
@ -4,7 +4,7 @@ This page attempts to explain the basic information you need to know to work wit
|
|||||||
|
|
||||||
## Basic QMK Structure
|
## Basic QMK Structure
|
||||||
|
|
||||||
QMK is a fork of [Jun Wako](https://github.com/tmk)'s [tmk_keyboard](https://github.com/tmk/tmk_keyboard) project. The original TMK code, with modifications, can be found in the `tmk_core` folder. The QMK additions to the project may be found in the `quantum` folder. Keyboard projects may be found in the `handwired` and `keyboard` folders.
|
QMK is a fork of [Jun Wako](https://github.com/tmk)'s [tmk_keyboard](https://github.com/tmk/tmk_keyboard) project. The original TMK code, with modifications, can be found in the `tmk_core` folder. The QMK additions to the project may be found in the `quantum` folder. Keyboard projects may be found in the `keyboards` folder.
|
||||||
|
|
||||||
### Userspace Structure
|
### Userspace Structure
|
||||||
|
|
||||||
|
@ -117,3 +117,77 @@ Using the [standard `compile_commands.json` database](https://clang.llvm.org/doc
|
|||||||
1. Start typing `clangd: Restart Language Server` and select it when it appears.
|
1. Start typing `clangd: Restart Language Server` and select it when it appears.
|
||||||
|
|
||||||
Now you're ready to code QMK Firmware in VS Code!
|
Now you're ready to code QMK Firmware in VS Code!
|
||||||
|
|
||||||
|
# Debugging ARM MCUs with Visual Studio Code
|
||||||
|
|
||||||
|
**...and a Black Magic Probe.**
|
||||||
|
|
||||||
|
Visual Studio Code has the ability to debug applications, but requires some configuration in order to get it to be able to do so for ARM targets.
|
||||||
|
|
||||||
|
This documentation describes a known-working configuration for setting up the use of a Black Magic Probe to debug using VS Code.
|
||||||
|
|
||||||
|
It is assumed that you've correctly set up the electrical connectivity of the Black Magic Probe with your MCU. Wiring up `NRST`, `SWDIO`, `SWCLK`, and `GND` should be enough.
|
||||||
|
|
||||||
|
Install the following plugin into VS Code:
|
||||||
|
|
||||||
|
* [Cortex-Debug](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug) -
|
||||||
|
This adds debugger support for ARM Cortex targets to VS Code.
|
||||||
|
|
||||||
|
A debugging target for the MCU for your board needs to be defined, and can be done so by adding the following to a `.vscode/launch.json` file:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Black Magic Probe (OneKey Proton-C)",
|
||||||
|
"type": "cortex-debug",
|
||||||
|
"request": "launch",
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"executable": "${workspaceRoot}/.build/handwired_onekey_proton_c_default.elf",
|
||||||
|
"servertype": "bmp",
|
||||||
|
"BMPGDBSerialPort": "COM4",
|
||||||
|
"svdFile": "Q:\\svd\\STM32F303.svd",
|
||||||
|
"device": "STM32F303",
|
||||||
|
"v1": false,
|
||||||
|
"windows": {
|
||||||
|
"armToolchainPath": "C:\\QMK_MSYS\\mingw64\\bin"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
You'll need to perform some modifications to the file above in order to target your specific device:
|
||||||
|
|
||||||
|
* `"name"`: Can be anything, but if you're debugging multiple targets you'll want something descriptive here.
|
||||||
|
* `"cwd"`: The path to the QMK Firmware repository root directory -- _if using the `.vscode` directory existing in the `qmk_firmware` git repository, the default above should be correct_
|
||||||
|
* `"executable"`: The path to the `elf` file generated as part of the build for your keyboard -- _exists in `<qmk_firmware>/.build`_
|
||||||
|
* `"BMPGDBSerialPort"`: The `COM` port under Windows, or the `/dev/...` path for Linux/macOS. Two serial port devices will be created -- the Black Magic Probe debug port is *usually* the first. If it doesn't work, try the second.
|
||||||
|
* `"svdFile"`: _[Optional]_ The path to the SVD file that defines the register layout for the MCU -- the appropriate file can be downloaded from the [cmsis-svd repository](https://github.com/posborne/cmsis-svd/tree/master/data/STMicro)
|
||||||
|
* `"device"`: The name of the MCU, which matches the `<name>` tag at the top of the downloaded `svd` file.
|
||||||
|
* `"armToolchainPath"`: _[Optional]_ The path to the ARM toolchain installation location on Windows -- under normal circumstances Linux/macOS will auto-detect this correctly and will not need to be specified.
|
||||||
|
|
||||||
|
!> Windows builds of QMK Firmware are generally compiled using QMK MSYS, and the path to gdb's location (`C:\\QMK_MSYS\\mingw64\\bin`) needs to be specified under `armToolchainPath` for it to be detected. You may also need to change the GDB path to point at `C:\\QMK_MSYS\\mingw64\\bin\\gdb-multiarch.exe` in the VSCode Cortex-Debug user settings: ![VSCode Settings](https://i.imgur.com/EGrPM1L.png)
|
||||||
|
|
||||||
|
Optionally, the following modifications should also be made to the keyboard's `rules.mk` file to disable optimisations -- not strictly required but will ensure breakpoints and variable viewing works correctly:
|
||||||
|
```makefile
|
||||||
|
# Disable optimisations for debugging purposes
|
||||||
|
LTO_ENABLE = no
|
||||||
|
OPT = g
|
||||||
|
DEBUG = 3
|
||||||
|
```
|
||||||
|
|
||||||
|
At this point, you should build and flash your firmware through normal methods (`qmk compile ...` and `qmk flash ...`).
|
||||||
|
|
||||||
|
Once completed, you can:
|
||||||
|
* Switch to the debug view in VS Code (in the sidebar, the Play button with a bug next to it)
|
||||||
|
* Select the newly-created debug target in the dropdown at the top of the sidebar
|
||||||
|
* Click the green play button next to the dropdown
|
||||||
|
|
||||||
|
VS Code's debugger will then start executing the compiled firmware on the MCU.
|
||||||
|
|
||||||
|
At this stage, you should have full debugging set up, with breakpoints and variable listings working!
|
||||||
|
@ -9,6 +9,7 @@ If there are any inconsistencies with these recommendations, you're best off [cr
|
|||||||
- PR should be submitted using a non-`master` branch on the source repository
|
- PR should be submitted using a non-`master` branch on the source repository
|
||||||
- this does not mean you target a different branch for your PR, rather that you're not working out of your own master branch
|
- this does not mean you target a different branch for your PR, rather that you're not working out of your own master branch
|
||||||
- if submitter _does_ use their own `master` branch, they'll be given a link to the ["how to git"](newbs_git_using_your_master_branch.md) page after merging -- (end of this document will contain the contents of the message)
|
- if submitter _does_ use their own `master` branch, they'll be given a link to the ["how to git"](newbs_git_using_your_master_branch.md) page after merging -- (end of this document will contain the contents of the message)
|
||||||
|
- Note, frequently merging upstream with your branch is not needed and is discouraged. Valid reason for updating your branch may be resolving merge conflicts and pulling in new changes relevant to your PR.
|
||||||
- PRs should contain the smallest amount of modifications required for a single change to the codebase
|
- PRs should contain the smallest amount of modifications required for a single change to the codebase
|
||||||
- multiple keyboards at the same time is not acceptable
|
- multiple keyboards at the same time is not acceptable
|
||||||
- **the smaller the PR, the higher likelihood of a quicker review, higher likelihood of quicker merge, and less chance of conflicts**
|
- **the smaller the PR, the higher likelihood of a quicker review, higher likelihood of quicker merge, and less chance of conflicts**
|
||||||
@ -43,10 +44,10 @@ If there are any inconsistencies with these recommendations, you're best off [cr
|
|||||||
|
|
||||||
- PRs for vendor specific keymaps will be permitted. The naming convention for these should be `default_${vendor}`, `via_${vendor}` i.e. `via_clueboard`.
|
- PRs for vendor specific keymaps will be permitted. The naming convention for these should be `default_${vendor}`, `via_${vendor}` i.e. `via_clueboard`.
|
||||||
- vendor specific keymaps do not necessarily need to be "vanilla" and can be more richly featured than `default` or `via` stock keymaps.
|
- vendor specific keymaps do not necessarily need to be "vanilla" and can be more richly featured than `default` or `via` stock keymaps.
|
||||||
- #include QMK_KEYBOARD_H preferred to including specific board files
|
- `#include QMK_KEYBOARD_H` preferred to including specific board files
|
||||||
- prefer layer enums to #defines
|
- prefer layer enums to #defines
|
||||||
- custom keycode enums must have first entry = SAFE_RANGE
|
- custom keycode enums must have first entry = `QK_USER`
|
||||||
- some care with spacing (e.g., alignment on commas or first char of keycodes) makes for a much nicer-looking keymap
|
- some care with spacing (e.g., alignment on commas or first char of keycodes) makes for a much nicer-looking keymap. Spaces are preferred to tabs
|
||||||
|
|
||||||
## Keyboard PRs
|
## Keyboard PRs
|
||||||
|
|
||||||
@ -81,6 +82,8 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
|||||||
- Encoder Configuration
|
- Encoder Configuration
|
||||||
- Bootmagic Configuration
|
- Bootmagic Configuration
|
||||||
- LED Indicator Configuration
|
- LED Indicator Configuration
|
||||||
|
- RGB Light Configuration
|
||||||
|
- RGB Matrix 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.
|
- 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`
|
- `readme.md`
|
||||||
- must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
|
- must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
|
||||||
@ -90,8 +93,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
|||||||
- a picture about the keyboard and preferably about the PCB, too
|
- a picture about the keyboard and preferably about the PCB, too
|
||||||
- images are not to be placed in the `qmk_firmware` repository
|
- images are not to be placed in the `qmk_firmware` repository
|
||||||
- images should be uploaded to an external image hosting service, such as [imgur](https://imgur.com/).
|
- images should be uploaded to an external image hosting service, such as [imgur](https://imgur.com/).
|
||||||
- if imgur is used, images should be resized appropriately: append "h" to the image url i.e. [https://i.imgur.com/vqgE7Ok.jpg](https://i.imgur.com/vqgE7Ok.jpg) becomes [https://i.imgur.com/vqgE7Ok**h**.jpg](https://i.imgur.com/vqgE7Okh.jpg)
|
- image links should link directly to the image, not a "preview" -- i.e. [https://imgur.com/vqgE7Ok](https://imgur.com/vqgE7Ok) should be [https://i.imgur.com/vqgE7Ok.jpg](https://i.imgur.com/vqgE7Ok.jpg) when using imgur
|
||||||
- image links should link directly to the image, not a "preview" -- i.e. [https://imgur.com/vqgE7Ok](https://imgur.com/vqgE7Ok) should be [https://i.imgur.com/vqgE7Okh.jpg](https://i.imgur.com/vqgE7Okh.jpg) when using imgur
|
|
||||||
- `rules.mk`
|
- `rules.mk`
|
||||||
- removed `MIDI_ENABLE`, `FAUXCLICKY_ENABLE` and `HD44780_ENABLE`
|
- removed `MIDI_ENABLE`, `FAUXCLICKY_ENABLE` and `HD44780_ENABLE`
|
||||||
- modified `# Enable Bluetooth with the Adafruit EZ-Key HID` -> `# Enable Bluetooth`
|
- modified `# Enable Bluetooth with the Adafruit EZ-Key HID` -> `# Enable Bluetooth`
|
||||||
@ -204,7 +206,7 @@ Additionally, PR reviews are something that is done in our free time. We are not
|
|||||||
## Example GPLv2 Header
|
## Example GPLv2 Header
|
||||||
|
|
||||||
```
|
```
|
||||||
/* Copyright 2021 Your Name (@yourgithub)
|
/* Copyright 2024 Your Name (@yourgithub)
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -224,6 +226,6 @@ Additionally, PR reviews are something that is done in our free time. We are not
|
|||||||
Or, optionally, using [SPDX identifier](https://spdx.org/licenses/) instead:
|
Or, optionally, using [SPDX identifier](https://spdx.org/licenses/) instead:
|
||||||
|
|
||||||
```
|
```
|
||||||
// Copyright 2021 Your Name (@yourgithub)
|
// Copyright 2024 Your Name (@yourgithub)
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
```
|
```
|
||||||
|
@ -130,6 +130,227 @@
|
|||||||
{"matrix": [0, 14], "x": 17, "y": 4},
|
{"matrix": [0, 14], "x": 17, "y": 4},
|
||||||
{"matrix": [0, 7], "x": 18, "y": 4},
|
{"matrix": [0, 7], "x": 18, "y": 4},
|
||||||
|
|
||||||
|
{"matrix": [6, 0], "x": 0, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [6, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [6, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [6, 3], "x": 3.75, "y": 5, "w": 6.25},
|
||||||
|
{"matrix": [6, 4], "x": 10, "y": 5, "w": 1.5},
|
||||||
|
{"matrix": [6, 5], "x": 11.5, "y": 5, "w": 1.5},
|
||||||
|
{"matrix": [6, 6], "x": 13, "y": 5},
|
||||||
|
{"matrix": [6, 8], "x": 14, "y": 5},
|
||||||
|
{"matrix": [6, 9], "x": 15, "y": 5},
|
||||||
|
{"matrix": [6, 10], "x": 16, "y": 5},
|
||||||
|
{"matrix": [6, 11], "x": 17, "y": 5},
|
||||||
|
{"matrix": [6, 12], "x": 18, "y": 5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_96_ansi_rwkl_split_num_plus_enter": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [1, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [1, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 16, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 17, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 18, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [2, 4], "x": 4, "y": 1},
|
||||||
|
{"matrix": [2, 5], "x": 5, "y": 1},
|
||||||
|
{"matrix": [2, 6], "x": 6, "y": 1},
|
||||||
|
{"matrix": [2, 7], "x": 7, "y": 1},
|
||||||
|
{"matrix": [2, 8], "x": 8, "y": 1},
|
||||||
|
{"matrix": [2, 9], "x": 9, "y": 1},
|
||||||
|
{"matrix": [2, 10], "x": 10, "y": 1},
|
||||||
|
{"matrix": [2, 11], "x": 11, "y": 1},
|
||||||
|
{"matrix": [2, 12], "x": 12, "y": 1},
|
||||||
|
{"matrix": [2, 13], "x": 13, "y": 1, "w": 2},
|
||||||
|
{"matrix": [2, 15], "x": 15, "y": 1},
|
||||||
|
{"matrix": [0, 11], "x": 16, "y": 1},
|
||||||
|
{"matrix": [0, 15], "x": 17, "y": 1},
|
||||||
|
{"matrix": [6, 15], "x": 18, "y": 1},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 2},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 2},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 2},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 2},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 2},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 2},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 2},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 2},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 2},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 2},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 2},
|
||||||
|
{"matrix": [3, 12], "x": 12.5, "y": 2},
|
||||||
|
{"matrix": [3, 13], "x": 13.5, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [3, 14], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 15], "x": 16, "y": 2},
|
||||||
|
{"matrix": [0, 13], "x": 17, "y": 2},
|
||||||
|
{"matrix": [6, 13], "x": 18, "y": 2},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [4, 1], "x": 1.75, "y": 3},
|
||||||
|
{"matrix": [4, 2], "x": 2.75, "y": 3},
|
||||||
|
{"matrix": [4, 3], "x": 3.75, "y": 3},
|
||||||
|
{"matrix": [4, 4], "x": 4.75, "y": 3},
|
||||||
|
{"matrix": [4, 5], "x": 5.75, "y": 3},
|
||||||
|
{"matrix": [4, 6], "x": 6.75, "y": 3},
|
||||||
|
{"matrix": [4, 7], "x": 7.75, "y": 3},
|
||||||
|
{"matrix": [4, 8], "x": 8.75, "y": 3},
|
||||||
|
{"matrix": [4, 9], "x": 9.75, "y": 3},
|
||||||
|
{"matrix": [4, 10], "x": 10.75, "y": 3},
|
||||||
|
{"matrix": [4, 11], "x": 11.75, "y": 3},
|
||||||
|
{"matrix": [4, 12], "x": 12.75, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [4, 13], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 14], "x": 16, "y": 3},
|
||||||
|
{"matrix": [4, 15], "x": 17, "y": 3},
|
||||||
|
{"matrix": [6, 14], "x": 18, "y": 3},
|
||||||
|
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 4, "w": 2.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.25, "y": 4},
|
||||||
|
{"matrix": [5, 3], "x": 3.25, "y": 4},
|
||||||
|
{"matrix": [5, 4], "x": 4.25, "y": 4},
|
||||||
|
{"matrix": [5, 5], "x": 5.25, "y": 4},
|
||||||
|
{"matrix": [5, 6], "x": 6.25, "y": 4},
|
||||||
|
{"matrix": [5, 7], "x": 7.25, "y": 4},
|
||||||
|
{"matrix": [5, 8], "x": 8.25, "y": 4},
|
||||||
|
{"matrix": [5, 9], "x": 9.25, "y": 4},
|
||||||
|
{"matrix": [5, 10], "x": 10.25, "y": 4},
|
||||||
|
{"matrix": [5, 11], "x": 11.25, "y": 4},
|
||||||
|
{"matrix": [5, 12], "x": 12.25, "y": 4, "w": 1.75},
|
||||||
|
{"matrix": [5, 13], "x": 14, "y": 4},
|
||||||
|
{"matrix": [5, 14], "x": 15, "y": 4},
|
||||||
|
{"matrix": [5, 15], "x": 16, "y": 4},
|
||||||
|
{"matrix": [0, 14], "x": 17, "y": 4},
|
||||||
|
{"matrix": [0, 7], "x": 18, "y": 4},
|
||||||
|
|
||||||
|
{"matrix": [6, 0], "x": 0, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [6, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [6, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||||
|
{"matrix": [6, 3], "x": 3.75, "y": 5, "w": 6.25},
|
||||||
|
{"matrix": [6, 4], "x": 10, "y": 5, "w": 1.5},
|
||||||
|
{"matrix": [6, 5], "x": 11.5, "y": 5, "w": 1.5},
|
||||||
|
{"matrix": [6, 6], "x": 13, "y": 5},
|
||||||
|
{"matrix": [6, 8], "x": 14, "y": 5},
|
||||||
|
{"matrix": [6, 9], "x": 15, "y": 5},
|
||||||
|
{"matrix": [6, 10], "x": 16, "y": 5},
|
||||||
|
{"matrix": [6, 11], "x": 17, "y": 5},
|
||||||
|
{"matrix": [6, 12], "x": 18, "y": 5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_96_ansi_rwkl_split_bs_num_plus_enter": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [1, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [1, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [1, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [1, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [1, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [1, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [1, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [1, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [1, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [1, 15], "x": 15, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 16, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 17, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 18, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 1},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 1},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [2, 4], "x": 4, "y": 1},
|
||||||
|
{"matrix": [2, 5], "x": 5, "y": 1},
|
||||||
|
{"matrix": [2, 6], "x": 6, "y": 1},
|
||||||
|
{"matrix": [2, 7], "x": 7, "y": 1},
|
||||||
|
{"matrix": [2, 8], "x": 8, "y": 1},
|
||||||
|
{"matrix": [2, 9], "x": 9, "y": 1},
|
||||||
|
{"matrix": [2, 10], "x": 10, "y": 1},
|
||||||
|
{"matrix": [2, 11], "x": 11, "y": 1},
|
||||||
|
{"matrix": [2, 12], "x": 12, "y": 1},
|
||||||
|
{"matrix": [2, 13], "x": 13, "y": 1},
|
||||||
|
{"matrix": [2, 14], "x": 14, "y": 1},
|
||||||
|
{"matrix": [2, 15], "x": 15, "y": 1},
|
||||||
|
{"matrix": [0, 11], "x": 16, "y": 1},
|
||||||
|
{"matrix": [0, 15], "x": 17, "y": 1},
|
||||||
|
{"matrix": [6, 15], "x": 18, "y": 1},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 2},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 2},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 2},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 2},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 2},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 2},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 2},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 2},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 2},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 2},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 2},
|
||||||
|
{"matrix": [3, 12], "x": 12.5, "y": 2},
|
||||||
|
{"matrix": [3, 13], "x": 13.5, "y": 2, "w": 1.5},
|
||||||
|
{"matrix": [3, 14], "x": 15, "y": 2},
|
||||||
|
{"matrix": [3, 15], "x": 16, "y": 2},
|
||||||
|
{"matrix": [0, 13], "x": 17, "y": 2},
|
||||||
|
{"matrix": [6, 13], "x": 18, "y": 2},
|
||||||
|
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [4, 1], "x": 1.75, "y": 3},
|
||||||
|
{"matrix": [4, 2], "x": 2.75, "y": 3},
|
||||||
|
{"matrix": [4, 3], "x": 3.75, "y": 3},
|
||||||
|
{"matrix": [4, 4], "x": 4.75, "y": 3},
|
||||||
|
{"matrix": [4, 5], "x": 5.75, "y": 3},
|
||||||
|
{"matrix": [4, 6], "x": 6.75, "y": 3},
|
||||||
|
{"matrix": [4, 7], "x": 7.75, "y": 3},
|
||||||
|
{"matrix": [4, 8], "x": 8.75, "y": 3},
|
||||||
|
{"matrix": [4, 9], "x": 9.75, "y": 3},
|
||||||
|
{"matrix": [4, 10], "x": 10.75, "y": 3},
|
||||||
|
{"matrix": [4, 11], "x": 11.75, "y": 3},
|
||||||
|
{"matrix": [4, 12], "x": 12.75, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [4, 13], "x": 15, "y": 3},
|
||||||
|
{"matrix": [4, 14], "x": 16, "y": 3},
|
||||||
|
{"matrix": [4, 15], "x": 17, "y": 3},
|
||||||
|
{"matrix": [6, 14], "x": 18, "y": 3},
|
||||||
|
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 4, "w": 2.25},
|
||||||
|
{"matrix": [5, 2], "x": 2.25, "y": 4},
|
||||||
|
{"matrix": [5, 3], "x": 3.25, "y": 4},
|
||||||
|
{"matrix": [5, 4], "x": 4.25, "y": 4},
|
||||||
|
{"matrix": [5, 5], "x": 5.25, "y": 4},
|
||||||
|
{"matrix": [5, 6], "x": 6.25, "y": 4},
|
||||||
|
{"matrix": [5, 7], "x": 7.25, "y": 4},
|
||||||
|
{"matrix": [5, 8], "x": 8.25, "y": 4},
|
||||||
|
{"matrix": [5, 9], "x": 9.25, "y": 4},
|
||||||
|
{"matrix": [5, 10], "x": 10.25, "y": 4},
|
||||||
|
{"matrix": [5, 11], "x": 11.25, "y": 4},
|
||||||
|
{"matrix": [5, 12], "x": 12.25, "y": 4, "w": 1.75},
|
||||||
|
{"matrix": [5, 13], "x": 14, "y": 4},
|
||||||
|
{"matrix": [5, 14], "x": 15, "y": 4},
|
||||||
|
{"matrix": [5, 15], "x": 16, "y": 4},
|
||||||
|
{"matrix": [0, 14], "x": 17, "y": 4},
|
||||||
|
{"matrix": [0, 7], "x": 18, "y": 4},
|
||||||
|
|
||||||
{"matrix": [6, 0], "x": 0, "y": 5, "w": 1.25},
|
{"matrix": [6, 0], "x": 0, "y": 5, "w": 1.25},
|
||||||
{"matrix": [6, 1], "x": 1.25, "y": 5, "w": 1.25},
|
{"matrix": [6, 1], "x": 1.25, "y": 5, "w": 1.25},
|
||||||
{"matrix": [6, 2], "x": 2.5, "y": 5, "w": 1.25},
|
{"matrix": [6, 2], "x": 2.5, "y": 5, "w": 1.25},
|
||||||
|
25
keyboards/amjkeyboard/amj96/matrix_diagram.md
Normal file
25
keyboards/amjkeyboard/amj96/matrix_diagram.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Matrix Diagram for Han Chen AMJ96
|
||||||
|
|
||||||
|
There's a lot of options available on the PCB, including some on the
|
||||||
|
bottom row, but I haven't ever found high quality images of a bare PCB
|
||||||
|
with which to determine what's actually supported. :\\\
|
||||||
|
\- @noroadsleft, 19 January, 2024
|
||||||
|
|
||||||
|
```
|
||||||
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │09 │0A │0C │
|
||||||
|
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐
|
||||||
|
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │0B │0F │6F │ │2D │ 2u Backspace
|
||||||
|
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌─────┐ ┌───┐
|
||||||
|
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F │0D │6D │ │ │ │3D │ │ │
|
||||||
|
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐?? │ ISO Enter ┌──┴┬────┤ Split Enter │?? │ 2u Numpad Plus
|
||||||
|
│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │4F │6E │ │?? │ │ │?? │?? │ │ │
|
||||||
|
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ ┌─┴───┴────┤ └───┴────┘ ├───┤
|
||||||
|
│50 │51 │52 │53 │54 │55 │56 │57 │58 │59 │5A │5B │5C │5D │5E │5F │0E │07 │ │?? │ 2.75u │ │
|
||||||
|
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┼───┼───┼───┤ └──────────┘ RShift │?? │ 2u Numpad Enter
|
||||||
|
│60 │61 │62 │63 │64 │65 │66 │68 │69 │6A │6B │6C │ │ │
|
||||||
|
└────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┴───┴───┴───┘ └───┘
|
||||||
|
┌────────┐ ┌───────┐
|
||||||
|
│50 │ 2.25u LShift │?? │ 2u Numpad Zero
|
||||||
|
└────────┘ └───────┘
|
||||||
|
```
|
@ -45,7 +45,7 @@
|
|||||||
"layout_aliases": {
|
"layout_aliases": {
|
||||||
"LAYOUT": "LAYOUT_all"
|
"LAYOUT": "LAYOUT_all"
|
||||||
},
|
},
|
||||||
"community_layouts": ["60_ansi_split_bs_rshift", "60_hhkb"],
|
"community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"],
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_all": {
|
"LAYOUT_all": {
|
||||||
"layout": [
|
"layout": [
|
||||||
@ -120,6 +120,75 @@
|
|||||||
{"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25}
|
{"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"LAYOUT_60_ansi": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 14], "x": 13, "y": 0, "w": 2},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"matrix": [4, 0], "x": 0, "y": 0},
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
@ -191,6 +260,278 @@
|
|||||||
{"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25}
|
{"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"LAYOUT_60_ansi_tsangan": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0, "w": 2},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 1], "x": 1.5, "y": 4},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 6], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 12], "x": 12.5, "y": 4},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_tsangan_hhkb": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [1, 13], "x": 14, "y": 3},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 1], "x": 1.5, "y": 4},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 6], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 12], "x": 12.5, "y": 4},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_ansi_wkl": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0, "w": 2},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 6], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_ansi_wkl_split_bs_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 12], "x": 12.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [1, 13], "x": 14, "y": 3},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 6], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
"LAYOUT_60_hhkb": {
|
"LAYOUT_60_hhkb": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"matrix": [4, 0], "x": 0, "y": 0},
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
@ -258,6 +599,424 @@
|
|||||||
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
{"matrix": [0, 12], "x": 12.5, "y": 4}
|
{"matrix": [0, 12], "x": 12.5, "y": 4}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0, "w": 2},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_split_bs_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [1, 13], "x": 14, "y": 3},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_tsangan": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0, "w": 2},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 1], "x": 1.5, "y": 4},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 6], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 12], "x": 12.5, "y": 4},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_tsangan_split_bs_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [1, 13], "x": 14, "y": 3},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 1], "x": 1.5, "y": 4},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 6], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 12], "x": 12.5, "y": 4},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_wkl": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0, "w": 2},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 6], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_wkl_split_bs_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [4, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [4, 14], "x": 14, "y": 0},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 1},
|
||||||
|
{"matrix": [3, 5], "x": 5.5, "y": 1},
|
||||||
|
{"matrix": [3, 6], "x": 6.5, "y": 1},
|
||||||
|
{"matrix": [3, 7], "x": 7.5, "y": 1},
|
||||||
|
{"matrix": [3, 8], "x": 8.5, "y": 1},
|
||||||
|
{"matrix": [3, 9], "x": 9.5, "y": 1},
|
||||||
|
{"matrix": [3, 10], "x": 10.5, "y": 1},
|
||||||
|
{"matrix": [3, 11], "x": 11.5, "y": 1},
|
||||||
|
{"matrix": [3, 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": [2, 12], "x": 12.75, "y": 2},
|
||||||
|
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 3},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 3},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 3},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 3},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 3},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 3},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 3},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 3},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 3},
|
||||||
|
{"matrix": [1, 11], "x": 11.25, "y": 3},
|
||||||
|
{"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||||
|
{"matrix": [1, 13], "x": 14, "y": 3},
|
||||||
|
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 6], "x": 4, "y": 4, "w": 7},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
27
keyboards/ares/matrix_diagram.md
Normal file
27
keyboards/ares/matrix_diagram.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Matrix Diagram for LSJ Ares
|
||||||
|
|
||||||
|
```
|
||||||
|
┌───────┐
|
||||||
|
2u Backspace │4E │
|
||||||
|
└───────┘
|
||||||
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │
|
||||||
|
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐
|
||||||
|
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │ │
|
||||||
|
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter
|
||||||
|
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
|
||||||
|
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘
|
||||||
|
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │
|
||||||
|
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
|
||||||
|
│00 │01 │02 │06 │0A │0B │0C │0D │
|
||||||
|
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||||
|
┌────────┐ ┌──────────┐
|
||||||
|
│10 │ 2.25u LShift 2.75u RShift │1C │
|
||||||
|
└────────┘ └──────────┘
|
||||||
|
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||||
|
│00 │01 │02 │06 │0B │0C │0D │ Tsangan/WKL/HHKB
|
||||||
|
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||||
|
┌─────┬───┬─────┬───────────────────────┬─────┬───┬───┬─────┐
|
||||||
|
│00 │01 │02 │06 │0A │0B │0C │0D │ True HHKB
|
||||||
|
└─────┴───┴─────┴───────────────────────┴─────┴───┴───┴─────┘
|
||||||
|
```
|
@ -39,15 +39,14 @@
|
|||||||
|
|
||||||
/* SPI config for pmw3360 sensor. */
|
/* SPI config for pmw3360 sensor. */
|
||||||
#define SPI_DRIVER SPID1
|
#define SPI_DRIVER SPID1
|
||||||
#define SPI_SCK_PIN B1
|
#define SPI_SCK_PIN A5
|
||||||
#define SPI_SCK_PAL_MODE 5
|
#define SPI_SCK_PAL_MODE 5
|
||||||
#define SPI_MOSI_PIN B2
|
#define SPI_MOSI_PIN A7
|
||||||
#define SPI_MOSI_PAL_MODE 5
|
#define SPI_MOSI_PAL_MODE 5
|
||||||
#define SPI_MISO_PIN B3
|
#define SPI_MISO_PIN A6
|
||||||
#define SPI_MISO_PAL_MODE 5
|
#define SPI_MISO_PAL_MODE 5
|
||||||
|
|
||||||
/* PMW3360 settings. */
|
/* PMW3360 settings. */
|
||||||
#define A1 PAL_LINE(GPIOA, 1)
|
|
||||||
#define POINTING_DEVICE_CS_PIN A1
|
#define POINTING_DEVICE_CS_PIN A1
|
||||||
#define PMW3360_CS_MODE 3
|
#define PMW3360_CS_MODE 3
|
||||||
#define PMW3360_CS_DIVISOR 64
|
#define PMW3360_CS_DIVISOR 64
|
||||||
|
@ -7,20 +7,19 @@
|
|||||||
"driver": "ws2812"
|
"driver": "ws2812"
|
||||||
},
|
},
|
||||||
"ws2812": {
|
"ws2812": {
|
||||||
"pin": "D3",
|
"pin": "A2",
|
||||||
"driver": "pwm"
|
"driver": "pwm"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"debounce_type": "asym_eager_defer_pk"
|
"debounce_type": "asym_eager_defer_pk"
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
"cols": ["F5", "B6", "D7", "E6", "B4"],
|
"cols": ["B2", "A4", "B4", "B5", "B8"],
|
||||||
"rows": ["F7", "C6", "D4", "B5"]
|
"rows": ["B0", "B3", "A15", "B9"]
|
||||||
},
|
},
|
||||||
"diode_direction": "ROW2COL",
|
"diode_direction": "ROW2COL",
|
||||||
"split": {
|
"split": {
|
||||||
"soft_serial_pin": "D2"
|
"soft_serial_pin": "A3"
|
||||||
},
|
},
|
||||||
"processor": "STM32F411",
|
"development_board": "stemcell"
|
||||||
"bootloader": "stm32-dfu"
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
CONVERT_TO = stemcell
|
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
|
@ -39,15 +39,14 @@
|
|||||||
|
|
||||||
/* SPI config for pmw3360 sensor. */
|
/* SPI config for pmw3360 sensor. */
|
||||||
#define SPI_DRIVER SPID1
|
#define SPI_DRIVER SPID1
|
||||||
#define SPI_SCK_PIN B1
|
#define SPI_SCK_PIN A5
|
||||||
#define SPI_SCK_PAL_MODE 5
|
#define SPI_SCK_PAL_MODE 5
|
||||||
#define SPI_MOSI_PIN B2
|
#define SPI_MOSI_PIN A7
|
||||||
#define SPI_MOSI_PAL_MODE 5
|
#define SPI_MOSI_PAL_MODE 5
|
||||||
#define SPI_MISO_PIN B3
|
#define SPI_MISO_PIN A6
|
||||||
#define SPI_MISO_PAL_MODE 5
|
#define SPI_MISO_PAL_MODE 5
|
||||||
|
|
||||||
/* PMW3360 settings. */
|
/* PMW3360 settings. */
|
||||||
#define A1 PAL_LINE(GPIOA, 1)
|
|
||||||
#define POINTING_DEVICE_CS_PIN A1
|
#define POINTING_DEVICE_CS_PIN A1
|
||||||
#define PMW3360_CS_MODE 3
|
#define PMW3360_CS_MODE 3
|
||||||
#define PMW3360_CS_DIVISOR 64
|
#define PMW3360_CS_DIVISOR 64
|
||||||
|
@ -7,20 +7,19 @@
|
|||||||
"driver": "ws2812"
|
"driver": "ws2812"
|
||||||
},
|
},
|
||||||
"ws2812": {
|
"ws2812": {
|
||||||
"pin": "D3",
|
"pin": "A2",
|
||||||
"driver": "pwm"
|
"driver": "pwm"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"debounce_type": "asym_eager_defer_pk"
|
"debounce_type": "asym_eager_defer_pk"
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
"cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
|
"cols": ["B1", "B2", "A4", "B4", "B5", "B8"],
|
||||||
"rows": ["F7", "C6", "D4", "B5"]
|
"rows": ["B0", "B3", "A15", "B9"]
|
||||||
},
|
},
|
||||||
"diode_direction": "ROW2COL",
|
"diode_direction": "ROW2COL",
|
||||||
"split": {
|
"split": {
|
||||||
"soft_serial_pin": "D2"
|
"soft_serial_pin": "A3"
|
||||||
},
|
},
|
||||||
"processor": "STM32F411",
|
"development_board": "stemcell"
|
||||||
"bootloader": "stm32-dfu"
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
CONVERT_TO = stemcell
|
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
|
@ -39,15 +39,14 @@
|
|||||||
|
|
||||||
/* SPI config for pmw3360 sensor. */
|
/* SPI config for pmw3360 sensor. */
|
||||||
#define SPI_DRIVER SPID1
|
#define SPI_DRIVER SPID1
|
||||||
#define SPI_SCK_PIN B1
|
#define SPI_SCK_PIN A5
|
||||||
#define SPI_SCK_PAL_MODE 5
|
#define SPI_SCK_PAL_MODE 5
|
||||||
#define SPI_MOSI_PIN B2
|
#define SPI_MOSI_PIN A7
|
||||||
#define SPI_MOSI_PAL_MODE 5
|
#define SPI_MOSI_PAL_MODE 5
|
||||||
#define SPI_MISO_PIN B3
|
#define SPI_MISO_PIN A6
|
||||||
#define SPI_MISO_PAL_MODE 5
|
#define SPI_MISO_PAL_MODE 5
|
||||||
|
|
||||||
/* PMW3360 settings. */
|
/* PMW3360 settings. */
|
||||||
#define A1 PAL_LINE(GPIOA, 1)
|
|
||||||
#define POINTING_DEVICE_CS_PIN A1
|
#define POINTING_DEVICE_CS_PIN A1
|
||||||
#define PMW3360_CS_MODE 3
|
#define PMW3360_CS_MODE 3
|
||||||
#define PMW3360_CS_DIVISOR 64
|
#define PMW3360_CS_DIVISOR 64
|
||||||
|
@ -7,20 +7,19 @@
|
|||||||
"driver": "ws2812"
|
"driver": "ws2812"
|
||||||
},
|
},
|
||||||
"ws2812": {
|
"ws2812": {
|
||||||
"pin": "D3",
|
"pin": "A2",
|
||||||
"driver": "pwm"
|
"driver": "pwm"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"debounce_type": "asym_eager_defer_pk"
|
"debounce_type": "asym_eager_defer_pk"
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
"cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
|
"cols": ["B1", "B2", "A4", "B4", "B5", "B8"],
|
||||||
"rows": ["F4", "F7", "C6", "D4", "B5"]
|
"rows": ["B10", "B0", "B3", "A15", "B9"]
|
||||||
},
|
},
|
||||||
"diode_direction": "ROW2COL",
|
"diode_direction": "ROW2COL",
|
||||||
"split": {
|
"split": {
|
||||||
"soft_serial_pin": "D2"
|
"soft_serial_pin": "A3"
|
||||||
},
|
},
|
||||||
"processor": "STM32F411",
|
"development_board": "stemcell"
|
||||||
"bootloader": "stm32-dfu"
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
CONVERT_TO = stemcell
|
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
|
@ -7,20 +7,19 @@
|
|||||||
"driver": "ws2812"
|
"driver": "ws2812"
|
||||||
},
|
},
|
||||||
"ws2812": {
|
"ws2812": {
|
||||||
"pin": "D3",
|
"pin": "A2",
|
||||||
"driver": "pwm"
|
"driver": "pwm"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"debounce_type": "asym_eager_defer_pk"
|
"debounce_type": "asym_eager_defer_pk"
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
"cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
|
"cols": ["B1", "B2", "A4", "B4", "B5", "B8"],
|
||||||
"rows": ["F4", "F7", "C6", "D4", "B5"]
|
"rows": ["B10", "B0", "B3", "A15", "B9"]
|
||||||
},
|
},
|
||||||
"diode_direction": "ROW2COL",
|
"diode_direction": "ROW2COL",
|
||||||
"split": {
|
"split": {
|
||||||
"soft_serial_pin": "D2"
|
"soft_serial_pin": "A3"
|
||||||
},
|
},
|
||||||
"processor": "STM32F411",
|
"development_board": "stemcell"
|
||||||
"bootloader": "stm32-dfu"
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
CONVERT_TO = stemcell
|
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
|
@ -7,20 +7,19 @@
|
|||||||
"driver": "ws2812"
|
"driver": "ws2812"
|
||||||
},
|
},
|
||||||
"ws2812": {
|
"ws2812": {
|
||||||
"pin": "D3",
|
"pin": "A2",
|
||||||
"driver": "pwm"
|
"driver": "pwm"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"debounce_type": "asym_eager_defer_pk"
|
"debounce_type": "asym_eager_defer_pk"
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
"cols": ["F5", "B6", "D7", "E6", "B4"],
|
"cols": ["B2", "A4", "B4", "B5", "B8"],
|
||||||
"rows": ["F7", "C6", "D4", "B5"]
|
"rows": ["B0", "B3", "A15", "B9"]
|
||||||
},
|
},
|
||||||
"diode_direction": "ROW2COL",
|
"diode_direction": "ROW2COL",
|
||||||
"split": {
|
"split": {
|
||||||
"soft_serial_pin": "D2"
|
"soft_serial_pin": "A3"
|
||||||
},
|
},
|
||||||
"processor": "STM32F411",
|
"development_board": "stemcell"
|
||||||
"bootloader": "stm32-dfu"
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
CONVERT_TO = stemcell
|
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
|
@ -7,20 +7,19 @@
|
|||||||
"driver": "ws2812"
|
"driver": "ws2812"
|
||||||
},
|
},
|
||||||
"ws2812": {
|
"ws2812": {
|
||||||
"pin": "D3",
|
"pin": "A2",
|
||||||
"driver": "pwm"
|
"driver": "pwm"
|
||||||
},
|
},
|
||||||
"build": {
|
"build": {
|
||||||
"debounce_type": "asym_eager_defer_pk"
|
"debounce_type": "asym_eager_defer_pk"
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
"cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
|
"cols": ["B1", "B2", "A4", "B4", "B5", "B8"],
|
||||||
"rows": ["F7", "C6", "D4", "B5"]
|
"rows": ["B0", "B3", "A15", "B9"]
|
||||||
},
|
},
|
||||||
"diode_direction": "ROW2COL",
|
"diode_direction": "ROW2COL",
|
||||||
"split": {
|
"split": {
|
||||||
"soft_serial_pin": "D2"
|
"soft_serial_pin": "A3"
|
||||||
},
|
},
|
||||||
"processor": "STM32F411",
|
"development_board": "stemcell"
|
||||||
"bootloader": "stm32-dfu"
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
CONVERT_TO = stemcell
|
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
|
118
keyboards/cipulot/60xt/info.json
Normal file
118
keyboards/cipulot/60xt/info.json
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Cipulot",
|
||||||
|
"keyboard_name": "60XT",
|
||||||
|
"maintainer": "Cipulot",
|
||||||
|
"bootloader": "stm32-dfu",
|
||||||
|
"build": {
|
||||||
|
"lto": true
|
||||||
|
},
|
||||||
|
"qmk": {
|
||||||
|
"locking": {
|
||||||
|
"enabled": true,
|
||||||
|
"resync": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"indicators": {
|
||||||
|
"caps_lock": "A1"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["A5", "A2", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"],
|
||||||
|
"rows": ["B1", "B2", "A6", "A7", "B0"]
|
||||||
|
},
|
||||||
|
"processor": "STM32F072",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"pid": "0x6BC2",
|
||||||
|
"shared_endpoint": {
|
||||||
|
"keyboard": true
|
||||||
|
},
|
||||||
|
"vid": "0x6369"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4.25, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5.25, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6.25, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 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": [1, 15], "x": 16.5, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 2], "x": 2.75, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.75, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.75, "y": 1},
|
||||||
|
{"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, "w": 1.5},
|
||||||
|
{"matrix": [2, 15], "x": 16.5, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
|
||||||
|
{"matrix": [2, 2], "x": 3, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 4, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 5, "y": 2},
|
||||||
|
{"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, "w": 1.25},
|
||||||
|
{"matrix": [3, 15], "x": 16.5, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [3, 2], "x": 2.5, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3.5, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4.5, "y": 3},
|
||||||
|
{"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, "w": 1.75},
|
||||||
|
{"matrix": [3, 14], "x": 15.25, "y": 3},
|
||||||
|
{"matrix": [4, 14], "x": 16.5, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||||
|
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [4, 2], "x": 2.75, "y": 4},
|
||||||
|
{"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [4, 8], "x": 5.25, "y": 4, "w": 7},
|
||||||
|
{"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [4, 12], "x": 13.75, "y": 4},
|
||||||
|
{"matrix": [4, 13], "x": 14.75, "y": 4, "w": 1.5},
|
||||||
|
{"matrix": [4, 15], "x": 16.5, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
43
keyboards/cipulot/60xt/keymaps/default/keymap.c
Normal file
43
keyboards/cipulot/60xt/keymaps/default/keymap.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2023 Cipulot
|
||||||
|
*
|
||||||
|
* 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 3 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] = {
|
||||||
|
// clang-format off
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_F1, 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_BSPC, KC_F6,
|
||||||
|
KC_F2, 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_F7,
|
||||||
|
KC_F3, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_F8,
|
||||||
|
KC_F4, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_F9,
|
||||||
|
KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_F10
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
_______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
|
||||||
|
_______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______,
|
||||||
|
_______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, MO(2), _______
|
||||||
|
),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
// clang-format on
|
||||||
|
};
|
43
keyboards/cipulot/60xt/keymaps/via/keymap.c
Normal file
43
keyboards/cipulot/60xt/keymaps/via/keymap.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2023 Cipulot
|
||||||
|
*
|
||||||
|
* 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 3 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] = {
|
||||||
|
// clang-format off
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_F1, 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_BSPC, KC_F6,
|
||||||
|
KC_F2, 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_F7,
|
||||||
|
KC_F3, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_F8,
|
||||||
|
KC_F4, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_F9,
|
||||||
|
KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_F10
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
_______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
|
||||||
|
_______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______,
|
||||||
|
_______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, MO(2), _______
|
||||||
|
),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
// clang-format on
|
||||||
|
};
|
1
keyboards/cipulot/60xt/keymaps/via/rules.mk
Normal file
1
keyboards/cipulot/60xt/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
27
keyboards/cipulot/60xt/readme.md
Normal file
27
keyboards/cipulot/60xt/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# 60XT
|
||||||
|
|
||||||
|
![60XT](https://i.imgur.com/7lAvjpmh.png)
|
||||||
|
|
||||||
|
A 60% XT solder and hot swap PCB.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
|
||||||
|
* Hardware Supported: 60XT
|
||||||
|
* Hardware Availability: [Eloquent Clicks](https://eloquentclicks.com/)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make cipulot/60xt:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make cipulot/60xt: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:
|
||||||
|
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.
|
||||||
|
* **Physical reset button**: Long press the reset button soldered on the PCB.
|
||||||
|
* **Bootmagic reset**: Hold down the top left key and plug in the controller.
|
0
keyboards/cipulot/60xt/rules.mk
Normal file
0
keyboards/cipulot/60xt/rules.mk
Normal file
@ -20,6 +20,7 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "matrix.h"
|
#include "matrix.h"
|
||||||
#include "eeconfig.h"
|
#include "eeconfig.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
typedef struct PACKED {
|
typedef struct PACKED {
|
||||||
uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point
|
uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
|
|
||||||
#define EECONFIG_KB_DATA_SIZE 58
|
#define EECONFIG_KB_DATA_SIZE 57
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
|
|
||||||
#define EECONFIG_KB_DATA_SIZE 160
|
#define EECONFIG_KB_DATA_SIZE 159
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
|
|
||||||
#define EECONFIG_KB_DATA_SIZE 170
|
#define EECONFIG_KB_DATA_SIZE 169
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
|
|
||||||
#define EECONFIG_KB_DATA_SIZE 170
|
#define EECONFIG_KB_DATA_SIZE 169
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
|
|
||||||
#define EECONFIG_KB_DATA_SIZE 160
|
#define EECONFIG_KB_DATA_SIZE 159
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
|
|
||||||
#define EECONFIG_KB_DATA_SIZE 160
|
#define EECONFIG_KB_DATA_SIZE 159
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
|
|
||||||
#define EECONFIG_KB_DATA_SIZE 150
|
#define EECONFIG_KB_DATA_SIZE 149
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||||
#define EECONFIG_KB_DATA_SIZE 202
|
#define EECONFIG_KB_DATA_SIZE 201
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
// #define DEBUG_MATRIX_SCAN_RATE
|
// #define DEBUG_MATRIX_SCAN_RATE
|
||||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||||
#define EECONFIG_KB_DATA_SIZE 202
|
#define EECONFIG_KB_DATA_SIZE 201
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
29
keyboards/custommk/cmk11/config.h
Normal file
29
keyboards/custommk/cmk11/config.h
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
// Copyright 2024 customMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// FRAM configuration
|
||||||
|
#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B7
|
||||||
|
#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 // 48MHz / 4 = 12MHz; max supported by MB85R64 is 20MHz
|
||||||
|
|
||||||
|
// SPI configuration
|
||||||
|
#define SPI_DRIVER SPID1
|
||||||
|
#define SPI_SCK_PIN B3
|
||||||
|
#define SPI_MOSI_PIN B5
|
||||||
|
#define SPI_MISO_PIN B4
|
||||||
|
|
||||||
|
// Audio configuration
|
||||||
|
#define AUDIO_PIN B8
|
||||||
|
#define AUDIO_PWM_DRIVER PWMD4
|
||||||
|
#define AUDIO_PWM_CHANNEL 3
|
||||||
|
#define AUDIO_PWM_PAL_MODE 2
|
||||||
|
#define AUDIO_STATE_TIMER GPTD5
|
||||||
|
#define AUDIO_INIT_DELAY
|
||||||
|
|
||||||
|
// WS2812 configuration
|
||||||
|
#define WS2812_PWM_DRIVER PWMD1
|
||||||
|
#define WS2812_PWM_CHANNEL 3
|
||||||
|
#define WS2812_PWM_PAL_MODE 1
|
||||||
|
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
|
||||||
|
#define WS2812_DMA_CHANNEL 6
|
30
keyboards/custommk/cmk11/halconf.h
Normal file
30
keyboards/custommk/cmk11/halconf.h
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/* Copyright 2024 customMK
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_PWM TRUE
|
||||||
|
|
||||||
|
#define HAL_USE_SPI TRUE
|
||||||
|
|
||||||
|
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||||
|
|
||||||
|
#define SERIAL_BUFFERS_SIZE 256
|
||||||
|
|
||||||
|
// This enables interrupt-driven mode
|
||||||
|
#define SPI_USE_WAIT TRUE
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
121
keyboards/custommk/cmk11/info.json
Normal file
121
keyboards/custommk/cmk11/info.json
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "customMK",
|
||||||
|
"keyboard_name": "CMK11",
|
||||||
|
"maintainer": "customMK",
|
||||||
|
"bootloader": "stm32-dfu",
|
||||||
|
"diode_direction": "ROW2COL",
|
||||||
|
"dynamic_keymap": {
|
||||||
|
"layer_count": 32
|
||||||
|
},
|
||||||
|
"eeprom": {
|
||||||
|
"driver": "spi"
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"audio": true,
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["B0", "A1", "A2", "A3", "A6", "B10"],
|
||||||
|
"rows": ["A5", "A4"]
|
||||||
|
},
|
||||||
|
"processor": "STM32F411",
|
||||||
|
"qmk": {
|
||||||
|
"tap_keycode_delay": 10
|
||||||
|
},
|
||||||
|
"rgb_matrix": {
|
||||||
|
"animations": {
|
||||||
|
"alphas_mods": true,
|
||||||
|
"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_fractal": 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": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 1], "x": 45, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 90, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 134, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 179, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 224, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [1, 0], "x": 23, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [1, 1], "x": 68, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 112, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 157, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 202, "y": 64, "flags": 4}
|
||||||
|
],
|
||||||
|
"max_brightness": 120,
|
||||||
|
"sat_steps": 8,
|
||||||
|
"speed_steps": 10,
|
||||||
|
"val_steps": 8
|
||||||
|
},
|
||||||
|
"url": "https://shop.custommk.com/collections/cmk11/products/ckm11",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0xFABA",
|
||||||
|
"vid": "0xF35B"
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"driver": "pwm",
|
||||||
|
"pin": "A10"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [1, 0], "x": 0.5, "y": 1},
|
||||||
|
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.5, "y": 1}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
keyboards/custommk/cmk11/keymaps/default/keymap.c
Normal file
11
keyboards/custommk/cmk11/keymaps/default/keymap.c
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
// Copyright 2024 customMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_C, KC_V, KC_VOLU, KC_VOLD, KC_DEL,
|
||||||
|
KC_LCTL, KC_PGUP, KC_SPC, KC_PGDN, KC_ENT
|
||||||
|
)
|
||||||
|
};
|
6
keyboards/custommk/cmk11/keymaps/via/config.h
Normal file
6
keyboards/custommk/cmk11/keymaps/via/config.h
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
// Copyright 2024 customMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define DYNAMIC_KEYMAP_MACRO_COUNT 128
|
11
keyboards/custommk/cmk11/keymaps/via/keymap.c
Normal file
11
keyboards/custommk/cmk11/keymaps/via/keymap.c
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
// Copyright 2024 customMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_C, KC_V, KC_VOLU, KC_VOLD, KC_DEL,
|
||||||
|
KC_LCTL, KC_PGUP, KC_SPC, KC_PGDN, MO(1)
|
||||||
|
)
|
||||||
|
};
|
1
keyboards/custommk/cmk11/keymaps/via/rules.mk
Normal file
1
keyboards/custommk/cmk11/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
31
keyboards/custommk/cmk11/mcuconf.h
Normal file
31
keyboards/custommk/cmk11/mcuconf.h
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/* Copyright 2024 customMK
|
||||||
|
*
|
||||||
|
* 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>
|
||||||
|
|
||||||
|
// Used for audio
|
||||||
|
#undef STM32_PWM_USE_TIM4
|
||||||
|
#define STM32_PWM_USE_TIM4 TRUE
|
||||||
|
|
||||||
|
// Used for FRAM
|
||||||
|
#undef STM32_SPI_USE_SPI1
|
||||||
|
#define STM32_SPI_USE_SPI1 TRUE
|
||||||
|
|
||||||
|
// Used for RGB matrix
|
||||||
|
#undef STM32_PWM_USE_TIM1
|
||||||
|
#define STM32_PWM_USE_TIM1 TRUE
|
27
keyboards/custommk/cmk11/readme.md
Normal file
27
keyboards/custommk/cmk11/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# CMK11
|
||||||
|
|
||||||
|
![cmk11](https://i.imgur.com/y8MEwXYh.jpeg)
|
||||||
|
|
||||||
|
CMK11 supports eleven 1u keys (or eight 1u keys and one 3u key). The PCB is fully compatible with the Cary Works C11 macropad.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [customMK](https://github.com/customMK)
|
||||||
|
* Hardware Supported: CMK11
|
||||||
|
* Hardware Availability: [customMK](https://shop.custommk.com/products/cmk11)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make custommk/cmk11:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make custommk/cmk11:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the key in the top left corner) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/custommk/cmk11/rules.mk
Normal file
1
keyboards/custommk/cmk11/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
AUDIO_DRIVER = pwm_hardware
|
201
keyboards/era/sirind/brick65/info.json
Normal file
201
keyboards/era/sirind/brick65/info.json
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "SR industry",
|
||||||
|
"keyboard_name": "Brick65",
|
||||||
|
"maintainer": "Syryan",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"indicators": {
|
||||||
|
"caps_lock": "C6",
|
||||||
|
"on_state": 0,
|
||||||
|
"scroll_lock": "B6"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["B7", "D4", "F1", "D5", "F4", "D3", "F5", "D2", "F6", "D1", "F7", "D0", "C7", "B3", "B1", "B2"],
|
||||||
|
"rows": ["D6", "D7", "B4", "B5", "F0"]
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"rgb_matrix": {
|
||||||
|
"animations": {
|
||||||
|
"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,
|
||||||
|
"dual_beacon": true,
|
||||||
|
"multisplash": true,
|
||||||
|
"rainbow_beacon": true,
|
||||||
|
"rainbow_moving_chevron": true,
|
||||||
|
"raindrops": true,
|
||||||
|
"solid_reactive": true,
|
||||||
|
"solid_reactive_cross": true,
|
||||||
|
"solid_reactive_simple": true,
|
||||||
|
"typing_heatmap": true
|
||||||
|
},
|
||||||
|
"driver": "ws2812",
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 1], "x": 16, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 80, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 96, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 112, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 128, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 144, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 160, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 176, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 192, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 14], "x": 208, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 15], "x": 224, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [1, 15], "x": 224, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 14], "x": 210, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 197, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 181, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 165, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 149, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 133, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 117, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 101, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 85, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 69, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 53, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 37, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 1], "x": 21, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [1, 0], "x": 4, "y": 16, "flags": 4},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 1], "x": 30, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 46, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 62, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 78, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 94, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 110, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 126, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 142, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 158, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 174, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 190, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 206, "y": 32, "flags": 4},
|
||||||
|
{"matrix": [3, 14], "x": 208, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 12], "x": 197, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 176, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 160, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 144, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 128, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 112, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 96, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 80, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 64, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 48, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 2], "x": 32, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [3, 0], "x": 8, "y": 48, "flags": 4},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 1], "x": 19, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 2], "x": 38, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 5], "x": 78, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 7], "x": 104, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 9], "x": 136, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 10], "x": 160, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 11], "x": 176, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 13], "x": 192, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 14], "x": 208, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 15], "x": 224, "y": 64, "flags": 4}
|
||||||
|
],
|
||||||
|
"max_brightness": 200,
|
||||||
|
"val_steps": 20
|
||||||
|
},
|
||||||
|
"url": "https://srind.mysoho.com/",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"pid": "0x0005",
|
||||||
|
"vid": "0x5943"
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "B0"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15.25, "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": 13.5, "y": 1, "w": 1.5},
|
||||||
|
{"matrix": [1, 15], "x": 15.25, "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": [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, 14], "x": 14.25, "y": 3.25},
|
||||||
|
{"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, 5], "x": 4, "y": 4.25, "w": 2.75},
|
||||||
|
{"matrix": [4, 7], "x": 6.75, "y": 4.25, "w": 1.25},
|
||||||
|
{"matrix": [4, 9], "x": 8, "y": 4.25, "w": 2.25},
|
||||||
|
{"matrix": [4, 10], "x": 10.5, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 11], "x": 11.75, "y": 4, "w": 1.25},
|
||||||
|
{"matrix": [4, 13], "x": 13.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 14], "x": 14.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 15], "x": 15.25, "y": 4.25}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
35
keyboards/era/sirind/brick65/keymaps/default/keymap.c
Normal file
35
keyboards/era/sirind/brick65/keymaps/default/keymap.c
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2024 PyuPyu
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_DEL,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCRL,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_TILD, 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_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
21
keyboards/era/sirind/brick65/keymaps/via/keymap.c
Normal file
21
keyboards/era/sirind/brick65/keymaps/via/keymap.c
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// Copyright 2018-2024 QMK (@qmk)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_DEL,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_LSCR,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_TILD, 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_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
};
|
1
keyboards/era/sirind/brick65/keymaps/via/rules.mk
Normal file
1
keyboards/era/sirind/brick65/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
26
keyboards/era/sirind/brick65/readme.md
Normal file
26
keyboards/era/sirind/brick65/readme.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Brick65
|
||||||
|
|
||||||
|
![Brick65](https://i.imgur.com/qyQYWfjh.jpg)
|
||||||
|
|
||||||
|
Brick65 is a 65% ANSI layout Custom Keyboard
|
||||||
|
|
||||||
|
* Keyboard Maintainer: Pyupyu
|
||||||
|
* Hardware Supported: Brick65
|
||||||
|
* Hardware Availability: Syryan
|
||||||
|
|
||||||
|
## How to enter Bootloader Mode
|
||||||
|
|
||||||
|
Enter the bootloader in 2 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make era/sirind/brick65:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make era/sirind/brick65: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).
|
1
keyboards/era/sirind/brick65/rules.mk
Normal file
1
keyboards/era/sirind/brick65/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
104
keyboards/galile0/glyphkbd_v2/info.json
Normal file
104
keyboards/galile0/glyphkbd_v2/info.json
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "galile0",
|
||||||
|
"keyboard_name": "glyphkbd_v2",
|
||||||
|
"maintainer": "galile0-designs",
|
||||||
|
"bootloader": "stm32-dfu",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["B1", "A1", "B0", "A0", "C5", "C3", "C4", "C2", "A7", "C1", "A6", "C0", "A5", "B12", "B13", "B14"],
|
||||||
|
"rows": ["B10", "B2", "A2", "F0", "F1"]
|
||||||
|
},
|
||||||
|
"processor": "STM32F072",
|
||||||
|
"url": "https://github.com/galile0-designs/glyphkbd",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x0001",
|
||||||
|
"vid": "0x4744"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 13.5, "y": 0},
|
||||||
|
{"matrix": [0, 14], "x": 14.5, "y": 0},
|
||||||
|
{"matrix": [0, 15], "x": 15.5, "y": 0},
|
||||||
|
{"matrix": [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.5, "y": 1},
|
||||||
|
{"matrix": [1, 14], "x": 14.5, "y": 1},
|
||||||
|
{"matrix": [1, 15], "x": 15.5, "y": 1},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9, "y": 2},
|
||||||
|
{"matrix": [2, 10], "x": 10, "y": 2},
|
||||||
|
{"matrix": [2, 11], "x": 11, "y": 2},
|
||||||
|
{"matrix": [2, 12], "x": 12, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4, "y": 3},
|
||||||
|
{"matrix": [3, 5], "x": 5, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 6, "y": 3},
|
||||||
|
{"matrix": [3, 7], "x": 7, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 8, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 9, "y": 3},
|
||||||
|
{"matrix": [3, 10], "x": 10, "y": 3},
|
||||||
|
{"matrix": [3, 11], "x": 11, "y": 3},
|
||||||
|
{"matrix": [3, 12], "x": 12, "y": 3},
|
||||||
|
{"matrix": [3, 14], "x": 14.5, "y": 3},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||||
|
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 4},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 4},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 4, "w": 2},
|
||||||
|
{"matrix": [4, 7], "x": 7, "y": 4},
|
||||||
|
{"matrix": [4, 8], "x": 8, "y": 4},
|
||||||
|
{"matrix": [4, 9], "x": 9, "y": 4},
|
||||||
|
{"matrix": [4, 10], "x": 10, "y": 4},
|
||||||
|
{"matrix": [4, 11], "x": 11, "y": 4},
|
||||||
|
{"matrix": [4, 12], "x": 12, "y": 4},
|
||||||
|
{"matrix": [4, 13], "x": 13.5, "y": 4},
|
||||||
|
{"matrix": [4, 14], "x": 14.5, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 15.5, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
105
keyboards/galile0/glyphkbd_v2/keymaps/default/keymap.c
Normal file
105
keyboards/galile0/glyphkbd_v2/keymaps/default/keymap.c
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
/*
|
||||||
|
*Copyright 2024 Fabian Leijström (@galile0-designs)
|
||||||
|
*
|
||||||
|
*This program is free software: you can redistribute it and/or modify
|
||||||
|
*it under the terms of the GNU General Public License as published by
|
||||||
|
*the Free Software Foundation, either version 2 of the License, or
|
||||||
|
*(at your option) any later version.
|
||||||
|
*
|
||||||
|
*This program is distributed in the hope that it will be useful,
|
||||||
|
*but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
*GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
*You should have received a copy of the GNU General Public License
|
||||||
|
*along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/* LAYER
|
||||||
|
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐
|
||||||
|
* │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ BS │ │ INS │HOME │PGUP │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤
|
||||||
|
* │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ DEL │ END │PGDN │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘
|
||||||
|
* │CAPS │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ENTER│
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐
|
||||||
|
* │SHIFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │SHIFT│ │ UP │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐
|
||||||
|
* │CTRL │ │ SYS │ ALT │LOWER│ SPACE │SPACE│RAISE│ ALT │ SYS │ │CTRL │ │LEFT │DOWN │RIGHT│
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘
|
||||||
|
*/
|
||||||
|
|
||||||
|
[0] = LAYOUT(
|
||||||
|
//******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** **********
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_NO, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT, KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
/* FUNCTION LAYER
|
||||||
|
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐
|
||||||
|
* │PAUSE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ PRT │ │ │
|
||||||
|
* │PLAY │ │ │ │ │ │ │ │ │ │ │ │ │ │ SCR │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘
|
||||||
|
*/
|
||||||
|
|
||||||
|
[1] = LAYOUT(
|
||||||
|
//******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** **********
|
||||||
|
KC_MPLY, 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_PSCR, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||||
|
),
|
||||||
|
|
||||||
|
/* SYMBOLS LAYER
|
||||||
|
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ ` │ = │ + │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘
|
||||||
|
*/
|
||||||
|
|
||||||
|
[2] = LAYOUT(
|
||||||
|
//******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** **********
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_EQL, KC_PPLS, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||||
|
)
|
||||||
|
};
|
105
keyboards/galile0/glyphkbd_v2/keymaps/via/keymap.c
Normal file
105
keyboards/galile0/glyphkbd_v2/keymaps/via/keymap.c
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
/*
|
||||||
|
*Copyright 2024 Fabian Leijström (@galile0-designs)
|
||||||
|
*
|
||||||
|
*This program is free software: you can redistribute it and/or modify
|
||||||
|
*it under the terms of the GNU General Public License as published by
|
||||||
|
*the Free Software Foundation, either version 2 of the License, or
|
||||||
|
*(at your option) any later version.
|
||||||
|
*
|
||||||
|
*This program is distributed in the hope that it will be useful,
|
||||||
|
*but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
*GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
*You should have received a copy of the GNU General Public License
|
||||||
|
*along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/* LAYER
|
||||||
|
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐
|
||||||
|
* │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ BS │ │ INS │HOME │PGUP │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤
|
||||||
|
* │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ DEL │ END │PGDN │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘
|
||||||
|
* │CAPS │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ENTER│
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐
|
||||||
|
* │SHIFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │SHIFT│ │ UP │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐
|
||||||
|
* │CTRL │ │ SYS │ ALT │LOWER│ SPACE │SPACE│RAISE│ ALT │ SYS │ │CTRL │ │LEFT │DOWN │RIGHT│
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘
|
||||||
|
*/
|
||||||
|
|
||||||
|
[0] = LAYOUT(
|
||||||
|
//******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** **********
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_NO, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT, KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
/* FUNCTION LAYER
|
||||||
|
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐
|
||||||
|
* │PAUSE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ PRT │ │ │
|
||||||
|
* │PLAY │ │ │ │ │ │ │ │ │ │ │ │ │ │ SCR │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘
|
||||||
|
*/
|
||||||
|
|
||||||
|
[1] = LAYOUT(
|
||||||
|
//******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** **********
|
||||||
|
KC_MPLY, 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_PSCR, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||||
|
),
|
||||||
|
|
||||||
|
/* SYMBOLS LAYER
|
||||||
|
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ ` │ = │ + │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||||
|
* └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘
|
||||||
|
*/
|
||||||
|
|
||||||
|
[2] = LAYOUT(
|
||||||
|
//******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** **********
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_EQL, KC_PPLS, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||||
|
)
|
||||||
|
};
|
1
keyboards/galile0/glyphkbd_v2/keymaps/via/rules.mk
Normal file
1
keyboards/galile0/glyphkbd_v2/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
27
keyboards/galile0/glyphkbd_v2/readme.md
Normal file
27
keyboards/galile0/glyphkbd_v2/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# glyphkbd_v2
|
||||||
|
|
||||||
|
![glyphkbd_v2](https://i.imgur.com/9PxLaPlh.jpeg)
|
||||||
|
|
||||||
|
5x13 ortholinear plus TKL nav and arrow clusters.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Fabian Leijström](https://github.com/galile0-designs)
|
||||||
|
* Hardware Supported: glyphkbd_v2 PCB
|
||||||
|
* Hardware Availability: [Github Repository](https://github.com/galile0-designs/glyphkbd)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make galile0/glyphkbd_v2:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make galile0/glyphkbd_v2:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/galile0/glyphkbd_v2/rules.mk
Normal file
1
keyboards/galile0/glyphkbd_v2/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
@ -9,7 +9,7 @@
|
|||||||
"command": false,
|
"command": false,
|
||||||
"console": false,
|
"console": false,
|
||||||
"extrakey": true,
|
"extrakey": true,
|
||||||
"mousekey": false,
|
"mousekey": true,
|
||||||
"nkro": true,
|
"nkro": true,
|
||||||
"encoder": true
|
"encoder": true
|
||||||
},
|
},
|
||||||
|
@ -19,14 +19,14 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[0] = LAYOUT_all(
|
[0] = LAYOUT_all(
|
||||||
LT(2, KC_MUTE), 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_TRNS, KC_DEL,
|
LT(2, KC_MUTE), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_HOME,
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_ENT, KC_PGUP,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_ENT, KC_PGUP,
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_all(
|
[1] = LAYOUT_all(
|
||||||
KC_MPLY, 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_DEL, KC_TRNS, KC_INS,
|
KC_MPLY, 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_DEL, KC_DEL, KC_INS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
|
||||||
|
@ -19,14 +19,14 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[0] = LAYOUT_all(
|
[0] = LAYOUT_all(
|
||||||
LT(2, KC_MUTE), 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_TRNS, KC_DEL,
|
LT(2, KC_MUTE), KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_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_HOME,
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_ENT, KC_PGUP,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_ENT, KC_PGUP,
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_all(
|
[1] = LAYOUT_all(
|
||||||
KC_MPLY, 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_DEL, KC_TRNS, KC_INS,
|
KC_MPLY, 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_DEL, KC_DEL, KC_INS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
|
||||||
|
@ -57,15 +57,15 @@
|
|||||||
{"label": "F3", "matrix": [0, 3], "x": 3.5, "y": 0},
|
{"label": "F3", "matrix": [0, 3], "x": 3.5, "y": 0},
|
||||||
{"label": "F4", "matrix": [0, 4], "x": 4.5, "y": 0},
|
{"label": "F4", "matrix": [0, 4], "x": 4.5, "y": 0},
|
||||||
|
|
||||||
{"label": "F5", "matrix": [0, 5], "x": 6, "y": 0},
|
{"label": "F5", "matrix": [0, 5], "x": 5.75, "y": 0},
|
||||||
{"label": "F6", "matrix": [0, 6], "x": 7, "y": 0},
|
{"label": "F6", "matrix": [0, 6], "x": 6.75, "y": 0},
|
||||||
{"label": "F7", "matrix": [0, 7], "x": 8, "y": 0},
|
{"label": "F7", "matrix": [0, 7], "x": 7.75, "y": 0},
|
||||||
{"label": "F8", "matrix": [0, 8], "x": 9, "y": 0},
|
{"label": "F8", "matrix": [0, 8], "x": 8.75, "y": 0},
|
||||||
|
|
||||||
{"label": "F9", "matrix": [0, 9], "x": 10.5, "y": 0},
|
{"label": "F9", "matrix": [0, 9], "x": 10, "y": 0},
|
||||||
{"label": "F10", "matrix": [0, 10], "x": 11.5, "y": 0},
|
{"label": "F10", "matrix": [0, 10], "x": 11, "y": 0},
|
||||||
{"label": "F11", "matrix": [0, 11], "x": 12.5, "y": 0},
|
{"label": "F11", "matrix": [0, 11], "x": 12, "y": 0},
|
||||||
{"label": "F12", "matrix": [0, 13], "x": 13.5, "y": 0},
|
{"label": "F12", "matrix": [0, 13], "x": 13, "y": 0},
|
||||||
|
|
||||||
{"label": "PrtSc", "matrix": [0, 15], "x": 15, "y": 0},
|
{"label": "PrtSc", "matrix": [0, 15], "x": 15, "y": 0},
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Matrix Diagram for GrayStudio Aero 75 Hotswap
|
# Matrix Diagram for GrayStudio Aero 75 Hotswap
|
||||||
|
|
||||||
```
|
```
|
||||||
┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐
|
┌───┐ ┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┐
|
||||||
│00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0D │ │0F │
|
│00 │ │01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0D │ │0F │
|
||||||
└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘
|
└───┘ └───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┘
|
||||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
|
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
|
||||||
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │
|
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │
|
||||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
|
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
|
||||||
|
104
keyboards/handwired/jotlily60/info.json
Normal file
104
keyboards/handwired/jotlily60/info.json
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "Jotix",
|
||||||
|
"keyboard_name": "jotlily60",
|
||||||
|
"maintainer" : "jotix",
|
||||||
|
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/jotlily60",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0x4A4F",
|
||||||
|
"pid": "0x2332",
|
||||||
|
"device_version": "0.0.1"
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"development_board": "promicro",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": [ "D0", "D4", "C6", "D7", "E6", "B4", "B5" ],
|
||||||
|
"rows": [ "F7", "B1", "B3", "B2", "B6" ],
|
||||||
|
},
|
||||||
|
"split": {
|
||||||
|
"enabled": true,
|
||||||
|
"soft_serial_pin": "D3"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0.5},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0.5},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0.25},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0.25},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0.25},
|
||||||
|
|
||||||
|
{"matrix": [5, 5], "x": 10, "y": 0.25},
|
||||||
|
{"matrix": [5, 4], "x": 11, "y": 0.25},
|
||||||
|
{"matrix": [5, 3], "x": 12, "y": 0},
|
||||||
|
{"matrix": [5, 2], "x": 13, "y": 0.25},
|
||||||
|
{"matrix": [5, 1], "x": 14, "y": 0.5},
|
||||||
|
{"matrix": [5, 0], "x": 15, "y": 0.5},
|
||||||
|
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 1.5},
|
||||||
|
{"matrix": [1, 1], "x": 1, "y": 1.5},
|
||||||
|
{"matrix": [1, 2], "x": 2, "y": 1.25},
|
||||||
|
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4, "y": 1.25},
|
||||||
|
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||||
|
|
||||||
|
{"matrix": [6, 5], "x": 10, "y": 1.25},
|
||||||
|
{"matrix": [6, 4], "x": 11, "y": 1.25},
|
||||||
|
{"matrix": [6, 3], "x": 12, "y": 1},
|
||||||
|
{"matrix": [6, 2], "x": 13, "y": 1.25},
|
||||||
|
{"matrix": [6, 1], "x": 14, "y": 1.5},
|
||||||
|
{"matrix": [6, 0], "x": 15, "y": 1.5},
|
||||||
|
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 2.5},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2.5},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2.25},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4, "y": 2.25},
|
||||||
|
{"matrix": [2, 5], "x": 5, "y": 2.25},
|
||||||
|
|
||||||
|
{"matrix": [7, 5], "x": 10, "y": 2.25},
|
||||||
|
{"matrix": [7, 4], "x": 11, "y": 2.25},
|
||||||
|
{"matrix": [7, 3], "x": 12, "y": 2},
|
||||||
|
{"matrix": [7, 2], "x": 13, "y": 2.25},
|
||||||
|
{"matrix": [7, 1], "x": 14, "y": 2.5},
|
||||||
|
{"matrix": [7, 0], "x": 15, "y": 2.5},
|
||||||
|
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3.5},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3.5},
|
||||||
|
{"matrix": [3, 2], "x": 2, "y": 3.25},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||||
|
{"matrix": [3, 4], "x": 4, "y": 3.25},
|
||||||
|
{"matrix": [3, 5], "x": 5, "y": 3.25},
|
||||||
|
{"matrix": [3, 6], "x": 6, "y": 3.5},
|
||||||
|
|
||||||
|
{"matrix": [8, 6], "x": 9, "y": 3.5},
|
||||||
|
{"matrix": [8, 5], "x": 10, "y": 3.25},
|
||||||
|
{"matrix": [8, 4], "x": 11, "y": 3.25},
|
||||||
|
{"matrix": [8, 3], "x": 12, "y": 3},
|
||||||
|
{"matrix": [8, 2], "x": 13, "y": 3.25},
|
||||||
|
{"matrix": [8, 1], "x": 14, "y": 3.5},
|
||||||
|
{"matrix": [8, 0], "x": 15, "y": 3.5},
|
||||||
|
|
||||||
|
{"matrix": [4, 2], "x": 2, "y": 4.25},
|
||||||
|
{"matrix": [4, 3], "x": 3, "y": 4},
|
||||||
|
{"matrix": [4, 4], "x": 4, "y": 4.25},
|
||||||
|
{"matrix": [4, 5], "x": 5, "y": 4.5},
|
||||||
|
{"matrix": [4, 6], "x": 6, "y": 4.75},
|
||||||
|
|
||||||
|
{"matrix": [9, 6], "x": 9, "y": 4.75},
|
||||||
|
{"matrix": [9, 5], "x": 10, "y": 4.5},
|
||||||
|
{"matrix": [9, 4], "x": 11, "y": 4.25},
|
||||||
|
{"matrix": [9, 3], "x": 12, "y": 4},
|
||||||
|
{"matrix": [9, 2], "x": 13, "y": 4.25}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
65
keyboards/handwired/jotlily60/keymaps/default/keymap.c
Normal file
65
keyboards/handwired/jotlily60/keymaps/default/keymap.c
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
// Copyright 2024 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
enum layers {
|
||||||
|
_QWERTY,
|
||||||
|
_FN,
|
||||||
|
_ADJUST
|
||||||
|
};
|
||||||
|
|
||||||
|
#define FN MO(_FN)
|
||||||
|
#define ADJUST MO(_ADJUST)
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/* Qwerty
|
||||||
|
* +-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
* | = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
* | esc | Q | W | E | R | T | | Y | U | I | O | P | tab |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
* | caps | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
* | shift | Z | X | C | V | B | { | } | N | M | , | . | / | enter |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
* | alt | super | ctrl | space | fn | fn | bspc | del | meh | ralt |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
*/
|
||||||
|
[_QWERTY] = LAYOUT (
|
||||||
|
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TAB,
|
||||||
|
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
|
||||||
|
KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR,KC_RCBR,KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT,
|
||||||
|
KC_LALT,KC_LGUI,KC_LCTL,KC_SPC, FN, FN, KC_BSPC,KC_DEL, KC_MEH, KC_RALT
|
||||||
|
),
|
||||||
|
|
||||||
|
/* +-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
* | + | ! | @ | # | $ | % | | ^ | & | * | ( | ) | _ |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
* |adjust | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
* | | F11 | F12 | F13 | F14 | F15 | | left | down | up | right | | | " |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
* | | vol- | mute | vol+ | ` | ~ | [ | ] | home | end | pgup | pgdn | \ | |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
* | | | | | | | | | | |
|
||||||
|
* +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
*/
|
||||||
|
[_FN] = LAYOUT (
|
||||||
|
KC_PLUS,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_UNDS,
|
||||||
|
ADJUST, 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_F14, KC_F15, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_BSLS,KC_DQUO,
|
||||||
|
_______,KC_VOLD,KC_MUTE,KC_VOLU,KC_GRV, KC_TILD,KC_LBRC,KC_RBRC,KC_HOME,KC_END, KC_PGUP,KC_PGDN,KC_PIPE,_______,
|
||||||
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
|
||||||
|
),
|
||||||
|
|
||||||
|
[_ADJUST] = LAYOUT (
|
||||||
|
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
|
||||||
|
_______,QK_BOOT,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
|
||||||
|
_______,_______,_______,DB_TOGG,_______,_______, _______,_______,_______,_______,_______,_______,
|
||||||
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||||
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
|
||||||
|
),
|
||||||
|
};
|
||||||
|
|
31
keyboards/handwired/jotlily60/keymaps/via/keymap.c
Normal file
31
keyboards/handwired/jotlily60/keymaps/via/keymap.c
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
// Copyright 2024 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT (
|
||||||
|
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TAB,
|
||||||
|
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
|
||||||
|
KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR,KC_RCBR,KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT,
|
||||||
|
KC_LALT,KC_LGUI,KC_LCTL,KC_SPC, MO(1), MO(1), KC_BSPC,KC_DEL, KC_MEH, KC_RALT
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT (
|
||||||
|
KC_PLUS,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_UNDS,
|
||||||
|
MO(2), 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_F14, KC_F15, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_BSLS,KC_DQUO,
|
||||||
|
_______,KC_VOLD,KC_MUTE,KC_VOLU,KC_GRV, KC_TILD,KC_LBRC,KC_RBRC,KC_HOME,KC_END, KC_PGUP,KC_PGDN,KC_PIPE,_______,
|
||||||
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT (
|
||||||
|
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
|
||||||
|
_______,QK_BOOT,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
|
||||||
|
_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,_______,
|
||||||
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||||
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
|
||||||
|
)
|
||||||
|
};
|
1
keyboards/handwired/jotlily60/keymaps/via/rules.mk
Normal file
1
keyboards/handwired/jotlily60/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
55
keyboards/handwired/jotlily60/readme.md
Normal file
55
keyboards/handwired/jotlily60/readme.md
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# jotlily60
|
||||||
|
|
||||||
|
![jotlily60](https://i.imgur.com/I68WGmJh.jpg)
|
||||||
|
|
||||||
|
A split keyboard kit made by jotix, inspired in the Lily58 keyboard.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [jotix](https://github.com/jotix)
|
||||||
|
* Hardware Supported: Arduino Pro Micro
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Arduino Pro Micro Pinout
|
||||||
|
|
||||||
|
| Rows | 0 | 1 | 2 | 3 | 4 |
|
||||||
|
|-------------|----|----|----|----|----|
|
||||||
|
| Arduino pin | A0 | 15 | 14 | 16 | 10 |
|
||||||
|
| QMK pin | F7 | B1 | B3 | B2 | B6 |
|
||||||
|
|
||||||
|
| Columns | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|
||||||
|
|-------------|----|----|----|----|----|----|----|
|
||||||
|
| Arduino pin | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|
||||||
|
| QMK pin | D0 | D4 | C6 | D7 | E6 | B4 | B5 |
|
||||||
|
|
||||||
|
| Serial | |
|
||||||
|
|-------------|-----|
|
||||||
|
| Arduino pin | TX0 |
|
||||||
|
| QMK pin | D3 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Compiling the Firmware
|
||||||
|
|
||||||
|
Compile example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
qmk compile -kb handwired/jotlily60 -km default
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### The Defaukt Keymap
|
||||||
|
|
||||||
|
+-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||||
|
+-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
| esc | Q | W | E | R | T | | Y | U | I | O | P | tab |
|
||||||
|
+-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+
|
||||||
|
| caps | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||||
|
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
| shift | Z | X | C | V | B | { | } | N | M | , | . | / | enter |
|
||||||
|
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
| alt | super | ctrl | space | fn | fn | bspc | del | meh | ralt |
|
||||||
|
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
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/handwired/jotlily60/rules.mk
Normal file
1
keyboards/handwired/jotlily60/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
66
keyboards/handwired/petruziamini/info.json
Normal file
66
keyboards/handwired/petruziamini/info.json
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "LLLKST",
|
||||||
|
"keyboard_name": "PetruziaMini",
|
||||||
|
"maintainer": "LLLKST",
|
||||||
|
"development_board": "promicro",
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"command": false,
|
||||||
|
"console": false,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["D7", "C6", "D4", "D0", "D1", "F4", "F5", "F6", "F7", "B1"],
|
||||||
|
"rows": ["B4", "E6", "B3", "B2"]
|
||||||
|
},
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x0000",
|
||||||
|
"vid": "0xFEED"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [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": [2, 0], "x": 0, "y": 2},
|
||||||
|
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||||
|
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||||
|
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||||
|
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||||
|
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||||
|
{"matrix": [2, 6], "x": 6, "y": 2},
|
||||||
|
{"matrix": [2, 7], "x": 7, "y": 2},
|
||||||
|
{"matrix": [2, 8], "x": 8, "y": 2},
|
||||||
|
{"matrix": [2, 9], "x": 9, "y": 2},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||||
|
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||||
|
{"matrix": [3, 6], "x": 6, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 8, "y": 3},
|
||||||
|
{"matrix": [3, 9], "x": 9, "y": 3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
30
keyboards/handwired/petruziamini/keymaps/default/keymap.c
Normal file
30
keyboards/handwired/petruziamini/keymaps/default/keymap.c
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
// Copyright 2023 QMK
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/*
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||||
|
* │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │
|
||||||
|
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
|
||||||
|
* │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │
|
||||||
|
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
|
||||||
|
* │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │
|
||||||
|
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
|
||||||
|
* │ A │ B │ │ D │ │ │ G │ │ I │ J │
|
||||||
|
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J,
|
||||||
|
KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J,
|
||||||
|
KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J,
|
||||||
|
KC_A, KC_B, KC_C, KC_D, LT(1, KC_E), KC_F
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||||
|
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||||
|
)
|
||||||
|
};
|
26
keyboards/handwired/petruziamini/readme.md
Normal file
26
keyboards/handwired/petruziamini/readme.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# PetruziaMini
|
||||||
|
|
||||||
|
![PetruziaMini](https://i.imgur.com/uk2BSazh.jpeg)
|
||||||
|
|
||||||
|
36 key ortholinear keyboard intended to be mapped as a split keyboard.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [LLLKST](https://github.com/LLLKST)
|
||||||
|
* Hardware Supported: *promicro compatible controller*
|
||||||
|
* Hardware Availability: [Aliexpress Pro Micro](https://www.aliexpress.us/item/3256805781371913.html)
|
||||||
|
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/petruziamini:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make handwired/petruziamini: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 with:
|
||||||
|
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` (3,5) + (0,1) in the matrix
|
1
keyboards/handwired/petruziamini/rules.mk
Normal file
1
keyboards/handwired/petruziamini/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
38
keyboards/handwired/technicpad/info.json
Normal file
38
keyboards/handwired/technicpad/info.json
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "nwhirschfeld",
|
||||||
|
"keyboard_name": "TechnicPad",
|
||||||
|
"maintainer": "nwhirschfeld",
|
||||||
|
"build": {
|
||||||
|
"lto": true
|
||||||
|
},
|
||||||
|
"development_board": "promicro",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"direct": [
|
||||||
|
["D1"],
|
||||||
|
["D0"],
|
||||||
|
["D4"],
|
||||||
|
["C6"]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"url": "https://github.com/nwhirschfeld/TechnicPad",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "0.0.1",
|
||||||
|
"pid": "0x5450",
|
||||||
|
"vid": "0x4E57"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label": "D1", "matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"label": "D0", "matrix": [1, 0], "x": 0, "y": 1},
|
||||||
|
{"label": "D4", "matrix": [2, 0], "x": 1, "y": 0},
|
||||||
|
{"label": "C6", "matrix": [3, 0], "x": 1, "y": 1}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"keyboard": "technicpad",
|
||||||
|
"keymap": "default",
|
||||||
|
"layers": [
|
||||||
|
["KC_A", "KC_B", "KC_C", "KC_D"]
|
||||||
|
],
|
||||||
|
"layout": "LAYOUT"
|
||||||
|
}
|
13
keyboards/handwired/technicpad/keymaps/via/keymap.json
Normal file
13
keyboards/handwired/technicpad/keymaps/via/keymap.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"keyboard": "technicpad",
|
||||||
|
"keymap": "via",
|
||||||
|
"config": {
|
||||||
|
"features": {
|
||||||
|
"via": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layers": [
|
||||||
|
["KC_A", "KC_B", "KC_C", "KC_D"]
|
||||||
|
],
|
||||||
|
"layout": "LAYOUT"
|
||||||
|
}
|
27
keyboards/handwired/technicpad/readme.md
Normal file
27
keyboards/handwired/technicpad/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# TechnicPad
|
||||||
|
|
||||||
|
![TechnicPad](https://i.imgur.com/LPD0KSL.jpg)
|
||||||
|
|
||||||
|
A 4% (2x2) macropad, that is compatible to technic building blocks.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Niclas Hirschfeld](https://github.com/nwhirschfeld)
|
||||||
|
* Hardware Supported: Pro Micro boards
|
||||||
|
* Hardware Availability: for now TechnicPad is handwired and uses an Arduino pro micro. [TechnicPad repository](https://github.com/nwhirschfeld/TechnicPad)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/technicpad:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make handwired/technicpad: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 upper left key and plug in the keyboard
|
||||||
|
* **Physical reset**: Short the _RST_ and _GND_ pins of the PCB
|
||||||
|
* **Keycode in layout**: Press the key mapped to QK_BOOT if it is available
|
1
keyboards/handwired/technicpad/rules.mk
Normal file
1
keyboards/handwired/technicpad/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
15
keyboards/jidohun/km113/config.h
Normal file
15
keyboards/jidohun/km113/config.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// Copyright 2023 wind (@yelishang)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
/* SPI Config */
|
||||||
|
#define SPI_DRIVER SPIDQ
|
||||||
|
#define SPI_SCK_PIN B3
|
||||||
|
#define SPI_MOSI_PIN B5
|
||||||
|
#define SPI_MISO_PIN B4
|
||||||
|
#define SPI_MOSI_PAL_MODE 5
|
||||||
|
|
||||||
|
/* SPI Flash Config */
|
||||||
|
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
|
||||||
|
|
10
keyboards/jidohun/km113/halconf.h
Normal file
10
keyboards/jidohun/km113/halconf.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Copyright 2023 wind (@yelishang)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_SPI TRUE
|
||||||
|
#define SPI_USE_WAIT TRUE
|
||||||
|
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
269
keyboards/jidohun/km113/info.json
Normal file
269
keyboards/jidohun/km113/info.json
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "JIDOHUN",
|
||||||
|
"keyboard_name": "KM113",
|
||||||
|
"maintainer": "wind",
|
||||||
|
"bootloader": "wb32-dfu",
|
||||||
|
"diode_direction": "ROW2COL",
|
||||||
|
"eeprom": {
|
||||||
|
"wear_leveling": {
|
||||||
|
"backing_size": 4096,
|
||||||
|
"driver": "spi_flash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{"pin_a": "A10", "pin_b": "A9"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"encoder": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": true,
|
||||||
|
"rgb_matrix": true
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["C0", "C1", "C2", "C3", "A5", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7", "C8", "C9"],
|
||||||
|
"rows": ["A0", "A1", "A2", "A3", "A4", "C13"]
|
||||||
|
},
|
||||||
|
"processor": "WB32FQ95",
|
||||||
|
"rgb_matrix": {
|
||||||
|
"animations": {
|
||||||
|
"alphas_mods": true,
|
||||||
|
"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_fractal": 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": [
|
||||||
|
{"matrix": [5, 8], "x": 119, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 9], "x": 134, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 10], "x": 149, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 11], "x": 164, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 12], "x": 179, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 13], "x": 194, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 14], "x": 209, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 15], "x": 224, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [4, 15], "x": 224, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 14], "x": 209, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 13], "x": 194, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 12], "x": 179, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 11], "x": 164, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 10], "x": 149, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 9], "x": 134, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 8], "x": 119, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 7], "x": 105, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 6], "x": 90, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 5], "x": 75, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 4], "x": 60, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 3], "x": 45, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [4, 2], "x": 30, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [3, 1], "x": 15, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 2], "x": 30, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 3], "x": 45, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 4], "x": 60, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 5], "x": 75, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 6], "x": 90, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 7], "x": 105, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 8], "x": 119, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 9], "x": 134, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 10], "x": 149, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 11], "x": 164, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 12], "x": 179, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 14], "x": 209, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [3, 15], "x": 224, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [2, 15], "x": 224, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 14], "x": 209, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 13], "x": 194, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 12], "x": 179, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 11], "x": 164, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 10], "x": 149, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 9], "x": 134, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 8], "x": 119, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 7], "x": 105, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 6], "x": 90, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 5], "x": 75, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 4], "x": 60, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 3], "x": 45, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 2], "x": 30, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [2, 1], "x": 15, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [1, 1], "x": 15, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 2], "x": 30, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 3], "x": 45, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 4], "x": 60, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 5], "x": 75, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 6], "x": 90, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 7], "x": 105, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 8], "x": 119, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 9], "x": 134, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 10], "x": 149, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 11], "x": 164, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 12], "x": 179, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [1, 13], "x": 194, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [0, 13], "x": 194, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 12], "x": 179, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 11], "x": 164, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 10], "x": 149, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 9], "x": 134, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 8], "x": 119, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 7], "x": 105, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 6], "x": 90, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 5], "x": 75, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 4], "x": 60, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 3], "x": 45, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 2], "x": 30, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
|
||||||
|
{"matrix": [1, 0], "x": 0, "y": 13, "flags": 4},
|
||||||
|
{"matrix": [2, 0], "x": 0, "y": 26, "flags": 4},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
|
||||||
|
{"matrix": [4, 0], "x": 0, "y": 51, "flags": 4},
|
||||||
|
{"matrix": [5, 0], "x": 0, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 1], "x": 15, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 2], "x": 30, "y": 64, "flags": 4},
|
||||||
|
{"matrix": [5, 5], "x": 75, "y": 64, "flags": 4}
|
||||||
|
],
|
||||||
|
"max_brightness": 108
|
||||||
|
},
|
||||||
|
"url": "http://www.frscn.com",
|
||||||
|
"usb": {
|
||||||
|
"device_version": "1.0.0",
|
||||||
|
"pid": "0x3671",
|
||||||
|
"suspend_wakeup_delay": 1000,
|
||||||
|
"vid": "0x3555"
|
||||||
|
},
|
||||||
|
"ws2812": {
|
||||||
|
"pin": "A8"
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "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.5, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8.5, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9.5, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 11, "y": 0},
|
||||||
|
{"matrix": [0, 11], "x": 12, "y": 0},
|
||||||
|
{"matrix": [0, 12], "x": 13, "y": 0},
|
||||||
|
{"matrix": [0, 13], "x": 14, "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": 17, "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": 16.5, "y": 2},
|
||||||
|
{"matrix": [2, 15], "x": 17.5, "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, "w": 2.25},
|
||||||
|
{"matrix": [3, 14], "x": 16.5, "y": 3},
|
||||||
|
{"matrix": [3, 15], "x": 17.5, "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.25, "y": 4.25},
|
||||||
|
{"matrix": [4, 14], "x": 16.5, "y": 4},
|
||||||
|
{"matrix": [4, 15], "x": 17.5, "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, 8], "x": 10, "y": 5},
|
||||||
|
{"matrix": [5, 9], "x": 11, "y": 5},
|
||||||
|
{"matrix": [5, 10], "x": 12, "y": 5},
|
||||||
|
{"matrix": [5, 11], "x": 13.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 12], "x": 14.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 13], "x": 15.25, "y": 5.25},
|
||||||
|
{"matrix": [5, 14], "x": 16.5, "y": 5},
|
||||||
|
{"matrix": [5, 15], "x": 17.5, "y": 5}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
43
keyboards/jidohun/km113/keymaps/default/keymap.c
Normal file
43
keyboards/jidohun/km113/keymaps/default/keymap.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// Copyright 2023 wind (@yelishang)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
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, TO(0), KC_HOME,
|
||||||
|
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, TO(1), KC_END,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(2), KC_PGUP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), KC_PGDN
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT(
|
||||||
|
EE_CLR, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_MYCM, KC_CALC,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, _______,
|
||||||
|
_______, _______, _______, _______, RGB_MOD, _______, _______, KC_PSCR, KC_PGUP, KC_DEL, _______, _______, _______, _______, TO(0), _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PGDN, KC_END, _______, _______, _______, TO(1), _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, TO(2), _______,
|
||||||
|
_______, GU_TOGG, _______, RGB_TOG, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI,TO(3), _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
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, TO(0), KC_HOME,
|
||||||
|
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, TO(1), KC_END,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(2), KC_PGUP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), KC_PGDN
|
||||||
|
),
|
||||||
|
|
||||||
|
[3] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
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, TO(0), _______,
|
||||||
|
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, TO(1), _______,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(2), _______,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), _______
|
||||||
|
)
|
||||||
|
};
|
53
keyboards/jidohun/km113/keymaps/via/keymap.c
Normal file
53
keyboards/jidohun/km113/keymaps/via/keymap.c
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
// Copyright 2023 wind (@yelishang)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
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, TO(0), KC_HOME,
|
||||||
|
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, TO(1), KC_END,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(2), KC_PGUP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), KC_PGDN
|
||||||
|
),
|
||||||
|
|
||||||
|
[1] = LAYOUT(
|
||||||
|
EE_CLR, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_MYCM, KC_CALC,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, _______,
|
||||||
|
_______, _______, _______, _______, RGB_MOD, _______, _______, KC_PSCR, KC_PGUP, KC_DEL, _______, _______, _______, _______, TO(0), _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PGDN, KC_END, _______, _______, _______, TO(1), _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, TO(2), _______,
|
||||||
|
_______, GU_TOGG, _______, RGB_TOG, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI,TO(3), _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
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, TO(0), KC_HOME,
|
||||||
|
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, TO(1), KC_END,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(2), KC_PGUP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), KC_PGDN
|
||||||
|
),
|
||||||
|
|
||||||
|
[3] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_MUTE,
|
||||||
|
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, TO(0), _______,
|
||||||
|
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, TO(1), _______,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(2), _______,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), _______
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
/* encoder; start */
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||||
|
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
|
||||||
|
};
|
||||||
|
#endif
|
2
keyboards/jidohun/km113/keymaps/via/rules.mk
Normal file
2
keyboards/jidohun/km113/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
9
keyboards/jidohun/km113/mcuconf.h
Normal file
9
keyboards/jidohun/km113/mcuconf.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// Copyright 2023 wind (@yelishang)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <mcuconf.h>
|
||||||
|
|
||||||
|
#undef WB32_SPI_USE_QSPI
|
||||||
|
#define WB32_SPI_USE_QSPI TRUE
|
23
keyboards/jidohun/km113/readme.md
Normal file
23
keyboards/jidohun/km113/readme.md
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
# KM113
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [wind](https://github.com/yelishang)
|
||||||
|
* Hardware Supported: KM113 PCB
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make jidohun/km113:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make jidohun/km113:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 3 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||||
|
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/jidohun/km113/rules.mk
Normal file
1
keyboards/jidohun/km113/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
# This file intentionally left blank
|
@ -134,22 +134,22 @@
|
|||||||
{"matrix": [7, 11], "x": 19, "y": 5},
|
{"matrix": [7, 11], "x": 19, "y": 5},
|
||||||
{"matrix": [6, 10], "x": 20, "y": 5},
|
{"matrix": [6, 10], "x": 20, "y": 5},
|
||||||
{"matrix": [6, 9], "x": 21, "y": 5},
|
{"matrix": [6, 9], "x": 21, "y": 5},
|
||||||
{"matrix": [5, 0], "x": 22, "y": 5, "h": 2},
|
|
||||||
|
|
||||||
{"matrix": [5, 1], "x": 0, "y": 6, "w": 1.5},
|
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5},
|
||||||
{"matrix": [5, 2], "x": 1.5, "y": 6, "w": 1.25},
|
{"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.25},
|
||||||
{"matrix": [5, 5], "x": 2.75, "y": 6, "w": 1.5},
|
{"matrix": [5, 2], "x": 2.75, "y": 6, "w": 1.5},
|
||||||
{"matrix": [5, 10], "x": 4.25, "y": 6, "w": 6.5},
|
{"matrix": [5, 5], "x": 4.25, "y": 6, "w": 6.5},
|
||||||
{"matrix": [5, 11], "x": 10.75, "y": 6, "w": 1.5},
|
{"matrix": [5, 10], "x": 10.75, "y": 6, "w": 1.5},
|
||||||
{"matrix": [5, 13], "x": 12.25, "y": 6, "w": 1.25},
|
{"matrix": [5, 11], "x": 12.25, "y": 6, "w": 1.25},
|
||||||
{"matrix": [5, 7], "x": 13.5, "y": 6, "w": 1.5},
|
{"matrix": [5, 13], "x": 13.5, "y": 6, "w": 1.5},
|
||||||
|
|
||||||
{"matrix": [5, 9], "x": 15.5, "y": 6},
|
{"matrix": [5, 7], "x": 15.5, "y": 6},
|
||||||
{"matrix": [5, 6], "x": 16.5, "y": 6},
|
{"matrix": [5, 9], "x": 16.5, "y": 6},
|
||||||
{"matrix": [7, 10], "x": 17.5, "y": 6},
|
{"matrix": [5, 6], "x": 17.5, "y": 6},
|
||||||
|
|
||||||
{"matrix": [7, 9], "x": 19, "y": 6, "w": 2},
|
{"matrix": [7, 10], "x": 19, "y": 6, "w": 2},
|
||||||
{"matrix": [7, 8], "x": 21, "y": 6}
|
{"matrix": [7, 9], "x": 21, "y": 6},
|
||||||
|
{"matrix": [7, 8], "x": 22, "y": 5, "h": 2}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
72
keyboards/kb_elmo/bm42/info.json
Normal file
72
keyboards/kb_elmo/bm42/info.json
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
"manufacturer": "kb_elmo",
|
||||||
|
"keyboard_name": "BM42",
|
||||||
|
"url": "https://github.com/kb-elmo/bm42",
|
||||||
|
"maintainer": "kb-elmo",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0xA68C",
|
||||||
|
"pid": "0xDC9B",
|
||||||
|
"device_version": "0.0.1"
|
||||||
|
},
|
||||||
|
"processor": "atmega32u2",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["C5", "D1", "B5", "B4", "B3", "B2", "B1", "B0", "D6", "D5", "D4"],
|
||||||
|
"rows": ["D2", "D3", "C7", "C6"]
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"features": {
|
||||||
|
"bootmagic": true,
|
||||||
|
"extrakey": true,
|
||||||
|
"mousekey": true,
|
||||||
|
"nkro": false
|
||||||
|
},
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||||
|
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||||
|
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||||
|
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||||
|
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||||
|
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||||
|
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||||
|
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||||
|
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||||
|
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||||
|
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||||
|
{"matrix": [3, 10], "x": 11, "y": 0},
|
||||||
|
{"matrix": [3, 0], "x": 0, "y": 1, "w": 1.25},
|
||||||
|
{"matrix": [1, 1], "x": 1.25, "y": 1},
|
||||||
|
{"matrix": [1, 2], "x": 2.25, "y": 1},
|
||||||
|
{"matrix": [1, 3], "x": 3.25, "y": 1},
|
||||||
|
{"matrix": [1, 4], "x": 4.25, "y": 1},
|
||||||
|
{"matrix": [1, 5], "x": 5.25, "y": 1},
|
||||||
|
{"matrix": [1, 6], "x": 6.25, "y": 1},
|
||||||
|
{"matrix": [1, 7], "x": 7.25, "y": 1},
|
||||||
|
{"matrix": [1, 8], "x": 8.25, "y": 1},
|
||||||
|
{"matrix": [1, 9], "x": 9.25, "y": 1},
|
||||||
|
{"matrix": [1, 10], "x": 10.25, "y": 1, "w": 1.75},
|
||||||
|
{"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": [3, 9], "x": 10.75, "y": 2, "w": 1.25},
|
||||||
|
{"matrix": [3, 1], "x": 0, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [3, 2], "x": 1.25, "y": 3},
|
||||||
|
{"matrix": [3, 3], "x": 2.25, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [3, 4], "x": 3.5, "y": 3, "w": 3},
|
||||||
|
{"matrix": [3, 5], "x": 6.5, "y": 3, "w": 2},
|
||||||
|
{"matrix": [3, 6], "x": 8.5, "y": 3, "w": 1.25},
|
||||||
|
{"matrix": [3, 7], "x": 9.75, "y": 3},
|
||||||
|
{"matrix": [3, 8], "x": 10.75, "y": 3, "w": 1.25}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
25
keyboards/kb_elmo/bm42/keymaps/default/keymap.c
Normal file
25
keyboards/kb_elmo/bm42/keymaps/default/keymap.c
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Copyright 2022 kb-elmo<mail@elmo.space> (@kb-elmo)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(2)
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_BSLS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_GRV, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR,
|
||||||
|
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
};
|
25
keyboards/kb_elmo/bm42/keymaps/via/keymap.c
Normal file
25
keyboards/kb_elmo/bm42/keymaps/via/keymap.c
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Copyright 2022 kb-elmo<mail@elmo.space> (@kb-elmo)
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(2)
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
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_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_BSLS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
KC_GRV, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR,
|
||||||
|
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user