forked from mirror/qmk_firmware
Compare commits
129 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
354edac63a | ||
|
|
b906e773b0 | ||
|
|
feee0f5154 | ||
|
|
96d3750483 | ||
|
|
507e32b28c | ||
|
|
d6f8df4be8 | ||
|
|
09666ea251 | ||
|
|
0b672f8775 | ||
|
|
cead6afc34 | ||
|
|
9992d5dcfc | ||
|
|
b1cd166ea8 | ||
|
|
dc9df5a305 | ||
|
|
8726a2653a | ||
|
|
b833cd0d07 | ||
|
|
6fdb997e8c | ||
|
|
f8d01e5eca | ||
|
|
5c2e668190 | ||
|
|
db229d7341 | ||
|
|
88780bf710 | ||
|
|
a4be9b0ccb | ||
|
|
7f413e9f01 | ||
|
|
a4b36f0b4b | ||
|
|
9b41e8168d | ||
|
|
e206a1684e | ||
|
|
62a90945c7 | ||
|
|
0b62a4ef72 | ||
|
|
c55c7fed83 | ||
|
|
40380c2684 | ||
|
|
a68b620112 | ||
|
|
aa7628641c | ||
|
|
ea4136bc2b | ||
|
|
cdf640578b | ||
|
|
7138fa4582 | ||
|
|
ccb37b155c | ||
|
|
64b84385cd | ||
|
|
e90d9fcfff | ||
|
|
d61a5f4343 | ||
|
|
713427c086 | ||
|
|
e1afcda1c0 | ||
|
|
ab4013a69e | ||
|
|
974c01b4f8 | ||
|
|
387b64a79b | ||
|
|
6d8a1aa676 | ||
|
|
952cdc7be5 | ||
|
|
e0a09ff728 | ||
|
|
990ee8075e | ||
|
|
697f53a154 | ||
|
|
cefef18ceb | ||
|
|
6e5ff018e3 | ||
|
|
75b7140cbd | ||
|
|
28c11ed348 | ||
|
|
d732b0b849 | ||
|
|
6d965d486c | ||
|
|
ce417226b2 | ||
|
|
0382a25e35 | ||
|
|
83dcbefeed | ||
|
|
18335ddda5 | ||
|
|
051485c579 | ||
|
|
5012dfd719 | ||
|
|
641698d356 | ||
|
|
75edefe541 | ||
|
|
7e6eba674a | ||
|
|
26b35a54cf | ||
|
|
38700f7e3f | ||
|
|
ed72c423be | ||
|
|
bc6db2823c | ||
|
|
fb706f42a2 | ||
|
|
9132c64389 | ||
|
|
6e0acf0548 | ||
|
|
2c375e6478 | ||
|
|
a5e68e5f74 | ||
|
|
e9b36bebb2 | ||
|
|
df7b56e0ea | ||
|
|
2e766a9c7a | ||
|
|
4ba3fdfad2 | ||
|
|
655c24d29d | ||
|
|
eab2b8faa0 | ||
|
|
d058091d0b | ||
|
|
596319c92f | ||
|
|
4d17fe2a99 | ||
|
|
1d045e854b | ||
|
|
f7176f070f | ||
|
|
687883cf7d | ||
|
|
f56cf93fa1 | ||
|
|
1fd30b3391 | ||
|
|
37f205ec1a | ||
|
|
26e0bfd494 | ||
|
|
a434507ab4 | ||
|
|
ee8c86702e | ||
|
|
246cf99b4b | ||
|
|
eb52984a94 | ||
|
|
a5272a1575 | ||
|
|
d06ce0153b | ||
|
|
c58610bea3 | ||
|
|
12de0297ed | ||
|
|
4992df56b8 | ||
|
|
f3f0bf6dbe | ||
|
|
8a5e8ed88e | ||
|
|
fb6557acf1 | ||
|
|
2d7240f730 | ||
|
|
1d1c407e4e | ||
|
|
9152928f02 | ||
|
|
15a106b1ef | ||
|
|
ac9f9f9efb | ||
|
|
ec83c0b185 | ||
|
|
d300811009 | ||
|
|
27e6e27d3a | ||
|
|
5687fc7646 | ||
|
|
ebe36ea83c | ||
|
|
6b205c3064 | ||
|
|
b5d0c44690 | ||
|
|
d0e0b9e583 | ||
|
|
b0dc99fbd8 | ||
|
|
5b8dae0d61 | ||
|
|
fd56a2a1dc | ||
|
|
be9f6e679b | ||
|
|
b53356f7ab | ||
|
|
c402bac023 | ||
|
|
a030e8094f | ||
|
|
c3c401f91d | ||
|
|
b63e388692 | ||
|
|
81f3f0f3e9 | ||
|
|
d0c36a7683 | ||
|
|
c6cc638752 | ||
|
|
621dbdf8ee | ||
|
|
896f38c52c | ||
|
|
f56580404d | ||
|
|
5bb8f7ae84 | ||
|
|
d31d1488e8 |
4
.clangd
Normal file
4
.clangd
Normal file
@@ -0,0 +1,4 @@
|
||||
CompileFlags:
|
||||
Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
|
||||
Remove: [-W*, -mcall-prologues]
|
||||
Compiler: clang
|
||||
3
.github/workflows/auto_tag.yml
vendored
3
.github/workflows/auto_tag.yml
vendored
@@ -4,6 +4,7 @@ permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
@@ -31,7 +32,7 @@ jobs:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Bump version and push tag
|
||||
uses: anothrNick/github-tag-action@1.61.0
|
||||
uses: anothrNick/github-tag-action@1.62.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
DEFAULT_BUMP: 'patch'
|
||||
|
||||
36
.github/workflows/ci_builds.yml
vendored
36
.github/workflows/ci_builds.yml
vendored
@@ -4,22 +4,27 @@ permissions:
|
||||
contents: read
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master, develop]
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 0,12 * * *'
|
||||
inputs:
|
||||
branch:
|
||||
type: choice
|
||||
description: 'Branch to build'
|
||||
options: [master, develop]
|
||||
|
||||
concurrency: ci_build-${{ github.event.inputs.branch || github.ref_name }}
|
||||
|
||||
jobs:
|
||||
ci_builds:
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
name: "CI Build"
|
||||
runs-on: self-hosted
|
||||
timeout-minutes: 1380
|
||||
|
||||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
branch: [master, develop]
|
||||
keymap: [default, via]
|
||||
|
||||
container: qmkfm/qmk_cli
|
||||
@@ -31,7 +36,7 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
ref: ${{ matrix.branch }}
|
||||
ref: ${{ github.event.inputs.branch || github.ref }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: pip3 install -r requirements.txt
|
||||
@@ -39,20 +44,31 @@ jobs:
|
||||
- name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }})
|
||||
run: |
|
||||
export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
|
||||
qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes
|
||||
qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes || touch .failed
|
||||
# Generate the step summary markdown
|
||||
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY
|
||||
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
|
||||
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
|
||||
truncate --size='<960K' $GITHUB_STEP_SUMMARY
|
||||
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
|
||||
# Exit with failure if the compilation stage failed
|
||||
[ ! -f .failed ] || exit 1
|
||||
|
||||
- name: 'Upload artifacts'
|
||||
uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: artifacts-${{ matrix.branch }}-${{ matrix.keymap }}
|
||||
name: artifacts-${{ github.event.inputs.branch || github.ref_name }}-${{ matrix.keymap }}
|
||||
if-no-files-found: ignore
|
||||
path: |
|
||||
*.bin
|
||||
*.hex
|
||||
*.uf2
|
||||
.build/failed.*
|
||||
|
||||
- name: 'CI Discord Notification'
|
||||
if: always()
|
||||
working-directory: util/ci/
|
||||
env:
|
||||
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
|
||||
run: |
|
||||
python3 -m pip install -r requirements.txt
|
||||
python3 ./discord-results.py --branch ${{ github.event.inputs.branch || github.ref_name }} --keymap ${{ matrix.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
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'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
|
||||
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'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -30,6 +30,9 @@ quantum/version.h
|
||||
*.qmk
|
||||
*.uf2
|
||||
|
||||
# DD config at wrong location
|
||||
/keyboards/**/keymaps/*/info.json
|
||||
|
||||
# Old-style QMK Makefiles
|
||||
/keyboards/**/Makefile
|
||||
|
||||
|
||||
2
.vscode/extensions.json
vendored
2
.vscode/extensions.json
vendored
@@ -3,7 +3,7 @@
|
||||
"recommendations": [
|
||||
"EditorConfig.EditorConfig",
|
||||
"xaver.clang-format",
|
||||
"ms-vscode.cpptools",
|
||||
"llvm-vs-code-extensions.vscode-clangd",
|
||||
"bierner.github-markdown-preview",
|
||||
"donjayamanne.git-extension-pack"
|
||||
]
|
||||
|
||||
7
.vscode/settings.json
vendored
7
.vscode/settings.json
vendored
@@ -26,6 +26,9 @@
|
||||
},
|
||||
"python.formatting.provider": "yapf",
|
||||
"[json]": {
|
||||
"editor.formatOnSave": false
|
||||
}
|
||||
"editor.formatOnSave": false
|
||||
},
|
||||
"clangd.arguments": [
|
||||
"--header-insertion=never"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -343,6 +343,15 @@ $(KEYBOARD_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES)
|
||||
|
||||
generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.c $(KEYBOARD_OUTPUT)/src/default_keyboard.h
|
||||
|
||||
generated-files: $(KEYMAP_OUTPUT)/src/info_deps.d
|
||||
|
||||
$(KEYMAP_OUTPUT)/src/info_deps.d:
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-make-dependencies -kb $(KEYBOARD) -km $(KEYMAP) -o $(KEYMAP_OUTPUT)/src/info_deps.d)
|
||||
@$(BUILD_CMD)
|
||||
|
||||
-include $(KEYMAP_OUTPUT)/src/info_deps.d
|
||||
|
||||
.INTERMEDIATE : generated-files
|
||||
|
||||
# Userspace setup and definitions
|
||||
|
||||
@@ -213,10 +213,10 @@ else
|
||||
SRC += eeprom_driver.c eeprom_spi.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_FLASH_EMULATED
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += eeprom_driver.c eeprom_stm32.c flash_stm32.c
|
||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
|
||||
# Transient EEPROM implementation -- no data storage but provides runtime area for it
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||
|
||||
@@ -37,9 +37,9 @@ For more information on bitwise operators in C, click [here](https://en.wikipedi
|
||||
|
||||
In practice, this means that you can check whether a given modifier is active with `get_mods() & MOD_BIT(KC_<modifier>)` (see the [list of modifier keycodes](keycodes_basic.md#modifiers)) or with `get_mods() & MOD_MASK_<modifier>` if the difference between left and right hand modifiers is not important and you want to match both. Same thing can be done for one-shot modifiers if you replace `get_mods()` with `get_oneshot_mods()`.
|
||||
|
||||
To check that *only* a specific set of mods is active at a time, AND the modifier state and your desired mod mask as explained above and compare the result to the mod mask itself: `get_mods() & <mod mask> == <mod mask>`.
|
||||
To check that *only* a specific set of mods is active at a time, use a simple equality operator: `get_mods() == <mod mask>`.
|
||||
|
||||
For example, let's say you want to trigger a piece of custom code if one-shot left control and one-shot left shift are on but every other one-shot mods are off. To do so, you can compose the desired mod mask by combining the mod bits for left control and shift with `(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))` and then plug it in: `get_oneshot_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT)) == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))`. Using `MOD_MASK_CS` instead for the mod bitmask would have forced you to press four modifier keys (both versions of control and shift) to fulfill the condition.
|
||||
For example, let's say you want to trigger a piece of custom code if one-shot left control and one-shot left shift are on but every other one-shot mods are off. To do so, you can compose the desired mod mask by combining the mod bits for left control and shift with `(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))` and then plug it in: `get_oneshot_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))`. Using `MOD_MASK_CS` instead for the mod bitmask would have forced you to press four modifier keys (both versions of control and shift) to fulfill the condition.
|
||||
|
||||
The full list of mod masks is as follows:
|
||||
|
||||
@@ -91,7 +91,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
case KC_ESC:
|
||||
// Detect the activation of only Left Alt
|
||||
if ((get_mods() & MOD_BIT(KC_LALT)) == MOD_BIT(KC_LALT)) {
|
||||
if (get_mods() == MOD_BIT(KC_LALT)) {
|
||||
if (record->event.pressed) {
|
||||
// No need to register KC_LALT because it's already active.
|
||||
// The Alt modifier will apply on this KC_TAB.
|
||||
@@ -184,4 +184,4 @@ This page used to encompass a large set of features. We have moved many sections
|
||||
|
||||
## Key Overrides :id=key-overrides
|
||||
|
||||
* [Key Overrides](feature_key_overrides.md)
|
||||
* [Key Overrides](feature_key_overrides.md)
|
||||
|
||||
@@ -58,7 +58,7 @@ const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
|
||||
const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END};
|
||||
const uint16_t PROGMEM sd_combo[] = {KC_S, KC_D, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
combo_t key_combos[] = {
|
||||
[AB_ESC] = COMBO(ab_combo, KC_ESC),
|
||||
[JK_TAB] = COMBO(jk_combo, KC_TAB),
|
||||
[QW_SFT] = COMBO(qw_combo, KC_LSFT),
|
||||
|
||||
@@ -17,7 +17,6 @@ Currently the following converters are available:
|
||||
| `promicro` | `bit_c_pro` |
|
||||
| `promicro` | `stemcell` |
|
||||
| `promicro` | `bonsai_c4` |
|
||||
| `promicro` | `elite_pi` |
|
||||
| `promicro` | `rp2040_ce` |
|
||||
| `promicro` | `elite_pi` |
|
||||
| `promicro` | `helios` |
|
||||
|
||||
@@ -57,78 +57,78 @@ susceptible to noise, you must choose a debounce method that will also mitigate
|
||||
if the scanning is slow, and you are using a timestamp-based algorithm, you might end up making a debouncing decision based on only two
|
||||
sampled values, which will limit the noise-resistance of the algorithm.
|
||||
* Currently all built-in debounce algorithms support timestamp-based debouncing only. In the future we might
|
||||
implement cycles-based debouncing, and it will be selectable via a ```config.h``` macro.
|
||||
implement cycles-based debouncing, and it will be selectable via a `config.h` macro.
|
||||
|
||||
2) Symmetric vs Asymmetric
|
||||
* Symmetric - apply the same debouncing algorithm, to both key-up and key-down events.
|
||||
* Recommended naming convention: ```sym_*```
|
||||
* Recommended naming convention: `sym_*`
|
||||
* Asymmetric - apply different debouncing algorithms to key-down and key-up events. E.g. Eager key-down, Defer key-up.
|
||||
* Recommended naming convention: ```asym_*``` followed by details of the type of algorithm in use, in order, for key-down and then key-up
|
||||
* Recommended naming convention: `asym_*` followed by details of the type of algorithm in use, in order, for key-down and then key-up
|
||||
|
||||
3) Eager vs Defer
|
||||
* Eager - any key change is reported immediately. All further inputs for DEBOUNCE ms are ignored.
|
||||
* Eager algorithms are not noise-resistant.
|
||||
* Recommended naming conventions:
|
||||
* ```sym_eager_*```
|
||||
* ```asym_eager_*_*```: key-down is using eager algorithm
|
||||
* ```asym_*_eager_*```: key-up is using eager algorithm
|
||||
* `sym_eager_*`
|
||||
* `asym_eager_*_*`: key-down is using eager algorithm
|
||||
* `asym_*_eager_*`: key-up is using eager algorithm
|
||||
* Defer - wait for no changes for DEBOUNCE ms before reporting change.
|
||||
* Defer algorithms are noise-resistant
|
||||
* Recommended naming conventions:
|
||||
* ```sym_defer_*```
|
||||
* ```asym_defer_*_*```: key-down is using defer algorithm
|
||||
* ```asym_*_defer_*```: key-up is using defer algorithm
|
||||
* `sym_defer_*`
|
||||
* `asym_defer_*_*`: key-down is using defer algorithm
|
||||
* `asym_*_defer_*`: key-up is using defer algorithm
|
||||
|
||||
4) Global vs Per-Key vs Per-Row
|
||||
* Global - one timer for all keys. Any key change state affects global timer
|
||||
* Recommended naming convention: ```*_g```
|
||||
* Recommended naming convention: `*_g`
|
||||
* Per-key - one timer per key
|
||||
* Recommended naming convention: ```*_pk```
|
||||
* Recommended naming convention: `*_pk`
|
||||
* Per-row - one timer per row
|
||||
* Recommended naming convention: ```*_pr```
|
||||
* Recommended naming convention: `*_pr`
|
||||
* Per-key and per-row algorithms consume more resources (in terms of performance,
|
||||
and ram usage), but fast typists might prefer them over global.
|
||||
|
||||
## Debounce algorithms supported by QMK
|
||||
## Supported Debounce Algorithms
|
||||
|
||||
QMK supports multiple debounce algorithms through its debounce API.
|
||||
QMK supports multiple algorithms through its debounce API.
|
||||
|
||||
### Debounce selection
|
||||
### Debounce Time
|
||||
|
||||
| DEBOUNCE_TYPE | Description | What else is needed |
|
||||
| ------------- | --------------------------------------------------- | ----------------------------- |
|
||||
| Not defined | Use the default algorithm, currently sym_defer_g | Nothing |
|
||||
| custom | Use your own debounce code | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions |
|
||||
| Anything Else | Use another algorithm from quantum/debounce/* | Nothing |
|
||||
Default debounce time is 5 milliseconds and it can be changed with the following line in `config.h`:
|
||||
```
|
||||
#define DEBOUNCE 10
|
||||
```
|
||||
?> Setting `DEBOUNCE` to `0` will disable this feature.
|
||||
|
||||
**Regarding split keyboards**:
|
||||
The debounce code is compatible with split keyboards.
|
||||
### Debounce Method
|
||||
|
||||
### Selecting an included debouncing method
|
||||
Keyboards may select one of the already implemented debounce methods, by adding to ```rules.mk``` the following line:
|
||||
Keyboards may select one of the core debounce methods by adding the following line into `rules.mk`:
|
||||
```
|
||||
DEBOUNCE_TYPE = <name of algorithm>
|
||||
```
|
||||
Where name of algorithm is one of:
|
||||
* ```sym_defer_g``` - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE``` milliseconds of no changes has occurred, all input changes are pushed.
|
||||
* This is the current default algorithm. This is the highest performance algorithm with lowest memory usage, and it's also noise-resistant.
|
||||
* ```sym_eager_pr``` - debouncing per row. On any state change, response is immediate, followed by locking the row ```DEBOUNCE``` milliseconds of no further input for that row.
|
||||
For use in keyboards where refreshing ```NUM_KEYS``` 8-bit counters is computationally expensive / low scan rate, and fingers usually only hit one row at a time. This could be
|
||||
appropriate for the ErgoDox models; the matrix is rotated 90°, and hence its "rows" are really columns, and each finger only hits a single "row" at a time in normal use.
|
||||
* ```sym_eager_pk``` - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key
|
||||
* ```sym_defer_pr``` - debouncing per row. On any state change, a per-row timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that row, the entire row is pushed. Can improve responsiveness over `sym_defer_g` while being less susceptible than per-key debouncers to noise.
|
||||
* ```sym_defer_pk``` - debouncing per key. On any state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key status change is pushed.
|
||||
* ```asym_eager_defer_pk``` - debouncing per key. On a key-down state change, response is immediate, followed by ```DEBOUNCE``` milliseconds of no further input for that key. On a key-up state change, a per-key timer is set. When ```DEBOUNCE``` milliseconds of no changes have occurred on that key, the key-up status change is pushed.
|
||||
Name of algorithm is one of:
|
||||
|
||||
### A couple algorithms that could be implemented in the future:
|
||||
* ```sym_defer_pr```
|
||||
* ```sym_eager_g```
|
||||
| Algorithm | Description |
|
||||
| --------------------- | ----------- |
|
||||
| `sym_defer_g` | Debouncing per keyboard. On any state change, a global timer is set. When `DEBOUNCE` milliseconds of no changes has occurred, all input changes are pushed. This is the highest performance algorithm with lowest memory usage and is noise-resistant. |
|
||||
| `sym_defer_pr` | Debouncing per row. On any state change, a per-row timer is set. When `DEBOUNCE` milliseconds of no changes have occurred on that row, the entire row is pushed. This can improve responsiveness over `sym_defer_g` while being less susceptible to noise than per-key algorithm. |
|
||||
| `sym_defer_pk` | Debouncing per key. On any state change, a per-key timer is set. When `DEBOUNCE` milliseconds of no changes have occurred on that key, the key status change is pushed. |
|
||||
| `sym_eager_pr` | Debouncing per row. On any state change, response is immediate, followed by `DEBOUNCE` milliseconds of no further input for that row. |
|
||||
| `sym_eager_pk` | Debouncing per key. On any state change, response is immediate, followed by `DEBOUNCE` milliseconds of no further input for that key. |
|
||||
| `asym_eager_defer_pk` | Debouncing per key. On a key-down state change, response is immediate, followed by `DEBOUNCE` milliseconds of no further input for that key. On a key-up state change, a per-key timer is set. When `DEBOUNCE` milliseconds of no changes have occurred on that key, the key-up status change is pushed. |
|
||||
|
||||
### Use your own debouncing code
|
||||
You have the option to implement you own debouncing algorithm. To do this:
|
||||
* Set ```DEBOUNCE_TYPE = custom``` in ```rules.mk```.
|
||||
* Add ```SRC += debounce.c``` in ```rules.mk```
|
||||
* Add your own ```debounce.c```. Look at current implementations in ```quantum/debounce``` for examples.
|
||||
?> `sym_defer_g` is the default if `DEBOUNCE_TYPE` is undefined.
|
||||
|
||||
?> `sym_eager_pr` is suitable for use in keyboards where refreshing `NUM_KEYS` 8-bit counters is computationally expensive or has low scan rate while fingers usually hit one row at a time. This could be appropriate for the ErgoDox models where the matrix is rotated 90°. Hence its "rows" are really columns and each finger only hits a single "row" at a time with normal usage.
|
||||
|
||||
### Implementing your own debouncing code
|
||||
|
||||
You have the option to implement you own debouncing algorithm with the following steps:
|
||||
|
||||
* Set `DEBOUNCE_TYPE = custom` in `rules.mk`.
|
||||
* Add `SRC += debounce.c` in `rules.mk`
|
||||
* Implement your own `debounce.c`. See `quantum/debounce` for examples.
|
||||
* Debouncing occurs after every raw matrix scan.
|
||||
* Use num_rows rather than MATRIX_ROWS, so that split keyboards are supported correctly.
|
||||
* If the algorithm might be applicable to other keyboards, please consider adding it to ```quantum/debounce```
|
||||
* Use num_rows instead of MATRIX_ROWS to support split keyboards correctly.
|
||||
* If your custom algorithm is applicable to other keyboards, please consider making a pull request.
|
||||
|
||||
@@ -434,6 +434,75 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
This allows you to toggle between scrolling and cursor movement by pressing the DRAG_SCROLL key.
|
||||
|
||||
### Advanced Drag Scroll
|
||||
|
||||
Sometimes, like with the Cirque trackpad, you will run into issues where the scrolling may be too fast.
|
||||
|
||||
Here is a slightly more advanced example of drag scrolling. You will be able to change the scroll speed based on the values in set in `SCROLL_DIVISOR_H` and `SCROLL_DIVISOR_V`. This bit of code is also set up so that instead of toggling the scrolling state with set_scrolling = !set_scrolling, the set_scrolling variable is set directly to record->event.pressed. This way, the drag scrolling will only be active while the DRAG_SCROLL button is held down.
|
||||
|
||||
```c
|
||||
enum custom_keycodes {
|
||||
DRAG_SCROLL = SAFE_RANGE,
|
||||
};
|
||||
|
||||
bool set_scrolling = false;
|
||||
|
||||
// Modify these values to adjust the scrolling speed
|
||||
#define SCROLL_DIVISOR_H 8.0
|
||||
#define SCROLL_DIVISOR_V 8.0
|
||||
|
||||
// Variables to store accumulated scroll values
|
||||
float scroll_accumulated_h = 0;
|
||||
float scroll_accumulated_v = 0;
|
||||
|
||||
// Function to handle mouse reports and perform drag scrolling
|
||||
report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
|
||||
// Check if drag scrolling is active
|
||||
if (set_scrolling) {
|
||||
// Calculate and accumulate scroll values based on mouse movement and divisors
|
||||
scroll_accumulated_h += (float)mouse_report.x / SCROLL_DIVISOR_H;
|
||||
scroll_accumulated_v += (float)mouse_report.y / SCROLL_DIVISOR_V;
|
||||
|
||||
// Assign integer parts of accumulated scroll values to the mouse report
|
||||
mouse_report.h = (int8_t)scroll_accumulated_h;
|
||||
mouse_report.v = (int8_t)scroll_accumulated_v;
|
||||
|
||||
// Update accumulated scroll values by subtracting the integer parts
|
||||
scroll_accumulated_h -= (int8_t)scroll_accumulated_h;
|
||||
scroll_accumulated_v -= (int8_t)scroll_accumulated_v;
|
||||
|
||||
// Clear the X and Y values of the mouse report
|
||||
mouse_report.x = 0;
|
||||
mouse_report.y = 0;
|
||||
}
|
||||
return mouse_report;
|
||||
}
|
||||
|
||||
// Function to handle key events and enable/disable drag scrolling
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case DRAG_SCROLL:
|
||||
// Toggle set_scrolling when DRAG_SCROLL key is pressed or released
|
||||
set_scrolling = record->event.pressed;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Function to handle layer changes and disable drag scrolling when not in AUTO_MOUSE_DEFAULT_LAYER
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// Disable set_scrolling if the current layer is not the AUTO_MOUSE_DEFAULT_LAYER
|
||||
if (get_highest_layer(state) != AUTO_MOUSE_DEFAULT_LAYER) {
|
||||
set_scrolling = false;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
## Split Examples
|
||||
|
||||
The following examples make use the `SPLIT_POINTING_ENABLE` functionality and show how to manipulate the mouse report for a scrolling mode.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Word Per Minute (WPM) Calculcation
|
||||
# Word Per Minute (WPM) Calculation
|
||||
|
||||
The WPM feature uses time between keystrokes to compute a rolling average words per minute rate and makes this available for various uses.
|
||||
|
||||
|
||||
@@ -35,6 +35,40 @@ To use a 5V/16MHz Pro Micro as an ISP flashing tool, you will first need to load
|
||||
|
||||
!> Note that the `10` pin on the Pro Micro should be wired to the `RESET` pin on the keyboard's controller. ***DO NOT*** connect the `RESET` pin on the Pro Micro to the `RESET` on the keyboard.
|
||||
|
||||
|
||||
### Arduino Uno / Micro as ISP
|
||||
|
||||
[Arduino Uno](https://store.arduino.cc/products/arduino-uno-rev3)
|
||||
[Arduino Micro](https://store.arduino.cc/products/arduino-micro)
|
||||
|
||||
A standard Uno or Micro can be used as an ISP flashing tool using the [example "ArduinoISP" sketch](https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP#load-the-sketch) to emulate an STK500 ISP. Also works with Sparkfun Pro Micros and clones.
|
||||
|
||||
**AVRDUDE Programmer**: `stk500v1`
|
||||
**AVRDUDE Port**: Serial
|
||||
|
||||
#### Wiring
|
||||
|
||||
|Uno |Keyboard|
|
||||
|-----------|--------|
|
||||
|`5V` |`VCC` |
|
||||
|`GND` |`GND` |
|
||||
|`10` (`B2`)|`RESET` |
|
||||
|`13` (`B5`)|`SCLK` |
|
||||
|`11` (`B3`)|`MOSI` |
|
||||
|`12` (`B4`)|`MISO` |
|
||||
|
||||
|Micro |Keyboard|
|
||||
|-----------|--------|
|
||||
|`5V` |`VCC` |
|
||||
|`GND` |`GND` |
|
||||
|`10` (`B6`)|`RESET` |
|
||||
|`15` (`B1`)|`SCLK` |
|
||||
|`16` (`B2`)|`MOSI` |
|
||||
|`14` (`B3`)|`MISO` |
|
||||
|
||||
!> Note that the `10` pin on the Uno/Micro should be wired to the `RESET` pin on the keyboard's controller. ***DO NOT*** connect the `RESET` pin on the Uno/Micro to the `RESET` on the keyboard.
|
||||
|
||||
|
||||
### Teensy 2.0 as ISP
|
||||
|
||||
[PJRC Teensy 2.0](https://www.pjrc.com/store/teensy.html)
|
||||
@@ -57,6 +91,7 @@ To use a Teensy 2.0 as an ISP flashing tool, you will first need to load a [spec
|
||||
|
||||
!> Note that the `B0` pin on the Teensy should be wired to the `RESET` pin on the keyboard's controller. ***DO NOT*** connect the `RESET` pin on the Teensy to the `RESET` on the keyboard.
|
||||
|
||||
|
||||
### SparkFun PocketAVR / USBtinyISP
|
||||
|
||||
[SparkFun PocketAVR](https://www.sparkfun.com/products/9825)
|
||||
|
||||
@@ -172,6 +172,8 @@ For example, to build a firmware for a Clueboard 66% you would use:
|
||||
|
||||
qmk compile -kb clueboard/66/rev3 -km default
|
||||
|
||||
?> The keyboard option is the path relative to the keyboard directory, the above example would be found in `qmk_firmware/keyboards/clueboard/66/rev3`. If you're unsure you can view a full list of supported keyboards with `qmk list-keyboards`.
|
||||
|
||||
When it is done you should have a lot of output that ends similar to this:
|
||||
|
||||
```
|
||||
|
||||
@@ -46,16 +46,7 @@ Before starting, you will want to make sure that you have all of the build tools
|
||||
|
||||
This part is super simple. However, there is some configuration that we need to do to ensure things are configured correctly.
|
||||
|
||||
### Configuring VS Code
|
||||
|
||||
First, we need to set up IntelliSense. This isn't strictly required, but it will make your life a LOT easier. To do this, we need to create the `.vscode/c_cpp_properties.json` file in the QMK Firmware folder, You can do this all manually, but I've done most of the work already.
|
||||
|
||||
Grab [this file](https://gist.github.com/drashna/48e2c49ce877be592a1650f91f8473e8) and save it. You may need to edit this file, if you didn't install MSYS2 to the default location, or are using WSL/LxSS.
|
||||
|
||||
Once you have saved this file, you will need to reload VS Code, if it was already running.
|
||||
|
||||
?> You should see an `extensions.json` and `settings.json` file in the `.vscode` folder, as well.
|
||||
|
||||
#### MSYS2 Setup
|
||||
|
||||
Now, we will set up the MSYS2 window to show up in VSCode as the integrated terminal. This has a number of advantages. Mostly, you can control+click on errors and jump to those files. This makes debugging much easier. It's also nice, in that you don't have to jump to another window.
|
||||
|
||||
@@ -101,17 +92,28 @@ No, really, that's it. The paths needed are already included when installing th
|
||||
|
||||
There are a number of extensions that you may want to install:
|
||||
|
||||
* [Git Extension Pack](https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack) -
|
||||
This installs a bunch of Git related tools that may make using Git with QMK Firmware easier.
|
||||
* [Git Extension Pack](https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack) - This installs a bunch of Git related tools that may make using Git with QMK Firmware easier.
|
||||
* [clangd](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd) - _[Optional]_ - This is the language server for C/C++ that VS Code uses. It provides IntelliSense and other features.
|
||||
* [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) - _[Optional]_ - Helps to keep the code to the QMK Coding Conventions.
|
||||
* [GitHub Markdown Preview](https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview) - _[Optional]_ - Makes the markdown preview in VS Code more like GitHub's.
|
||||
* [VS Live Share Extension Pack](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) - _[Optional]_ - This extension allows somebody else to access your workspace (or you to access somebody else's workspace) and help out. This is great if you're having issues and need some help from somebody.
|
||||
|
||||
Restart once you've installed any extensions
|
||||
Restart once you've installed any extensions.
|
||||
|
||||
# Configure VS Code for QMK
|
||||
|
||||
1. Click <kbd><kbd>File</kbd> > <kbd>Open Folder</kbd></kbd>
|
||||
2. Open the QMK Firmware folder that you cloned from GitHub.
|
||||
2. Open the QMK Firmware folder that you cloned from GitHub.
|
||||
3. Click <kbd><kbd>File</kbd> > <kbd>Save Workspace As...</kbd></kbd>
|
||||
|
||||
And now you're ready to code QMK Firmware in VS Code
|
||||
## Configuring VS Code
|
||||
|
||||
Using the [standard `compile_commands.json` database](https://clang.llvm.org/docs/JSONCompilationDatabase.html), we can get the VS code _clangd_ extension to use the correct includes and defines used for your keyboard and keymap.
|
||||
|
||||
1. Run `qmk generate-compilation-database -kb <keyboard> -km <keymap>` to generate the `compile_commands.json`.
|
||||
1. Inside VS code, press <kbd><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd></kbd> (macOS: <kbd><kbd>Command</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd></kbd>) to open the command palette.
|
||||
1. Start typing `clangd: Download Language Server` and select it when it appears. Note that this only needs to be done once on clangd extension installation, if it didn't already ask to do so.
|
||||
1. Inside VS code, press <kbd><kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd></kbd> (macOS: <kbd><kbd>Command</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd></kbd>) to open the command palette.
|
||||
1. Start typing `clangd: Restart Language Server` and select it when it appears.
|
||||
|
||||
Now you're ready to code QMK Firmware in VS Code!
|
||||
|
||||
@@ -53,6 +53,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
||||
|
||||
- keyboard moves within the repository *must* go through the `develop` branch instead of `master`, so as to ensure compatibility for users
|
||||
- `data/mappings/keyboard_aliases.hjson` must be updated to reflect the move, so users with pre-created configurator keymap.json files continue to detect the correct keyboard
|
||||
- keyboard updates and refactors (eg. to data driven) *must* go through `develop` to reduce `master` -> `develop` merge conflicts
|
||||
- PR submissions from a `kbfirmware` export (or equivalent) will not be accepted unless converted to new QMK standards -- try `qmk import-kbfirmware` first
|
||||
- `info.json`
|
||||
- With the move to [data driven](https://docs.qmk.fm/#/data_driven_config) keyboard configuration, we encourage contributors to utilise as many features as possible of the info.json [schema](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema).
|
||||
|
||||
71
keyboards/1upkeyboards/pi50/config.h
Normal file
71
keyboards/1upkeyboards/pi50/config.h
Normal file
@@ -0,0 +1,71 @@
|
||||
// Copyright 2023 ziptyze
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define OLED_DISPLAY_128X32
|
||||
#define I2C1_SCL_PIN GP11
|
||||
#define I2C1_SDA_PIN GP10
|
||||
#define I2C_DRIVER I2CD1
|
||||
#define OLED_BRIGHTNESS 128
|
||||
#define OLED_FONT_H "keyboards/1upkeyboards/pi50/lib/glcdfont.c"
|
||||
|
||||
#define RGB_DI_PIN GP0
|
||||
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
# define RGBLIGHT_LIMIT_VAL 150
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
|
||||
// RGB Matrix Animation modes. Explicitly enabled
|
||||
// For full list of effects, see:
|
||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_BREATHING
|
||||
# define ENABLE_RGB_MATRIX_BAND_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_VAL
|
||||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
# define ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
# define ENABLE_RGB_MATRIX_RAINDROPS
|
||||
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
# define ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||
# define ENABLE_RGB_MATRIX_HUE_WAVE
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# define ENABLE_RGB_MATRIX_SPLASH
|
||||
# define ENABLE_RGB_MATRIX_MULTISPLASH
|
||||
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
4
keyboards/1upkeyboards/pi50/grid/config.h
Normal file
4
keyboards/1upkeyboards/pi50/grid/config.h
Normal file
@@ -0,0 +1,4 @@
|
||||
// Copyright 2023 ziptyze (@ziptyze)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 60
|
||||
142
keyboards/1upkeyboards/pi50/grid/info.json
Normal file
142
keyboards/1upkeyboards/pi50/grid/info.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"rgb_matrix": {
|
||||
"layout": [
|
||||
{ "flags": 1, "matrix": [0, 0], "x": 10, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 0], "x": 28, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 1], "x": 46, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 1], "x": 65, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 2], "x": 84, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 2], "x": 102, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 3], "x": 121, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 3], "x": 140, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 4], "x": 159, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 4], "x": 177, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 5], "x": 196, "y": 7 },
|
||||
{ "flags": 1, "matrix": [1, 5], "x": 215, "y": 7 },
|
||||
|
||||
{ "flags": 1, "matrix": [3, 5], "x": 215, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 5], "x": 196, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 4], "x": 177, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 4], "x": 159, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 3], "x": 140, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 3], "x": 121, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 2], "x": 102, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 2], "x": 84, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 1], "x": 65, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 1], "x": 46, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 0], "x": 28, "y": 19 },
|
||||
{ "flags": 1, "matrix": [2, 0], "x": 9, "y": 19 },
|
||||
|
||||
{ "flags": 1, "matrix": [4, 0], "x": 9, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 0], "x": 28, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 1], "x": 46, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 1], "x": 65, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 2], "x": 84, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 2], "x": 102, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 3], "x": 121, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 3], "x": 140, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 4], "x": 159, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 4], "x": 177, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 5], "x": 196, "y": 32 },
|
||||
{ "flags": 1, "matrix": [5, 5], "x": 215, "y": 32 },
|
||||
|
||||
{ "flags": 1, "matrix": [7, 5], "x": 215, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 5], "x": 196, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 4], "x": 177, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 4], "x": 159, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 3], "x": 140, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 3], "x": 121, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 2], "x": 102, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 2], "x": 84, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 1], "x": 65, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 1], "x": 46, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 0], "x": 28, "y": 45 },
|
||||
{ "flags": 1, "matrix": [6, 0], "x": 9, "y": 45 },
|
||||
|
||||
{ "flags": 1, "matrix": [8, 0], "x": 9, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 0], "x": 28, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 1], "x": 46, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 1], "x": 65, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 2], "x": 84, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 2], "x": 102, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 3], "x": 140, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 4], "x": 159, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 4], "x": 177, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 5], "x": 196, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 5], "x": 215, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 3], "x": 121, "y": 57 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 6], "x": 11, "y": 0 },
|
||||
|
||||
{ "matrix": [0, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 0], "x": 1, "y": 1 },
|
||||
{ "matrix": [0, 1], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 3, "y": 1 },
|
||||
{ "matrix": [0, 2], "x": 4, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 5, "y": 1 },
|
||||
{ "matrix": [0, 3], "x": 6, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 7, "y": 1 },
|
||||
{ "matrix": [0, 4], "x": 8, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 9, "y": 1 },
|
||||
{ "matrix": [0, 5], "x": 10, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 11, "y": 1 },
|
||||
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [3, 0], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 2, "y": 2 },
|
||||
{ "matrix": [3, 1], "x": 3, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 4, "y": 2 },
|
||||
{ "matrix": [3, 2], "x": 5, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 6, "y": 2 },
|
||||
{ "matrix": [3, 3], "x": 7, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 8, "y": 2 },
|
||||
{ "matrix": [3, 4], "x": 9, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 10, "y": 2 },
|
||||
{ "matrix": [3, 5], "x": 11, "y": 2 },
|
||||
|
||||
{ "matrix": [4, 0], "x": 0, "y": 3 },
|
||||
{ "matrix": [5, 0], "x": 1, "y": 3 },
|
||||
{ "matrix": [4, 1], "x": 2, "y": 3 },
|
||||
{ "matrix": [5, 1], "x": 3, "y": 3 },
|
||||
{ "matrix": [4, 2], "x": 4, "y": 3 },
|
||||
{ "matrix": [5, 2], "x": 5, "y": 3 },
|
||||
{ "matrix": [4, 3], "x": 6, "y": 3 },
|
||||
{ "matrix": [5, 3], "x": 7, "y": 3 },
|
||||
{ "matrix": [4, 4], "x": 8, "y": 3 },
|
||||
{ "matrix": [5, 4], "x": 9, "y": 3 },
|
||||
{ "matrix": [4, 5], "x": 10, "y": 3 },
|
||||
{ "matrix": [5, 5], "x": 11, "y": 3 },
|
||||
|
||||
{ "matrix": [6, 0], "x": 0, "y": 4 },
|
||||
{ "matrix": [7, 0], "x": 1, "y": 4 },
|
||||
{ "matrix": [6, 1], "x": 2, "y": 4 },
|
||||
{ "matrix": [7, 1], "x": 3, "y": 4 },
|
||||
{ "matrix": [6, 2], "x": 4, "y": 4 },
|
||||
{ "matrix": [7, 2], "x": 5, "y": 4 },
|
||||
{ "matrix": [6, 3], "x": 6, "y": 4 },
|
||||
{ "matrix": [7, 3], "x": 7, "y": 4 },
|
||||
{ "matrix": [6, 4], "x": 8, "y": 4 },
|
||||
{ "matrix": [7, 4], "x": 9, "y": 4 },
|
||||
{ "matrix": [6, 5], "x": 10, "y": 4 },
|
||||
{ "matrix": [7, 5], "x": 11, "y": 4 },
|
||||
|
||||
{ "matrix": [8, 0], "x": 0, "y": 5 },
|
||||
{ "matrix": [9, 0], "x": 1, "y": 5 },
|
||||
{ "matrix": [8, 1], "x": 2, "y": 5 },
|
||||
{ "matrix": [9, 1], "x": 3, "y": 5 },
|
||||
{ "matrix": [8, 2], "x": 4, "y": 5 },
|
||||
{ "matrix": [9, 2], "x": 5, "y": 5 },
|
||||
{ "matrix": [8, 3], "x": 6, "y": 5 },
|
||||
{ "matrix": [9, 3], "x": 7, "y": 5 },
|
||||
{ "matrix": [8, 4], "x": 8, "y": 5 },
|
||||
{ "matrix": [9, 4], "x": 9, "y": 5 },
|
||||
{ "matrix": [8, 5], "x": 10, "y": 5 },
|
||||
{ "matrix": [9, 5], "x": 11, "y": 5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
0
keyboards/1upkeyboards/pi50/grid/rules.mk
Normal file
0
keyboards/1upkeyboards/pi50/grid/rules.mk
Normal file
7
keyboards/1upkeyboards/pi50/halconf.h
Normal file
7
keyboards/1upkeyboards/pi50/halconf.h
Normal file
@@ -0,0 +1,7 @@
|
||||
// Copyright 2023 ziptyze
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C TRUE
|
||||
|
||||
#include_next <halconf.h>
|
||||
42
keyboards/1upkeyboards/pi50/info.json
Normal file
42
keyboards/1upkeyboards/pi50/info.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"keyboard_name": "pi50",
|
||||
"manufacturer": "1upkeyboards",
|
||||
"maintainer": "ziptyze",
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"board": "GENERIC_RP_RP2040",
|
||||
"usb": {
|
||||
"vid": "0x6F75",
|
||||
"pid": "0x5606",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"dynamic_keymap": {
|
||||
"layer_count": 10
|
||||
},
|
||||
"features": {
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"rgb_matrix": true,
|
||||
"rgblight": false
|
||||
},
|
||||
"matrix_pins": {
|
||||
"rows": ["GP20", "GP15", "GP19", "GP14", "GP18", "GP13", "GP17", "GP12", "GP16", "GP21"],
|
||||
"cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP9"]
|
||||
},
|
||||
"encoder": {
|
||||
"enabled": true,
|
||||
"rotary": [
|
||||
{"pin_a": "GP8", "pin_b": "GP7"}
|
||||
]
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "WS2812"
|
||||
}
|
||||
}
|
||||
136
keyboards/1upkeyboards/pi50/keymaps/default/keymap.c
Normal file
136
keyboards/1upkeyboards/pi50/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,136 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_ONE = 0,
|
||||
_TWO,
|
||||
_THREE,
|
||||
_FOUR
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* |RGBTOG|
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ONE] = LAYOUT_ortho_5x12 (
|
||||
RGB_TOG,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
|
||||
MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_TWO] = LAYOUT_ortho_5x12 (
|
||||
KC_MUTE,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn| |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_THREE] = LAYOUT_ortho_5x12 (
|
||||
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_BSPC,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | Reset| Debug| | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_FOUR] = LAYOUT_ortho_5x12 (
|
||||
KC_MUTE,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
|
||||
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
|
||||
};
|
||||
#endif
|
||||
1
keyboards/1upkeyboards/pi50/keymaps/default/rules.mk
Normal file
1
keyboards/1upkeyboards/pi50/keymaps/default/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
286
keyboards/1upkeyboards/pi50/keymaps/via/keymap.c
Normal file
286
keyboards/1upkeyboards/pi50/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,286 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_ONE = 0,
|
||||
_TWO,
|
||||
_THREE,
|
||||
_FOUR,
|
||||
_FIVE,
|
||||
_SIX,
|
||||
_SEVEN,
|
||||
_EIGHT,
|
||||
_NINE,
|
||||
_TEN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* |RGBTOG|
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ONE] = LAYOUT_ortho_5x12 (
|
||||
RGB_TOG,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
|
||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
|
||||
MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_TWO] = LAYOUT_ortho_5x12 (
|
||||
KC_MUTE,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn| |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_THREE] = LAYOUT_ortho_5x12 (
|
||||
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_BSPC,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | MUTE |
|
||||
* v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | Reset| Debug| | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_FOUR] = LAYOUT_ortho_5x12 (
|
||||
KC_MUTE,
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
_______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
|
||||
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_FIVE] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_SIX] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_SEVEN] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_EIGHT] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_NINE] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* Placeholder
|
||||
* ╱⎺⎺⎺⎺╲
|
||||
* | |
|
||||
* ╲⎽⎽⎽⎽╱
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_TEN] = LAYOUT_ortho_5x12 (
|
||||
_______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
|
||||
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_FIVE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_SIX] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_SEVEN] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_EIGHT] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_NINE] = { ENCODER_CCW_CW(_______, _______) },
|
||||
[_TEN] = { ENCODER_CCW_CW(_______, _______) },
|
||||
};
|
||||
#endif
|
||||
4
keyboards/1upkeyboards/pi50/keymaps/via/rules.mk
Normal file
4
keyboards/1upkeyboards/pi50/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
231
keyboards/1upkeyboards/pi50/lib/glcdfont.c
Normal file
231
keyboards/1upkeyboards/pi50/lib/glcdfont.c
Normal file
@@ -0,0 +1,231 @@
|
||||
// Copyright 2022 @filterpaper
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#include "progmem.h"
|
||||
|
||||
static const unsigned char PROGMEM font[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
|
||||
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
|
||||
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
|
||||
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
|
||||
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
|
||||
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
|
||||
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
|
||||
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
|
||||
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
|
||||
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
|
||||
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
|
||||
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
|
||||
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
|
||||
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
|
||||
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
|
||||
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
|
||||
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
|
||||
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
|
||||
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
|
||||
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
|
||||
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
|
||||
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
|
||||
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
|
||||
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
|
||||
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
|
||||
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
|
||||
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
|
||||
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
|
||||
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
|
||||
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
|
||||
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
|
||||
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
|
||||
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
|
||||
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
|
||||
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
|
||||
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
|
||||
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
|
||||
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
|
||||
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
|
||||
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
|
||||
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
|
||||
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
|
||||
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
|
||||
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
|
||||
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
|
||||
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
|
||||
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
|
||||
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
|
||||
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
|
||||
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
|
||||
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
|
||||
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
|
||||
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
|
||||
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
|
||||
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
|
||||
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
|
||||
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
|
||||
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
|
||||
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
|
||||
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
|
||||
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
|
||||
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
|
||||
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
|
||||
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
|
||||
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
|
||||
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
|
||||
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
|
||||
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
|
||||
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
|
||||
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
|
||||
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
|
||||
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
|
||||
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
|
||||
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
|
||||
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
|
||||
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
|
||||
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
|
||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
|
||||
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
|
||||
0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
|
||||
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
|
||||
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
|
||||
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
|
||||
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
|
||||
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
|
||||
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
|
||||
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
|
||||
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
|
||||
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
|
||||
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
|
||||
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
|
||||
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
|
||||
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
|
||||
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
|
||||
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
|
||||
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
|
||||
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
|
||||
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
|
||||
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
|
||||
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
|
||||
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
|
||||
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
|
||||
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
|
||||
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
|
||||
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
|
||||
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
|
||||
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
|
||||
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xE0, 0x18, 0x02,
|
||||
0x00, 0x3C, 0x1E, 0x06, 0x0E, 0x0A,
|
||||
0x1A, 0x0E, 0x26, 0xFF, 0xBF, 0x0D,
|
||||
0x00, 0x80, 0x80, 0x81, 0xFF, 0xFE,
|
||||
0xF8, 0x01, 0x01, 0x03, 0x03, 0x03,
|
||||
0x03, 0x05, 0x05, 0x02, 0x02, 0x0A,
|
||||
0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
|
||||
0x0C, 0x04, 0x10, 0x18, 0x20, 0xC0,
|
||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xD0, 0x58, 0x78,
|
||||
0x68, 0x2C, 0x24, 0x34, 0xF4, 0xF4,
|
||||
0x3C, 0x3C, 0xFC, 0xF8, 0xF8, 0x70,
|
||||
0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xC0, 0x7C, 0x07, 0x80, 0xE0,
|
||||
0x60, 0x64, 0xE2, 0x60, 0x10, 0x10,
|
||||
0x20, 0x22, 0x12, 0x17, 0x3F, 0x0B,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
|
||||
0x6F, 0xFC, 0xE0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||
0x60, 0x60, 0x70, 0x70, 0xF0, 0xF0,
|
||||
0xD0, 0xD0, 0xD0, 0xD0, 0x50, 0x50,
|
||||
0x50, 0x70, 0x78, 0x78, 0x78, 0x7C,
|
||||
0x7F, 0x7D, 0x7C, 0x5E, 0x4F, 0x44,
|
||||
0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x38, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x30, 0x58, 0x46, 0x47, 0x41,
|
||||
0x41, 0x01, 0x01, 0x03, 0x03, 0x42,
|
||||
0x42, 0x42, 0x46, 0x46, 0x46, 0x46,
|
||||
0x42, 0x43, 0x43, 0x73, 0x77, 0x72,
|
||||
0x70, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x60, 0x61, 0x67, 0x6F, 0x7E, 0x78,
|
||||
0x78, 0x70, 0x70, 0x70, 0x70, 0x70,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x40, 0x40, 0x40, 0x48, 0x58, 0x58,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
10
keyboards/1upkeyboards/pi50/mcuconf.h
Normal file
10
keyboards/1upkeyboards/pi50/mcuconf.h
Normal file
@@ -0,0 +1,10 @@
|
||||
// Copyright 2023 ziptyze
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef RP_I2C_USE_I2C0
|
||||
#undef RP_I2C_USE_I2C1
|
||||
#define RP_I2C_USE_I2C0 FALSE
|
||||
#define RP_I2C_USE_I2C1 TRUE
|
||||
4
keyboards/1upkeyboards/pi50/mit/config.h
Normal file
4
keyboards/1upkeyboards/pi50/mit/config.h
Normal file
@@ -0,0 +1,4 @@
|
||||
// Copyright 2023 ziptyze (@ziptyze)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 59
|
||||
141
keyboards/1upkeyboards/pi50/mit/info.json
Normal file
141
keyboards/1upkeyboards/pi50/mit/info.json
Normal file
@@ -0,0 +1,141 @@
|
||||
{
|
||||
"rgb_matrix": {
|
||||
"layout": [
|
||||
{ "flags": 1, "matrix": [0, 0], "x": 10, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 0], "x": 28, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 1], "x": 46, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 1], "x": 65, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 2], "x": 84, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 2], "x": 102, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 3], "x": 121, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 3], "x": 140, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 4], "x": 159, "y": 7 },
|
||||
{ "flags": 4, "matrix": [1, 4], "x": 177, "y": 7 },
|
||||
{ "flags": 4, "matrix": [0, 5], "x": 196, "y": 7 },
|
||||
{ "flags": 1, "matrix": [1, 5], "x": 215, "y": 7 },
|
||||
|
||||
{ "flags": 1, "matrix": [3, 5], "x": 215, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 5], "x": 196, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 4], "x": 177, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 4], "x": 159, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 3], "x": 140, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 3], "x": 121, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 2], "x": 102, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 2], "x": 84, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 1], "x": 65, "y": 19 },
|
||||
{ "flags": 4, "matrix": [2, 1], "x": 46, "y": 19 },
|
||||
{ "flags": 4, "matrix": [3, 0], "x": 28, "y": 19 },
|
||||
{ "flags": 1, "matrix": [2, 0], "x": 9, "y": 19 },
|
||||
|
||||
{ "flags": 1, "matrix": [4, 0], "x": 9, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 0], "x": 28, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 1], "x": 46, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 1], "x": 65, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 2], "x": 84, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 2], "x": 102, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 3], "x": 121, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 3], "x": 140, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 4], "x": 159, "y": 32 },
|
||||
{ "flags": 4, "matrix": [5, 4], "x": 177, "y": 32 },
|
||||
{ "flags": 4, "matrix": [4, 5], "x": 196, "y": 32 },
|
||||
{ "flags": 1, "matrix": [5, 5], "x": 215, "y": 32 },
|
||||
|
||||
{ "flags": 1, "matrix": [7, 5], "x": 215, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 5], "x": 196, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 4], "x": 177, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 4], "x": 159, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 3], "x": 140, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 3], "x": 121, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 2], "x": 102, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 2], "x": 84, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 1], "x": 65, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 1], "x": 46, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 0], "x": 28, "y": 45 },
|
||||
{ "flags": 4, "matrix": [6, 0], "x": 9, "y": 45 },
|
||||
|
||||
{ "flags": 1, "matrix": [8, 0], "x": 9, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 0], "x": 28, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 1], "x": 46, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 1], "x": 65, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 2], "x": 84, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 2], "x": 112, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 3], "x": 140, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 4], "x": 159, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 4], "x": 177, "y": 57 },
|
||||
{ "flags": 1, "matrix": [8, 5], "x": 196, "y": 57 },
|
||||
{ "flags": 1, "matrix": [9, 5], "x": 215, "y": 57 }
|
||||
]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 6], "x": 11, "y": 0 },
|
||||
|
||||
{ "matrix": [0, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [1, 0], "x": 1, "y": 1 },
|
||||
{ "matrix": [0, 1], "x": 2, "y": 1 },
|
||||
{ "matrix": [1, 1], "x": 3, "y": 1 },
|
||||
{ "matrix": [0, 2], "x": 4, "y": 1 },
|
||||
{ "matrix": [1, 2], "x": 5, "y": 1 },
|
||||
{ "matrix": [0, 3], "x": 6, "y": 1 },
|
||||
{ "matrix": [1, 3], "x": 7, "y": 1 },
|
||||
{ "matrix": [0, 4], "x": 8, "y": 1 },
|
||||
{ "matrix": [1, 4], "x": 9, "y": 1 },
|
||||
{ "matrix": [0, 5], "x": 10, "y": 1 },
|
||||
{ "matrix": [1, 5], "x": 11, "y": 1 },
|
||||
|
||||
{ "matrix": [2, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [3, 0], "x": 1, "y": 2 },
|
||||
{ "matrix": [2, 1], "x": 2, "y": 2 },
|
||||
{ "matrix": [3, 1], "x": 3, "y": 2 },
|
||||
{ "matrix": [2, 2], "x": 4, "y": 2 },
|
||||
{ "matrix": [3, 2], "x": 5, "y": 2 },
|
||||
{ "matrix": [2, 3], "x": 6, "y": 2 },
|
||||
{ "matrix": [3, 3], "x": 7, "y": 2 },
|
||||
{ "matrix": [2, 4], "x": 8, "y": 2 },
|
||||
{ "matrix": [3, 4], "x": 9, "y": 2 },
|
||||
{ "matrix": [2, 5], "x": 10, "y": 2 },
|
||||
{ "matrix": [3, 5], "x": 11, "y": 2 },
|
||||
|
||||
{ "matrix": [4, 0], "x": 0, "y": 3 },
|
||||
{ "matrix": [5, 0], "x": 1, "y": 3 },
|
||||
{ "matrix": [4, 1], "x": 2, "y": 3 },
|
||||
{ "matrix": [5, 1], "x": 3, "y": 3 },
|
||||
{ "matrix": [4, 2], "x": 4, "y": 3 },
|
||||
{ "matrix": [5, 2], "x": 5, "y": 3 },
|
||||
{ "matrix": [4, 3], "x": 6, "y": 3 },
|
||||
{ "matrix": [5, 3], "x": 7, "y": 3 },
|
||||
{ "matrix": [4, 4], "x": 8, "y": 3 },
|
||||
{ "matrix": [5, 4], "x": 9, "y": 3 },
|
||||
{ "matrix": [4, 5], "x": 10, "y": 3 },
|
||||
{ "matrix": [5, 5], "x": 11, "y": 3 },
|
||||
|
||||
{ "matrix": [6, 0], "x": 0, "y": 4 },
|
||||
{ "matrix": [7, 0], "x": 1, "y": 4 },
|
||||
{ "matrix": [6, 1], "x": 2, "y": 4 },
|
||||
{ "matrix": [7, 1], "x": 3, "y": 4 },
|
||||
{ "matrix": [6, 2], "x": 4, "y": 4 },
|
||||
{ "matrix": [7, 2], "x": 5, "y": 4 },
|
||||
{ "matrix": [6, 3], "x": 6, "y": 4 },
|
||||
{ "matrix": [7, 3], "x": 7, "y": 4 },
|
||||
{ "matrix": [6, 4], "x": 8, "y": 4 },
|
||||
{ "matrix": [7, 4], "x": 9, "y": 4 },
|
||||
{ "matrix": [6, 5], "x": 10, "y": 4 },
|
||||
{ "matrix": [7, 5], "x": 11, "y": 4 },
|
||||
|
||||
{ "matrix": [8, 0], "x": 0, "y": 5 },
|
||||
{ "matrix": [9, 0], "x": 1, "y": 5 },
|
||||
{ "matrix": [8, 1], "x": 2, "y": 5 },
|
||||
{ "matrix": [9, 1], "x": 3, "y": 5 },
|
||||
{ "matrix": [8, 2], "x": 4, "y": 5 },
|
||||
{ "matrix": [9, 2], "x": 5, "y": 5 },
|
||||
{ "matrix": [8, 3], "x": 6, "y": 5 },
|
||||
{ "matrix": [9, 3], "x": 7, "y": 5 },
|
||||
{ "matrix": [8, 4], "x": 8, "y": 5 },
|
||||
{ "matrix": [9, 4], "x": 9, "y": 5 },
|
||||
{ "matrix": [8, 5], "x": 10, "y": 5 },
|
||||
{ "matrix": [9, 5], "x": 11, "y": 5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
0
keyboards/1upkeyboards/pi50/mit/rules.mk
Normal file
0
keyboards/1upkeyboards/pi50/mit/rules.mk
Normal file
242
keyboards/1upkeyboards/pi50/pi50.c
Normal file
242
keyboards/1upkeyboards/pi50/pi50.c
Normal file
@@ -0,0 +1,242 @@
|
||||
/* Copyright 2023 ziptyze
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#if defined(RGB_MATRIX_EFFECT)
|
||||
# undef RGB_MATRIX_EFFECT
|
||||
#endif // defined(RGB_MATRIX_EFFECT)
|
||||
|
||||
#define RGB_MATRIX_EFFECT(x) RGB_MATRIX_EFFECT_##x,
|
||||
enum {
|
||||
RGB_MATRIX_EFFECT_NONE,
|
||||
#include "rgb_matrix_effects.inc"
|
||||
#undef RGB_MATRIX_EFFECT
|
||||
#ifdef RGB_MATRIX_CUSTOM_KB
|
||||
# include "rgb_matrix_kb.inc"
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_CUSTOM_USER
|
||||
# include "rgb_matrix_user.inc"
|
||||
#endif
|
||||
};
|
||||
|
||||
#define RGB_MATRIX_EFFECT(x) \
|
||||
case RGB_MATRIX_EFFECT_##x: \
|
||||
return #x;
|
||||
const char* rgb_matrix_name(uint8_t effect) {
|
||||
switch (effect) {
|
||||
case RGB_MATRIX_EFFECT_NONE:
|
||||
return "NONE";
|
||||
#include "rgb_matrix_effects.inc"
|
||||
#undef RGB_MATRIX_EFFECT
|
||||
#ifdef RGB_MATRIX_CUSTOM_KB
|
||||
# include "rgb_matrix_kb.inc"
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_CUSTOM_USER
|
||||
# include "rgb_matrix_user.inc"
|
||||
#endif
|
||||
default:
|
||||
return "UNKNOWN";
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
static uint32_t oled_logo_timer = 0;
|
||||
static bool clear_logo = true;
|
||||
static const char PROGMEM my_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||
0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||
0x0f, 0x0f, 0x0f, 0x1f, 0xff, 0xff, 0xff, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
|
||||
0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
|
||||
0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xfb,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
void init_timer(void){
|
||||
oled_logo_timer = timer_read32();
|
||||
};
|
||||
|
||||
void user_oled_magic(void) {
|
||||
// Host Keyboard Layer Status
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case 0:
|
||||
oled_write_P(PSTR("One\n"), false);
|
||||
break;
|
||||
case 1:
|
||||
oled_write_P(PSTR("Two\n"), false);
|
||||
break;
|
||||
case 2:
|
||||
oled_write_P(PSTR("Three\n"), false);
|
||||
break;
|
||||
case 3:
|
||||
oled_write_P(PSTR("Four\n"), false);
|
||||
break;
|
||||
case 4:
|
||||
oled_write_P(PSTR("Five\n"), false);
|
||||
break;
|
||||
case 5:
|
||||
oled_write_P(PSTR("Six\n"), false);
|
||||
break;
|
||||
case 6:
|
||||
oled_write_P(PSTR("Seven\n"), false);
|
||||
break;
|
||||
case 7:
|
||||
oled_write_P(PSTR("Eight\n"), false);
|
||||
break;
|
||||
case 8:
|
||||
oled_write_P(PSTR("Nine\n"), false);
|
||||
break;
|
||||
case 9:
|
||||
oled_write_P(PSTR("Ten\n"), false);
|
||||
break;
|
||||
default:
|
||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||
oled_write_ln_P(PSTR("Undefined"), false);
|
||||
}
|
||||
|
||||
// Host Keyboard LED Status
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_P(led_state.caps_lock ? PSTR("Cap(x) ") : PSTR("Cap( ) "), false);
|
||||
oled_write_P(led_state.num_lock ? PSTR("Num(x) ") : PSTR("Num( ) "), false);
|
||||
oled_write_P(led_state.scroll_lock ? PSTR("Scrl(x)") : PSTR("Scrl( )"), false);
|
||||
|
||||
char *mode_name = strdup(rgb_matrix_name(rgb_matrix_get_mode()));
|
||||
if (mode_name != NULL) {
|
||||
int len = strlen(mode_name);
|
||||
bool capitalize_next = true;
|
||||
for (int i = 0; i < len; i++) {
|
||||
if (i == 21 && mode_name[i] == '_') {
|
||||
continue; // Skip the underscore if it's the 22nd character
|
||||
}
|
||||
if (mode_name[i] == '_') {
|
||||
mode_name[i] = ' ';
|
||||
capitalize_next = true;
|
||||
} else if (capitalize_next) {
|
||||
mode_name[i] = mode_name[i] >= 'a' && mode_name[i] <= 'z' ? mode_name[i] - 'a' + 'A' : mode_name[i];
|
||||
capitalize_next = false;
|
||||
} else {
|
||||
mode_name[i] = mode_name[i] >= 'A' && mode_name[i] <= 'Z' ? mode_name[i] - 'A' + 'a' : mode_name[i];
|
||||
}
|
||||
}
|
||||
|
||||
// Add line break and spaces if necessary
|
||||
if (len < 19) {
|
||||
strcat(mode_name, "\n");
|
||||
for (int i = 0; i < 21; i++) {
|
||||
strcat(mode_name, " ");
|
||||
}
|
||||
} else {
|
||||
// Find the most recent ' ' before the 21st character and replace it with a line break
|
||||
int break_pos = -1;
|
||||
for (int i = 18; i >= 0; i--) {
|
||||
if (mode_name[i] == ' ') {
|
||||
break_pos = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (break_pos >= 0) {
|
||||
mode_name[break_pos] = '\n';
|
||||
for (int i = 0; i < (21 - (len - break_pos - 1)); i++) {
|
||||
strcat(mode_name, " ");
|
||||
}
|
||||
} else {
|
||||
// No '_' found, just add spaces
|
||||
for (int i = 0; i < (21 - len); i++) {
|
||||
strcat(mode_name, " ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
oled_write_P(PSTR(mode_name), false);
|
||||
free(mode_name);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void render_logo(void) {
|
||||
oled_write_raw_P(my_logo, sizeof(my_logo));
|
||||
}
|
||||
|
||||
void clear_screen(void) {
|
||||
if (clear_logo){
|
||||
for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
|
||||
for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
|
||||
oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j);
|
||||
}
|
||||
}
|
||||
clear_logo = false;
|
||||
}
|
||||
}
|
||||
|
||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
init_timer();
|
||||
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
|
||||
# define SHOW_LOGO 5000
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) { return false; }
|
||||
if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){
|
||||
render_logo();
|
||||
}else{
|
||||
clear_screen();
|
||||
user_oled_magic();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
36
keyboards/1upkeyboards/pi50/readme.md
Normal file
36
keyboards/1upkeyboards/pi50/readme.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# pi50
|
||||
|
||||
The pi40 is a 5x12 ortholinear keyboard with options for a 1u or 2u spacebar using a Raspberry Pi Pico for the controller.
|
||||
|
||||
It includes options for a rotary encoder, SSD1306 oled, and per-key in-switch RGB LEDs.
|
||||
|
||||
All unused GPIO pins are broken out on the main pcb, as well as the available voltage pins.
|
||||
|
||||
This firmware also includes the option for VIA which includes configuration options for the rotary encoder, matrix lighting, and up to 10 layers.
|
||||
|
||||
Default oled configuration displays:
|
||||
- current layer
|
||||
- caps lock status
|
||||
- num lock status
|
||||
- scroll lock status
|
||||
- current RGB lighting mode
|
||||
|
||||
* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
|
||||
* Hardware Availability: (https://1upkeyboards.com/shop/keyboard-kits/diy-40-kits/pi50-keyboard-kit/#pcb-color)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 1upkeyboards/pi50:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 1upkeyboards/pi50:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 2 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix, the top left key, and plug in the keyboard
|
||||
* **BOOTSEL button**: Hold down the BOOTSEL button on the pico, and plug in the keyboard
|
||||
5
keyboards/1upkeyboards/pi50/rules.mk
Normal file
5
keyboards/1upkeyboards/pi50/rules.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
WS2812_DRIVER = vendor
|
||||
|
||||
OLED_ENABLE = yes
|
||||
|
||||
DEFAULT_FOLDER = 1upkeyboards/pi50/grid
|
||||
22
keyboards/40percentclub/gherkin/kb2040/readme.md
Normal file
22
keyboards/40percentclub/gherkin/kb2040/readme.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Gherkin
|
||||
|
||||

|
||||

|
||||
|
||||
===
|
||||
|
||||
A 30 key keyboard with Adafruit's KB2040 as microcontroller.
|
||||
|
||||
* [The original TMK firmware](https://github.com/di0ib/tmk_keyboard/tree/master/keyboard/gherkin)
|
||||
|
||||
Keyboard Maintainer: QMK Community
|
||||
Hardware Supported: Gherkin PCB & Adafruit KB2040
|
||||
Hardware Availability: [Gherkin project on 40% Keyboards](http://www.40percent.club/2016/11/gherkin.html) and [Adafruit KB2040](https://www.adafruit.com/product/5302)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 40percentclub/gherkin/kb2040:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
Use the KB2040 microcontroller as a drop-in replacement for the Pro Micro in this cute 30% keyboard.
|
||||
1
keyboards/40percentclub/gherkin/kb2040/rules.mk
Normal file
1
keyboards/40percentclub/gherkin/kb2040/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
CONVERT_TO = kb2040
|
||||
@@ -1,6 +1,6 @@
|
||||
# Gherkin
|
||||
|
||||

|
||||

|
||||
===
|
||||
|
||||
A 30 key keyboard.
|
||||
|
||||
155
keyboards/4pplet/aekiso60/info.json
Normal file
155
keyboards/4pplet/aekiso60/info.json
Normal file
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"manufacturer": "4pplet",
|
||||
"url": "",
|
||||
"maintainer": "4pplet",
|
||||
"usb": {
|
||||
"vid": "0x4444"
|
||||
},
|
||||
"community_layouts": [
|
||||
"60_iso_tsangan"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0, "w": 1.25},
|
||||
{"label": "1", "matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"label": "2", "matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"label": "3", "matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"label": "4", "matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"label": "5", "matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"label": "6", "matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"label": "7", "matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"label": "8", "matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"label": "9", "matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"label": "0", "matrix": [0, 10], "x": 10.25, "y": 0},
|
||||
{"label": "-", "matrix": [0, 11], "x": 11.25, "y": 0},
|
||||
{"label": "=", "matrix": [0, 12], "x": 12.25, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 13], "x": 13.25, "y": 0, "w": 1.75},
|
||||
|
||||
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.75},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.75, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.75, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.75, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.75, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"label": "[", "matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"label": "]", "matrix": [1, 12], "x": 12.75, "y": 1},
|
||||
|
||||
{"label": "Ctrl", "matrix": [2, 0], "x": 0, "y": 2, "w": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 2, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 3, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 4, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 5, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 6, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 7, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 8, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 9, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 10, "y": 2},
|
||||
{"label": ";", "matrix": [2, 10], "x": 11, "y": 2},
|
||||
{"label": "'", "matrix": [2, 11], "x": 12, "y": 2},
|
||||
{"label": "#", "matrix": [2, 12], "x": 13, "y": 2},
|
||||
{"label": "Enter", "matrix": [1, 13], "x": 14, "y": 1, "h": 2},
|
||||
|
||||
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"label": "\\", "matrix": [3, 1], "x": 1.5, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.5, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.5, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.5, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.5, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.5, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.5, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"label": ",", "matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"label": ".", "matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"label": "/", "matrix": [3, 11], "x": 11.5, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "x": 12.5, "y": 3, "w": 1.5},
|
||||
{"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [4, 3], "x": 2.75, "y": 4, "w": 1.5},
|
||||
{"label": "\u25bd", "matrix": [4, 4], "x": 4.25, "y": 4, "w": 2.75},
|
||||
{"label": "Space", "matrix": [4, 5], "x": 7, "y": 4},
|
||||
{"label": "\u25bd", "matrix": [4, 6], "x": 8, "y": 4, "w": 2.75},
|
||||
{"label": "Alt", "matrix": [4, 8], "x": 10.75, "y": 4, "w": 1.5},
|
||||
{"label": "GUI", "matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_60_iso_tsangan": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0, "w": 1.25},
|
||||
{"label": "1", "matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"label": "2", "matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"label": "3", "matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"label": "4", "matrix": [0, 4], "x": 4.25, "y": 0},
|
||||
{"label": "5", "matrix": [0, 5], "x": 5.25, "y": 0},
|
||||
{"label": "6", "matrix": [0, 6], "x": 6.25, "y": 0},
|
||||
{"label": "7", "matrix": [0, 7], "x": 7.25, "y": 0},
|
||||
{"label": "8", "matrix": [0, 8], "x": 8.25, "y": 0},
|
||||
{"label": "9", "matrix": [0, 9], "x": 9.25, "y": 0},
|
||||
{"label": "0", "matrix": [0, 10], "x": 10.25, "y": 0},
|
||||
{"label": "-", "matrix": [0, 11], "x": 11.25, "y": 0},
|
||||
{"label": "=", "matrix": [0, 12], "x": 12.25, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 13], "x": 13.25, "y": 0, "w": 1.75},
|
||||
|
||||
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.75},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.75, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.75, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.75, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.75, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"label": "[", "matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"label": "]", "matrix": [1, 12], "x": 12.75, "y": 1},
|
||||
|
||||
{"label": "Ctrl", "matrix": [2, 0], "x": 0, "y": 2, "w": 2},
|
||||
{"label": "A", "matrix": [2, 1], "x": 2, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 3, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 4, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 5, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 6, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 7, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 8, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 9, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 10, "y": 2},
|
||||
{"label": ";", "matrix": [2, 10], "x": 11, "y": 2},
|
||||
{"label": "'", "matrix": [2, 11], "x": 12, "y": 2},
|
||||
{"label": "#", "matrix": [2, 12], "x": 13, "y": 2},
|
||||
{"label": "Enter", "matrix": [1, 13], "x": 14, "y": 1, "h": 2},
|
||||
|
||||
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"label": "\\", "matrix": [3, 1], "x": 1.5, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.5, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.5, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.5, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.5, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.5, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.5, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"label": ",", "matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"label": ".", "matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"label": "/", "matrix": [3, 11], "x": 11.5, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "x": 12.5, "y": 3, "w": 2.5},
|
||||
|
||||
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [4, 3], "x": 2.75, "y": 4, "w": 1.5},
|
||||
{"label": "Space", "matrix": [4, 5], "x": 4.25, "y": 4, "w": 6.5},
|
||||
{"label": "Alt", "matrix": [4, 8], "x": 10.75, "y": 4, "w": 1.5},
|
||||
{"label": "GUI", "matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
33
keyboards/4pplet/aekiso60/matrix_diagram.md
Normal file
33
keyboards/4pplet/aekiso60/matrix_diagram.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Matrix Diagram for 4pplet AEKISO60 (Revs. A and B)
|
||||
|
||||
```
|
||||
┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
|
||||
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │
|
||||
├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │
|
||||
├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1d │
|
||||
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │
|
||||
├─────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────────┐
|
||||
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │ │3c │ 2.75u RShift
|
||||
├─────┼───┴┬──┴──┬┴───┴───┴─┬─┴─┬─┴───┴───┴┬──┴──┬┴───┬─┴───┤ └─────────┘
|
||||
│40 │41 │43 │44 │45 │46 │48 │4a │4b │
|
||||
└─────┴────┴─────┴──────────┴───┴──────────┴─────┴────┴─────┘
|
||||
┌─────┬────┬─────┬─────────────────────────┬─────┬────┬─────┐ ─┐
|
||||
│40 │41 │43 │45 │48 │4a │4b │ ├─ Tsangan
|
||||
└─────┴────┴─────┴─────────────────────────┴─────┴────┴─────┘ │
|
||||
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ │
|
||||
│40 │41 │43 │45 │48 │4a │4b │ │
|
||||
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ ─┘
|
||||
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
│40 │ │43 │45 │48 │ │4b │ WKL
|
||||
└─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
|
||||
┌─────┬────┬─────┬─────────┬─────┬─────────┬─────┬────┬─────┐ ─┐
|
||||
│40 │41 │43 │44 │45 │46 │48 │4a │4b │ ├─ same matrix as LAYOUT_all
|
||||
└─────┴────┴─────┴─────────┴─────┴─────────┴─────┴────┴─────┘ │
|
||||
┌─────┬────┬─────┬────────┬─────┬──────────┬─────┬────┬─────┐ │
|
||||
│40 │41 │43 │44 │45 │46 │48 │4a │4b │ │
|
||||
└─────┴────┴─────┴────────┴─────┴──────────┴─────┴────┴─────┘ │
|
||||
┌─────┬────┬─────┬─────────┬────┬──────────┬─────┬────┬─────┐ │
|
||||
│40 │41 │43 │44 │45 │46 │48 │4a │4b │ │
|
||||
└─────┴────┴─────┴─────────┴────┴──────────┴─────┴────┴─────┘ ─┘
|
||||
```
|
||||
@@ -1,10 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "AEKISO60 Rev A",
|
||||
"manufacturer": "4pplet",
|
||||
"url": "",
|
||||
"maintainer": "4pplet",
|
||||
"usb": {
|
||||
"vid": "0x4444",
|
||||
"pid": "0x0001",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
@@ -13,79 +9,5 @@
|
||||
"esc_output": "C4"
|
||||
},
|
||||
"processor": "atmega32u2",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0, "w":1.25},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.25, "y":0},
|
||||
{"x":6.25, "y":0},
|
||||
{"x":7.25, "y":0},
|
||||
{"x":8.25, "y":0},
|
||||
{"x":9.25, "y":0},
|
||||
{"x":10.25, "y":0},
|
||||
{"x":11.25, "y":0},
|
||||
{"x":12.25, "y":0},
|
||||
{"x":13.25, "y":0, "w":1.75},
|
||||
|
||||
{"x":0, "y":1, "w":1.75},
|
||||
{"x":1.75, "y":1},
|
||||
{"x":2.75, "y":1},
|
||||
{"x":3.75, "y":1},
|
||||
{"x":4.75, "y":1},
|
||||
{"x":5.75, "y":1},
|
||||
{"x":6.75, "y":1},
|
||||
{"x":7.75, "y":1},
|
||||
{"x":8.75, "y":1},
|
||||
{"x":9.75, "y":1},
|
||||
{"x":10.75, "y":1},
|
||||
{"x":11.75, "y":1},
|
||||
{"x":12.75, "y":1},
|
||||
|
||||
{"x":0, "y":2, "w":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":1, "h":2},
|
||||
|
||||
{"x":0, "y":3, "w":1.5},
|
||||
{"x":1.5, "y":3},
|
||||
{"x":2.5, "y":3},
|
||||
{"x":3.5, "y":3},
|
||||
{"x":4.5, "y":3},
|
||||
{"x":5.5, "y":3},
|
||||
{"x":6.5, "y":3},
|
||||
{"x":7.5, "y":3},
|
||||
{"x":8.5, "y":3},
|
||||
{"x":9.5, "y":3},
|
||||
{"x":10.5, "y":3},
|
||||
{"x":11.5, "y":3},
|
||||
{"x":12.5, "y":3, "w":1.5},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4, "w":1.5},
|
||||
{"x":1.5, "y":4, "w":1.25},
|
||||
{"x":2.75, "y":4, "w":1.5},
|
||||
{"x":4.25, "y":4, "w":2.75},
|
||||
{"x":7, "y":4},
|
||||
{"x":8, "y":4, "w":2.75},
|
||||
{"x":10.75, "y":4, "w":1.5},
|
||||
{"x":12.25, "y":4, "w":1.25},
|
||||
{"x":13.5, "y":4, "w":1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
"bootloader": "atmel-dfu"
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
#include "rev_a.h"
|
||||
@@ -1,31 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* LAYOUT_all
|
||||
* ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │
|
||||
* ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │
|
||||
* ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1d │
|
||||
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │
|
||||
* ├─────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
|
||||
* ├─────┼───┴┬──┴──┬┴───┴───┴─┬─┴─┬─┴───┴───┴┬──┴──┬┴───┬─┴───┤
|
||||
* │40 │41 │43 │44 │45 │46 │48 │4a │4b │
|
||||
* └─────┴────┴─────┴──────────┴───┴──────────┴─────┴────┴─────┘
|
||||
*/
|
||||
#define LAYOUT_all( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k1d, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
|
||||
k40, k41, k43, k44, k45, k46, k48, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
|
||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
|
||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, KC_NO},\
|
||||
{k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
|
||||
{k40, k41, KC_NO, k43, k44, k45, k46, KC_NO, k48, KC_NO, k4a, k4b, KC_NO, KC_NO} \
|
||||
}
|
||||
@@ -1,10 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "AEKISO60 Rev B",
|
||||
"manufacturer": "4pplet",
|
||||
"url": "",
|
||||
"maintainer": "4pplet",
|
||||
"usb": {
|
||||
"vid": "0x4444",
|
||||
"pid": "0x0011",
|
||||
"device_version": "0.0.2"
|
||||
},
|
||||
@@ -12,79 +8,5 @@
|
||||
"caps_lock": "A10"
|
||||
},
|
||||
"processor": "STM32F072",
|
||||
"bootloader": "stm32-dfu",
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0, "w":1.25},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.25, "y":0},
|
||||
{"x":6.25, "y":0},
|
||||
{"x":7.25, "y":0},
|
||||
{"x":8.25, "y":0},
|
||||
{"x":9.25, "y":0},
|
||||
{"x":10.25, "y":0},
|
||||
{"x":11.25, "y":0},
|
||||
{"x":12.25, "y":0},
|
||||
{"x":13.25, "y":0, "w":1.75},
|
||||
|
||||
{"x":0, "y":1, "w":1.75},
|
||||
{"x":1.75, "y":1},
|
||||
{"x":2.75, "y":1},
|
||||
{"x":3.75, "y":1},
|
||||
{"x":4.75, "y":1},
|
||||
{"x":5.75, "y":1},
|
||||
{"x":6.75, "y":1},
|
||||
{"x":7.75, "y":1},
|
||||
{"x":8.75, "y":1},
|
||||
{"x":9.75, "y":1},
|
||||
{"x":10.75, "y":1},
|
||||
{"x":11.75, "y":1},
|
||||
{"x":12.75, "y":1},
|
||||
|
||||
{"x":0, "y":2, "w":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":1, "h":2},
|
||||
|
||||
{"x":0, "y":3, "w":1.5},
|
||||
{"x":1.5, "y":3},
|
||||
{"x":2.5, "y":3},
|
||||
{"x":3.5, "y":3},
|
||||
{"x":4.5, "y":3},
|
||||
{"x":5.5, "y":3},
|
||||
{"x":6.5, "y":3},
|
||||
{"x":7.5, "y":3},
|
||||
{"x":8.5, "y":3},
|
||||
{"x":9.5, "y":3},
|
||||
{"x":10.5, "y":3},
|
||||
{"x":11.5, "y":3},
|
||||
{"x":12.5, "y":3, "w":1.5},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4, "w":1.5},
|
||||
{"x":1.5, "y":4, "w":1.25},
|
||||
{"x":2.75, "y":4, "w":1.5},
|
||||
{"x":4.25, "y":4, "w":2.75},
|
||||
{"x":7, "y":4},
|
||||
{"x":8, "y":4, "w":2.75},
|
||||
{"x":10.75, "y":4, "w":1.5},
|
||||
{"x":12.25, "y":4, "w":1.25},
|
||||
{"x":13.5, "y":4, "w":1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
"bootloader": "stm32-dfu"
|
||||
}
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
/*
|
||||
Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* LAYOUT_all
|
||||
* ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
|
||||
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │
|
||||
* ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │
|
||||
* ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐1d │
|
||||
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │
|
||||
* ├─────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
|
||||
* ├─────┼───┴┬──┴──┬┴───┴───┴─┬─┴─┬─┴───┴───┴┬──┴──┬┴───┬─┴───┤
|
||||
* │40 │41 │43 │44 │45 │46 │48 │4a │4b │
|
||||
* └─────┴────┴─────┴──────────┴───┴──────────┴─────┴────┴─────┘
|
||||
*/
|
||||
#define LAYOUT_all( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k1d, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
|
||||
k40, k41, k43, k44, k45, k46, k48, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
|
||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
|
||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, KC_NO},\
|
||||
{k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
|
||||
{k40, k41, KC_NO, k43, k44, k45, k46, KC_NO, k48, KC_NO, k4a, k4b, KC_NO, KC_NO} \
|
||||
}
|
||||
@@ -17,72 +17,148 @@
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "!", "x": 1, "y": 0 },
|
||||
{ "label": "@", "x": 2, "y": 0 },
|
||||
{ "label": "#", "x": 3, "y": 0 },
|
||||
{ "label": "$", "x": 4, "y": 0 },
|
||||
{ "label": "%", "x": 5, "y": 0 },
|
||||
{ "label": "^", "x": 6, "y": 0 },
|
||||
{ "label": "&", "x": 7, "y": 0 },
|
||||
{ "label": "*", "x": 8, "y": 0 },
|
||||
{ "label": "(", "x": 9, "y": 0 },
|
||||
{ "label": ")", "x": 10, "y": 0 },
|
||||
{ "label": "_", "x": 11, "y": 0 },
|
||||
{ "label": "+", "x": 12, "y": 0 },
|
||||
{ "label": "|", "x": 13, "y": 0 },
|
||||
{ "label": "~", "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "x": 12.5, "y": 1 },
|
||||
{ "label": "Backsp.", "x": 13.5, "y": 1, "w": 1.5 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 3, "w": 1.25 },
|
||||
{ "label": "|", "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "label": "Fn", "x": 14, "y": 3, "w": 1 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "Space1", "x": 3.75, "y": 4, "w": 2.25 },
|
||||
{ "label": "Space2", "x": 6, "y": 4, "w": 1.25 },
|
||||
{ "label": "Space3", "x": 7.25, "y": 4, "w": 2.75 },
|
||||
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||
{ "label": "Menu", "x": 11.25, "y": 4, "w": 1.25 },
|
||||
{ "label": "Win", "x": 12.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 }
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "|", "matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"label": "~", "matrix": [0, 14], "x": 14, "y": 0},
|
||||
|
||||
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "Backsp.", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"label": "Space1", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 2.25},
|
||||
{"label": "Space2", "matrix": [4, 4], "x": 6, "y": 4, "w": 1.25},
|
||||
{"label": "Space3", "matrix": [4, 5], "x": 7.25, "y": 4, "w": 2.75},
|
||||
{"label": "Alt", "matrix": [4, 6], "x": 10, "y": 4, "w": 1.25},
|
||||
{"label": "Menu", "matrix": [4, 7], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [4, 8], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [4, 9], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"label": "|", "matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"label": "~", "matrix": [0, 14], "x": 14, "y": 0},
|
||||
|
||||
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"label": "Backsp.", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"label": "Space2", "matrix": [4, 4], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"label": "Alt", "matrix": [4, 6], "x": 10, "y": 4, "w": 1.25},
|
||||
{"label": "Menu", "matrix": [4, 7], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [4, 8], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [4, 9], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1d, k1e, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
|
||||
k40, k41, k43, k45, k47, k48, k4a, k4b, k4d, k4e \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
|
||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1d, k1e}, \
|
||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d}, \
|
||||
{k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e}, \
|
||||
{k40, k41, k43, k45, k47, k48, k4a, k4b, k4d, k4e } \
|
||||
}
|
||||
@@ -18,71 +18,287 @@
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "!", "x": 1, "y": 0 },
|
||||
{ "label": "@", "x": 2, "y": 0 },
|
||||
{ "label": "#", "x": 3, "y": 0 },
|
||||
{ "label": "$", "x": 4, "y": 0 },
|
||||
{ "label": "%", "x": 5, "y": 0 },
|
||||
{ "label": "^", "x": 6, "y": 0 },
|
||||
{ "label": "&", "x": 7, "y": 0 },
|
||||
{ "label": "*", "x": 8, "y": 0 },
|
||||
{ "label": "(", "x": 9, "y": 0 },
|
||||
{ "label": ")", "x": 10, "y": 0 },
|
||||
{ "label": "_", "x": 11, "y": 0 },
|
||||
{ "label": "+", "x": 12, "y": 0 },
|
||||
{ "label": "|", "x": 13, "y": 0 },
|
||||
{ "label": "~", "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "x": 12.5, "y": 1 },
|
||||
{ "label": "Backsp.", "x": 13.5, "y": 1, "w": 1.5 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||
{ "label": "~", "x": 12.75, "y": 2},
|
||||
{ "label": "Enter", "x": 13.75, "y": 2, "w": 1.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 3, "w": 1.25 },
|
||||
{ "label": "|", "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "label": "Fn", "x": 14, "y": 3, "w": 1 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
|
||||
{ "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
|
||||
{ "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "Space", "x": 3.75, "y": 4, "w": 6.25 },
|
||||
{ "label": "Alt", "x": 10, "y": 4, "w": 1.25 },
|
||||
{ "label": "Menu", "x": 11.25, "y": 4, "w": 1.25 },
|
||||
{ "label": "Win", "x": 12.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 }
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "|", "matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"label": "~", "matrix": [3, 6], "x": 14, "y": 0},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"label": "Backsp.", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 2, "w": 1.25},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "|", "matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"label": "~", "matrix": [3, 6], "x": 14, "y": 0},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"label": "Backsp.", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_60_tsangan_hhkb": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "|", "matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"label": "~", "matrix": [3, 6], "x": 14, "y": 0},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"label": "Backsp.", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4},
|
||||
{"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4},
|
||||
{"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_60_hhkb": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"label": "@", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "#", "matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"label": "$", "matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"label": "%", "matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"label": "^", "matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"label": "&", "matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"label": "*", "matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"label": "(", "matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"label": ")", "matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"label": "_", "matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"label": "+", "matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"label": "|", "matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"label": "~", "matrix": [3, 6], "x": 14, "y": 0},
|
||||
|
||||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"label": "Backsp.", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
|
||||
{"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3},
|
||||
|
||||
{"label": "Alt", "matrix": [9, 0], "x": 1.5, "y": 4},
|
||||
{"label": "GUI", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"label": "GUI", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"label": "Alt", "matrix": [9, 5], "x": 12.5, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
24
keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md
Normal file
24
keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Matrix Diagram for 4pplet Eagle Viper REP Rev A
|
||||
|
||||
```
|
||||
┌───────┐
|
||||
2u Backspace │36? │
|
||||
└───────┘
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
│00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │16 │36 │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐
|
||||
│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │56 │ │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐76 │ ISO Enter
|
||||
│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │76 │ │46 │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘
|
||||
│60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │96 │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
|
||||
│80 │90 │91 │93 │94 │85 │95 │86 │
|
||||
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
┌────────┐ ┌──────────┐
|
||||
│60 │ 2.25u LShift 2.75u RShift │66 │
|
||||
└────────┘ └──────────┘
|
||||
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
|
||||
│80 │90 │91 │93 │85 │95 │86 │ Tsangan/WKL/HHKB
|
||||
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
|
||||
```
|
||||
@@ -19,23 +19,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "quantum.h"
|
||||
|
||||
void setLayerLed(layer_state_t state);
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, k06, k16, k36, \
|
||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k56,\
|
||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k76,\
|
||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k66, k96,\
|
||||
k80, k90, k91, k93, k94, k85, k95, k86 \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03, k04, k05, k06}, \
|
||||
{k10, k11, k12, k13, k14, k15, k16}, \
|
||||
{k20, k21, k22, k23, k24, k25, k26}, \
|
||||
{k30, k31, k32, k33, k34, k35, k36}, \
|
||||
{k40, k41, k42, k43, k44, k45, k46}, \
|
||||
{k50, k51, k52, k53, k54, k55, k56}, \
|
||||
{k60, k61, k62, k63, k64, k65, k66}, \
|
||||
{k70, k71, k72, k73, k74, k75, k76}, \
|
||||
{k80, KC_NO, KC_NO, KC_NO, KC_NO, k85, k86}, \
|
||||
{k90, k91, KC_NO, k93, k94, k95, k96} \
|
||||
}
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS,KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
KC_LGUI, 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,
|
||||
SC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, SC_RSPC, MO(2),
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_RALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS,KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
|
||||
SC_LSPO, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, SC_RSPC, MO(2),
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_RALT, MO(2), KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, KC_RCTL),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
KC_EXEC, 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_INS, _______,
|
||||
_______, KC_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL,
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, KC_PENT,
|
||||
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
DF(1), DF(0), _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, QK_BOOT )
|
||||
};
|
||||
|
||||
|
||||
39
keyboards/4pplet/steezy60/keymaps/canon/keymap.c
Normal file
39
keyboards/4pplet/steezy60/keymaps/canon/keymap.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ | Ent│
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───| er │
|
||||
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift│ │
|
||||
* ├────┬───|───┴┬──┴┬──┴───┴───┴───┴───┴┬──┴┬──┴┬──┴─┬───|────┤
|
||||
* │Ctrl│GUI│None│Alt│ Space │Alt│GUI│None│App│Ctrl│
|
||||
* └────┴───┴────┴───┴───────────────────┴───┴───┴────┴───┴────┘
|
||||
*/
|
||||
[0] = LAYOUT_canon(
|
||||
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, 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_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_NO, KC_APP, KC_RCTL)
|
||||
};
|
||||
@@ -1,18 +1,34 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
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_NO, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
|
||||
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
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_NO, KC_RSFT, KC_NO,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
QK_BOOT, 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_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______ )
|
||||
};
|
||||
QK_BOOT, 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_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
|
||||
};
|
||||
|
||||
@@ -1,32 +1,48 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
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_NO, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT,
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_NO, KC_SPC, KC_NO, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
|
||||
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT,
|
||||
KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO,
|
||||
KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
QK_BOOT, 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_BSPC, KC_UP, KC_ENT, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______ ),
|
||||
QK_BOOT, 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_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ )
|
||||
};
|
||||
};
|
||||
|
||||
@@ -5,10 +5,25 @@ A 60% PCB with a ton of layout options for SMK and Alps switches
|
||||
More info: https://geekhack.org/index.php?topic=103531.0
|
||||
|
||||
* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
|
||||
* Hardware Supported: Steezy60 Rev A
|
||||
* Hardware Supported: Steezy60 Rev A and B
|
||||
* Hardware Availability: https://4pplet.com/products/steezy60
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 4pplet/steezy60/rev_a:default
|
||||
make 4pplet/steezy60/rev_b:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 4pplet/steezy60/rev_a:default:flash
|
||||
make 4pplet/steezy60/rev_b: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 Escape and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB or short the reset header
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
||||
@@ -1,96 +1,724 @@
|
||||
{
|
||||
"keyboard_name": "Steezy60 Rev A",
|
||||
"manufacturer": "4pplet",
|
||||
"url": "",
|
||||
"url": "https://github.com/4pplet/steezy60",
|
||||
"maintainer": "4pplet",
|
||||
"usb": {
|
||||
"vid": "0x4444",
|
||||
"pid": "0x0002",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"qmk_lufa_bootloader": {
|
||||
"esc_input": "C2",
|
||||
"esc_output": "C4"
|
||||
},
|
||||
"processor": "atmega32u2",
|
||||
"bootloader": "atmel-dfu",
|
||||
"community_layouts": [
|
||||
"60_ansi",
|
||||
"60_ansi_split_bs_rshift",
|
||||
"60_ansi_tsangan",
|
||||
"60_hhkb",
|
||||
"60_iso",
|
||||
"60_iso_split_bs_rshift",
|
||||
"60_iso_tsangan",
|
||||
"60_tsangan_hhkb"
|
||||
],
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["C4","C6","B7","B6","B5","B4","B3","B2","B1","D6","D5","D4","D2","D1"],
|
||||
"rows": ["C2","D0","B0","C7","C5"]
|
||||
},
|
||||
"features": {
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": false,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12,
|
||||
"pin": "D3",
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
|
||||
{"x":0, "y":1, "w":1.5},
|
||||
{"x":1.5, "y":1},
|
||||
{"x":2.5, "y":1},
|
||||
{"x":3.5, "y":1},
|
||||
{"x":4.5, "y":1},
|
||||
{"x":5.5, "y":1},
|
||||
{"x":6.5, "y":1},
|
||||
{"x":7.5, "y":1},
|
||||
{"x":8.5, "y":1},
|
||||
{"x":9.5, "y":1},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1},
|
||||
{"x":12.5, "y":1},
|
||||
{"x":13.5, "y":1, "w":1.5},
|
||||
|
||||
{"x":0, "y":2, "w":1.75},
|
||||
{"x":1.75, "y":2},
|
||||
{"x":2.75, "y":2},
|
||||
{"x":3.75, "y":2},
|
||||
{"x":4.75, "y":2},
|
||||
{"x":5.75, "y":2},
|
||||
{"x":6.75, "y":2},
|
||||
{"x":7.75, "y":2},
|
||||
{"x":8.75, "y":2},
|
||||
{"x":9.75, "y":2},
|
||||
{"x":10.75, "y":2},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2},
|
||||
{"x":13.75, "y":2, "w":1.25},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
{"x":12, "y":3},
|
||||
{"x":13, "y":3},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4},
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":4},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4, "w":2.25},
|
||||
{"x":6.25, "y":4, "w":1.5},
|
||||
{"x":7.75, "y":4, "w":2.25},
|
||||
{"x":10, "y":4},
|
||||
{"x":11, "y":4},
|
||||
{"x":12, "y":4},
|
||||
{"x":13, "y":4},
|
||||
{"x":14, "y":4}
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3 },
|
||||
{ "label": "NUBS", "matrix": [3, 1], "x": 1, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 12], "x": 12, "y": 3 },
|
||||
{ "label": "Up", "matrix": [3, 13], "x": 13, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1, "y": 4 },
|
||||
{ "label": "None", "matrix": [4, 2], "x": 2, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "x": 3, "y": 4 },
|
||||
{ "label": "LSpace", "matrix": [4, 4], "w": 2.5, "x": 4, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 1.25, "x": 6.5, "y": 4 },
|
||||
{ "label": "RSpace", "matrix": [4, 6], "w": 2.25, "x": 7.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "x": 11, "y": 4 },
|
||||
{ "label": "None", "matrix": [4, 9], "x": 12, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "x": 13, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "x": 14, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_tsangan": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_hhkb": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
|
||||
{ "label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_split_bs_rshift": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
|
||||
{ "label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
|
||||
{ "label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_tsangan_hhkb": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_canon": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "nuhs", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [4, 12], "w": 1.25, "h": 2, "x": 13.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.5, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 0], "x": 0, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 1], "x": 1, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 2], "x": 2, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "x": 3, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "x": 11, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 9], "x": 12, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 10], "x": 13, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "x": 14, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
#include "rev_a.h"
|
||||
@@ -1,18 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k4d, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d,k4c, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
|
||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
|
||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
|
||||
{k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
|
||||
{k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d} \
|
||||
}
|
||||
@@ -1,12 +1,4 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
KEY_LOCK_ENABLE = yes
|
||||
|
||||
19
keyboards/4pplet/steezy60/rev_b/config.h
Normal file
19
keyboards/4pplet/steezy60/rev_b/config.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define WS2812_EXTERNAL_PULLUP
|
||||
725
keyboards/4pplet/steezy60/rev_b/info.json
Normal file
725
keyboards/4pplet/steezy60/rev_b/info.json
Normal file
@@ -0,0 +1,725 @@
|
||||
{
|
||||
"keyboard_name": "Steezy60 Rev B",
|
||||
"manufacturer": "4pplet",
|
||||
"url": "https://github.com/4pplet/steezy60",
|
||||
"maintainer": "4pplet",
|
||||
"usb": {
|
||||
"vid": "0x4444",
|
||||
"pid": "0x0013",
|
||||
"device_version": "0.0.2"
|
||||
},
|
||||
"processor": "STM32F072",
|
||||
"bootloader": "stm32-dfu",
|
||||
"community_layouts": [
|
||||
"60_ansi",
|
||||
"60_ansi_split_bs_rshift",
|
||||
"60_ansi_tsangan",
|
||||
"60_hhkb",
|
||||
"60_iso",
|
||||
"60_iso_split_bs_rshift",
|
||||
"60_iso_tsangan",
|
||||
"60_tsangan_hhkb"
|
||||
],
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["A7","A5","A4","A3","A1","F1","F0","C15","C14","B9","B6","B5","B4","B3"],
|
||||
"rows": ["B8","A15","C13","A2","A6"]
|
||||
},
|
||||
"features": {
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": false,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12,
|
||||
"pin": "A8",
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3 },
|
||||
{ "label": "NUBS", "matrix": [3, 1], "x": 1, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 12], "x": 12, "y": 3 },
|
||||
{ "label": "Up", "matrix": [3, 13], "x": 13, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1, "y": 4 },
|
||||
{ "label": "None", "matrix": [4, 2], "x": 2, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "x": 3, "y": 4 },
|
||||
{ "label": "LSpace", "matrix": [4, 4], "w": 2.5, "x": 4, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 1.25, "x": 6.5, "y": 4 },
|
||||
{ "label": "RSpace", "matrix": [4, 6], "w": 2.25, "x": 7.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "x": 11, "y": 4 },
|
||||
{ "label": "None", "matrix": [4, 9], "x": 12, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "x": 13, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "x": 14, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_tsangan": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_hhkb": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
|
||||
{ "label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_split_bs_rshift": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
|
||||
{ "label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "w": 1.25, "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "w": 1.25, "x": 11.25, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 10], "w": 1.25, "x": 12.5, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "w": 1.25, "x": 13.75, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "Backspace", "matrix": [4, 13], "w": 2, "x": 13, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 1.25, "h": 2, "x": 13.75, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "NUHS", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
|
||||
{ "label": "NUBS", "matrix": [3, 1], "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_tsangan_hhkb": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 12], "x": 14, "y": 3 },
|
||||
{ "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 7, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 11, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_canon": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "label": "!", "matrix": [0, 1], "x": 1, "y": 0 },
|
||||
{ "label": "@", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "#", "matrix": [0, 3], "x": 3, "y": 0 },
|
||||
{ "label": "$", "matrix": [0, 4], "x": 4, "y": 0 },
|
||||
{ "label": "%", "matrix": [0, 5], "x": 5, "y": 0 },
|
||||
{ "label": "^", "matrix": [0, 6], "x": 6, "y": 0 },
|
||||
{ "label": "&", "matrix": [0, 7], "x": 7, "y": 0 },
|
||||
{ "label": "*", "matrix": [0, 8], "x": 8, "y": 0 },
|
||||
{ "label": "(", "matrix": [0, 9], "x": 9, "y": 0 },
|
||||
{ "label": ")", "matrix": [0, 10], "x": 10, "y": 0 },
|
||||
{ "label": "_", "matrix": [0, 11], "x": 11, "y": 0 },
|
||||
{ "label": "+", "matrix": [0, 12], "x": 12, "y": 0 },
|
||||
{ "label": "|", "matrix": [0, 13], "x": 13, "y": 0 },
|
||||
{ "label": "~", "matrix": [4, 13], "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
|
||||
{ "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
|
||||
{ "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 },
|
||||
{ "label": "nuhs", "matrix": [2, 12], "x": 12.75, "y": 2 },
|
||||
{ "label": "Enter", "matrix": [4, 12], "w": 1.25, "h": 2, "x": 13.75, "y": 2 },
|
||||
{ "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
|
||||
{ "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "matrix": [3, 13], "w": 1.5, "x": 12.25, "y": 3 },
|
||||
{ "label": "Fn", "matrix": [4, 0], "x": 0, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 1], "x": 1, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 2], "x": 2, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 3], "x": 3, "y": 4 },
|
||||
{ "label": "Space", "matrix": [4, 5], "w": 6, "x": 4, "y": 4 },
|
||||
{ "label": "Alt", "matrix": [4, 7], "x": 10, "y": 4 },
|
||||
{ "label": "Win", "matrix": [4, 8], "x": 11, "y": 4 },
|
||||
{ "label": "Menu", "matrix": [4, 9], "x": 12, "y": 4 },
|
||||
{ "label": "Ctrl", "matrix": [4, 10], "x": 13, "y": 4 },
|
||||
{ "label": "Fn", "matrix": [4, 11], "x": 14, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
10
keyboards/4pplet/steezy60/rev_b/rules.mk
Normal file
10
keyboards/4pplet/steezy60/rev_b/rules.mk
Normal file
@@ -0,0 +1,10 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
KEY_LOCK_ENABLE = yes
|
||||
|
||||
# Wildcard to allow APM32 MCU
|
||||
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
34
keyboards/4pplet/unextended_std/keymaps/default/keymap.c
Normal file
34
keyboards/4pplet/unextended_std/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_LCTL, 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_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,
|
||||
MO(1), KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP),
|
||||
// basic function layer
|
||||
[1] = LAYOUT_all(
|
||||
QK_BOOT, 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
||||
40
keyboards/4pplet/unextended_std/keymaps/m0116/keymap.c
Normal file
40
keyboards/4pplet/unextended_std/keymaps/m0116/keymap.c
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
|
||||
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Delete│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴ │
|
||||
* │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤
|
||||
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │
|
||||
* ├────┬───│───┴┬──┴┬──┴───┴───┴───┴─┬─┴─┬─┴──┬┴───┴┬────┬───┤
|
||||
* │Caps│Alt│Gui │ ` │ Space │ \ │Left│Right│Down│ Up│
|
||||
* └────┴───┴────┴───┴────────────────┴───┴────┴─────┴────┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_m0116(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, 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_CAPS, KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP)
|
||||
};
|
||||
39
keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c
Normal file
39
keyboards/4pplet/unextended_std/keymaps/m0118/keymap.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┐
|
||||
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Backsp│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬────┤
|
||||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐Ent│
|
||||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ \ │ │
|
||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───│───┤
|
||||
* │Shft│ ` │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift│ Up│
|
||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴┬──┴─┬─┴──┬┴────┬────┤
|
||||
* │Ctrl│Alt │GUI │ Space │GUI │Left│Right│Down│
|
||||
* └────┴────┴────┴──────────────────────┴────┴────┴─────┴────┘
|
||||
*/
|
||||
[0] = LAYOUT_m0118(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT,
|
||||
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_LSFT, KC_GRV, 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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_LEFT, KC_RIGHT,KC_DOWN)
|
||||
};
|
||||
48
keyboards/4pplet/unextended_std/keymaps/via/keymap.c
Normal file
48
keyboards/4pplet/unextended_std/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_LCTL, 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_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,
|
||||
MO(1), KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP),
|
||||
// basic function layer
|
||||
[1] = LAYOUT_all(
|
||||
QK_BOOT, 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_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
// extra layer for VIA
|
||||
[2] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
// extra layer for VIA
|
||||
[3] = LAYOUT_all(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
||||
23
keyboards/4pplet/unextended_std/readme.md
Normal file
23
keyboards/4pplet/unextended_std/readme.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Unextended Standard PCB
|
||||
|
||||
PCB for the Unextended Standard Project. The PCB enables use of M0116, M0118, IIc and NeXT keycaps and is designed to fit in the open sourced Unextended case.
|
||||
|
||||
* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
|
||||
* Hardware Supported: [Unextended Standard PCB](https://github.com/4pplet/Unextended-Standard-PCB)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 4pplet/unextended_std/rev_a:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 4pplet/unextended_std/rev_a: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 Escape-key and plug in the keyboard
|
||||
* **Physical reset header**: Briefly short the header labled "BL/reset" on the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
19
keyboards/4pplet/unextended_std/rev_a/config.h
Normal file
19
keyboards/4pplet/unextended_std/rev_a/config.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
Copyright 2023 Stefan Sundin "4pplet" <mail@4pplet.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define WS2812_EXTERNAL_PULLUP
|
||||
262
keyboards/4pplet/unextended_std/rev_a/info.json
Normal file
262
keyboards/4pplet/unextended_std/rev_a/info.json
Normal file
@@ -0,0 +1,262 @@
|
||||
{
|
||||
"keyboard_name": "Unextended Standard Rev A",
|
||||
"manufacturer": "4pplet",
|
||||
"url": "https://github.com/4pplet/Unextended",
|
||||
"maintainer": "4pplet",
|
||||
"usb": {
|
||||
"vid": "0x4444",
|
||||
"pid": "0x0012",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"processor": "STM32F072",
|
||||
"bootloader": "stm32-dfu",
|
||||
|
||||
"matrix_pins": {
|
||||
"rows":
|
||||
["B14","B15","B6","B5","B4"],
|
||||
"cols":
|
||||
["B2","A4","A1","A2","F1","F0","C15","C14","C13","B9","B8","B7","B12","B3"]
|
||||
},
|
||||
|
||||
"diode_direction": "COL2ROW",
|
||||
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
"command": false,
|
||||
"nkro": true,
|
||||
"backlight": false,
|
||||
"rgblight": true,
|
||||
"audio": false
|
||||
},
|
||||
|
||||
"rgblight": {
|
||||
"pin": "A8",
|
||||
"led_count": 16,
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"christmas": true,
|
||||
"knight": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"rgb_test": true,
|
||||
"snake": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
|
||||
"indicators": {
|
||||
"caps_lock": "A10",
|
||||
"on_state": 0
|
||||
},
|
||||
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
|
||||
{"label":"!", "matrix": [0, 1], "x":1, "y":0},
|
||||
{"label":"@", "matrix": [0, 2], "x":2, "y":0},
|
||||
{"label":"#", "matrix": [0, 3], "x":3, "y":0},
|
||||
{"label":"$", "matrix": [0, 4], "x":4, "y":0},
|
||||
{"label":"%", "matrix": [0, 5], "x":5, "y":0},
|
||||
{"label":"^", "matrix": [0, 6], "x":6, "y":0},
|
||||
{"label":"&", "matrix": [0, 7], "x":7, "y":0},
|
||||
{"label":"*", "matrix": [0, 8], "x":8, "y":0},
|
||||
{"label":"(", "matrix": [0, 9], "x":9, "y":0},
|
||||
{"label":")", "matrix": [0, 10], "x":10, "y":0},
|
||||
{"label":"_", "matrix": [0, 11], "x":11, "y":0},
|
||||
{"label":"+", "matrix": [0, 12], "x":12, "y":0},
|
||||
{"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
|
||||
{"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
|
||||
{"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
|
||||
{"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
|
||||
{"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
|
||||
{"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
|
||||
{"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
|
||||
{"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
|
||||
{"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
|
||||
{"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
|
||||
{"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
|
||||
{"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
|
||||
{"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
|
||||
{"label":"|", "matrix": [1, 13], "x":13.5, "y":1},
|
||||
{"label":"Caps Lock", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
|
||||
{"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
|
||||
{"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
|
||||
{"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
|
||||
{"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
|
||||
{"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
|
||||
{"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
|
||||
{"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
|
||||
{"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
|
||||
{"label":":", "matrix": [2, 10], "x":10.75, "y":2},
|
||||
{"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
|
||||
{"label":"nubs", "matrix": [3, 13], "x":12.75, "y":2},
|
||||
{"label":"Enter", "matrix": [2, 13], "x":13.75, "y":2, "w":0.75},
|
||||
{"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":1.25},
|
||||
{"label":"nubs", "matrix": [3, 1], "x":1.25, "y":3},
|
||||
{"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
|
||||
{"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
|
||||
{"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
|
||||
{"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
|
||||
{"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
|
||||
{"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
|
||||
{"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
|
||||
{"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
|
||||
{"label":">", "matrix": [3, 10], "x":10.25, "y":3},
|
||||
{"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
|
||||
{"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":1.25},
|
||||
{"label":"\u2191", "matrix": [4, 13], "x":13.5, "y":3},
|
||||
{"label":"Caps", "matrix": [4, 0], "x":0, "y":4},
|
||||
{"label":"opt", "matrix": [4, 1], "x":1, "y":4},
|
||||
{"label":"Cmd", "matrix": [4, 2], "x":2, "y":4, "w":1.75},
|
||||
{"label":"`", "matrix": [4, 3], "x":3.75, "y":4},
|
||||
{"label":"Space", "matrix": [4, 6], "x":4.75, "y":4, "w":4.75},
|
||||
{"label":"\\", "matrix": [4, 8], "x":9.5, "y":4},
|
||||
{"label":"\u2190", "matrix": [4, 9], "x":10.5, "y":4},
|
||||
{"label":"\u2192", "matrix": [4, 10], "x":11.5, "y":4},
|
||||
{"label":"\u2193", "matrix": [4, 11], "x":12.5, "y":4},
|
||||
{"label":"\u2191", "matrix": [4, 12], "x":13.5, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_m0116": {
|
||||
"layout": [
|
||||
{"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
|
||||
{"label":"!", "matrix": [0, 1], "x":1, "y":0},
|
||||
{"label":"@", "matrix": [0, 2], "x":2, "y":0},
|
||||
{"label":"#", "matrix": [0, 3], "x":3, "y":0},
|
||||
{"label":"$", "matrix": [0, 4], "x":4, "y":0},
|
||||
{"label":"%", "matrix": [0, 5], "x":5, "y":0},
|
||||
{"label":"^", "matrix": [0, 6], "x":6, "y":0},
|
||||
{"label":"&", "matrix": [0, 7], "x":7, "y":0},
|
||||
{"label":"*", "matrix": [0, 8], "x":8, "y":0},
|
||||
{"label":"(", "matrix": [0, 9], "x":9, "y":0},
|
||||
{"label":")", "matrix": [0, 10], "x":10, "y":0},
|
||||
{"label":"_", "matrix": [0, 11], "x":11, "y":0},
|
||||
{"label":"+", "matrix": [0, 12], "x":12, "y":0},
|
||||
{"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
|
||||
{"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
|
||||
{"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
|
||||
{"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
|
||||
{"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
|
||||
{"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
|
||||
{"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
|
||||
{"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
|
||||
{"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
|
||||
{"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
|
||||
{"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
|
||||
{"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
|
||||
{"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
|
||||
{"label":"Enter", "matrix": [2, 13], "x":13.5, "y":1, "h":2},
|
||||
{"label":"Control", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
|
||||
{"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
|
||||
{"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
|
||||
{"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
|
||||
{"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
|
||||
{"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
|
||||
{"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
|
||||
{"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
|
||||
{"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
|
||||
{"label":":", "matrix": [2, 10], "x":10.75, "y":2},
|
||||
{"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
|
||||
{"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":2.25},
|
||||
{"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
|
||||
{"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
|
||||
{"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
|
||||
{"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
|
||||
{"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
|
||||
{"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
|
||||
{"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
|
||||
{"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
|
||||
{"label":">", "matrix": [3, 10], "x":10.25, "y":3},
|
||||
{"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
|
||||
{"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":2.25},
|
||||
{"label":"Caps", "matrix": [4, 0], "x":0, "y":4},
|
||||
{"label":"opt", "matrix": [4, 1], "x":1, "y":4},
|
||||
{"label":"Cmd", "matrix": [4, 2], "x":2, "y":4, "w":1.75},
|
||||
{"label":"`", "matrix": [4, 3], "x":3.75, "y":4},
|
||||
{"label":"Space", "matrix": [4, 6],"x":4.75, "y":4, "w":4.75},
|
||||
{"label":"\\", "matrix": [4, 8], "x":9.5, "y":4},
|
||||
{"label":"\u2190", "matrix": [4, 9], "x":10.5, "y":4},
|
||||
{"label":"\u2192", "matrix": [4, 10], "x":11.5, "y":4},
|
||||
{"label":"\u2193", "matrix": [4, 11], "x":12.5, "y":4},
|
||||
{"label":"\u2191", "matrix": [4, 12], "x":13.5, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_m0118": {
|
||||
"layout": [
|
||||
{"label":"Esc", "matrix": [0, 0], "x":0, "y":0},
|
||||
{"label":"!", "matrix": [0, 1], "x":1, "y":0},
|
||||
{"label":"@", "matrix": [0, 2], "x":2, "y":0},
|
||||
{"label":"#", "matrix": [0, 3], "x":3, "y":0},
|
||||
{"label":"$", "matrix": [0, 4], "x":4, "y":0},
|
||||
{"label":"%", "matrix": [0, 5], "x":5, "y":0},
|
||||
{"label":"^", "matrix": [0, 6], "x":6, "y":0},
|
||||
{"label":"&", "matrix": [0, 7], "x":7, "y":0},
|
||||
{"label":"*", "matrix": [0, 8], "x":8, "y":0},
|
||||
{"label":"(", "matrix": [0, 9], "x":9, "y":0},
|
||||
{"label":")", "matrix": [0, 10], "x":10, "y":0},
|
||||
{"label":"_", "matrix": [0, 11], "x":11, "y":0},
|
||||
{"label":"+", "matrix": [0, 12], "x":12, "y":0},
|
||||
{"label":"Backsp", "matrix": [0, 13], "x":13, "y":0, "w":1.5},
|
||||
{"label":"Tab", "matrix": [1, 0], "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "matrix": [1, 1], "x":1.5, "y":1},
|
||||
{"label":"W", "matrix": [1, 2], "x":2.5, "y":1},
|
||||
{"label":"E", "matrix": [1, 3], "x":3.5, "y":1},
|
||||
{"label":"R", "matrix": [1, 4], "x":4.5, "y":1},
|
||||
{"label":"T", "matrix": [1, 5], "x":5.5, "y":1},
|
||||
{"label":"Y", "matrix": [1, 6], "x":6.5, "y":1},
|
||||
{"label":"U", "matrix": [1, 7], "x":7.5, "y":1},
|
||||
{"label":"I", "matrix": [1, 8], "x":8.5, "y":1},
|
||||
{"label":"O", "matrix": [1, 9], "x":9.5, "y":1},
|
||||
{"label":"P", "matrix": [1, 10], "x":10.5, "y":1},
|
||||
{"label":"{", "matrix": [1, 11], "x":11.5, "y":1},
|
||||
{"label":"}", "matrix": [1, 12], "x":12.5, "y":1},
|
||||
{"label":"Enter", "matrix": [2, 13], "x":13.75, "y":1, "w":0.75, "h":2},
|
||||
{"label":"Caps Lock", "matrix": [2, 0], "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "matrix": [2, 1], "x":1.75, "y":2},
|
||||
{"label":"S", "matrix": [2, 2], "x":2.75, "y":2},
|
||||
{"label":"D", "matrix": [2, 3], "x":3.75, "y":2},
|
||||
{"label":"F", "matrix": [2, 4], "x":4.75, "y":2},
|
||||
{"label":"G", "matrix": [2, 5], "x":5.75, "y":2},
|
||||
{"label":"H", "matrix": [2, 6], "x":6.75, "y":2},
|
||||
{"label":"J", "matrix": [2, 7], "x":7.75, "y":2},
|
||||
{"label":"K", "matrix": [2, 8], "x":8.75, "y":2},
|
||||
{"label":"L", "matrix": [2, 9], "x":9.75, "y":2},
|
||||
{"label":":", "matrix": [2, 10], "x":10.75, "y":2},
|
||||
{"label":"\"", "matrix": [2, 11], "x":11.75, "y":2},
|
||||
{"label":"nuhs", "matrix": [3, 13], "x":12.75, "y":2},
|
||||
{"label":"Shift", "matrix": [3, 0], "x":0, "y":3, "w":1.25},
|
||||
{"label":"nubs", "matrix": [3, 1], "x":1.25, "y":3},
|
||||
{"label":"Z", "matrix": [3, 2], "x":2.25, "y":3},
|
||||
{"label":"X", "matrix": [3, 3], "x":3.25, "y":3},
|
||||
{"label":"C", "matrix": [3, 4], "x":4.25, "y":3},
|
||||
{"label":"V", "matrix": [3, 5], "x":5.25, "y":3},
|
||||
{"label":"B", "matrix": [3, 6], "x":6.25, "y":3},
|
||||
{"label":"N", "matrix": [3, 7], "x":7.25, "y":3},
|
||||
{"label":"M", "matrix": [3, 8], "x":8.25, "y":3},
|
||||
{"label":"<", "matrix": [3, 9], "x":9.25, "y":3},
|
||||
{"label":">", "matrix": [3, 10], "x":10.25, "y":3},
|
||||
{"label":"?", "matrix": [3, 11], "x":11.25, "y":3},
|
||||
{"label":"Shift", "matrix": [3, 12], "x":12.25, "y":3, "w":1.25},
|
||||
{"label":"\u2191", "matrix": [4, 13], "x":13.5, "y":3},
|
||||
{"label":"Ctrl", "matrix": [4, 0], "x":0, "y":4, "w":1.25},
|
||||
{"label":"Opt", "matrix": [4, 2], "x":1.25, "y":4, "w":1.5},
|
||||
{"label":"Cmd", "matrix": [4, 3], "x":2.75, "y":4, "w":1.75},
|
||||
{"label":"Space", "matrix": [4, 6], "x":4.5, "y":4, "w":5.25},
|
||||
{"label":"Cmd", "matrix": [4, 9], "x":9.75, "y":4, "w":1.75},
|
||||
{"label":"\u2190", "matrix": [4, 10], "x":11.5, "y":4},
|
||||
{"label":"\u2192", "matrix": [4, 11], "x":12.5, "y":4},
|
||||
{"label":"\u2193", "matrix": [4, 12], "x":13.5, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
10
keyboards/4pplet/unextended_std/rev_a/rules.mk
Normal file
10
keyboards/4pplet/unextended_std/rev_a/rules.mk
Normal file
@@ -0,0 +1,10 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
KEY_LOCK_ENABLE = yes
|
||||
|
||||
# Wildcard to allow APM32 MCU
|
||||
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
@@ -1,22 +1,9 @@
|
||||
/* Copyright 2018-2020
|
||||
* ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
|
||||
* David Philip Barr <@davidphilipbarr>
|
||||
* Pierre Chevalier <pierrechevalier83@gmail.com>
|
||||
* @filterpaper
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
// Copyright 2018-2020
|
||||
// ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
|
||||
// David Philip Barr <@davidphilipbarr>
|
||||
// Pierre Chevalier <pierrechevalier83@gmail.com>
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
|
||||
@@ -1,25 +1,9 @@
|
||||
/* Copyright 2018-2020 ENDO Katsuhiro <ka2hiro@curlybracket.co.jp> David Philip Barr <@davidphilipbarr> Pierre Chevalier <pierrechevalier83@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
// Copyright 2018-2020
|
||||
// ENDO Katsuhiro <ka2hiro@curlybracket.co.jp>
|
||||
// David Philip Barr <@davidphilipbarr>
|
||||
// Pierre Chevalier <pierrechevalier83@gmail.com>
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#pragma once
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define EE_HANDS
|
||||
|
||||
@@ -8,8 +8,13 @@
|
||||
"pid": "0x3939",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"development_board": "promicro",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"unicode": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"direct": [
|
||||
["C6", "D2", "F7", "B2", "F4"],
|
||||
@@ -19,6 +24,7 @@
|
||||
]
|
||||
},
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D1",
|
||||
"bootmagic": {
|
||||
"matrix": [4, 4]
|
||||
@@ -41,47 +47,43 @@
|
||||
"layouts": {
|
||||
"LAYOUT_split_3x5_2": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 1.33, "matrix": [0, 0]},
|
||||
{"x": 1, "y": 0.31, "matrix": [0, 1]},
|
||||
{"x": 2, "y": 0, "matrix": [0, 2]},
|
||||
{"x": 3, "y": 0.28, "matrix": [0, 3]},
|
||||
{"x": 4, "y": 0.42, "matrix": [0, 4]},
|
||||
{ "label": "L01", "matrix": [0, 0], "x": 0, "y": 1.33 },
|
||||
{ "label": "L02", "matrix": [0, 1], "x": 1, "y": 0.31 },
|
||||
{ "label": "L03", "matrix": [0, 2], "x": 2, "y": 0 },
|
||||
{ "label": "L04", "matrix": [0, 3], "x": 3, "y": 0.28 },
|
||||
{ "label": "L05", "matrix": [0, 4], "x": 4, "y": 0.42 },
|
||||
{ "label": "R01", "matrix": [4, 0], "x": 8, "y": 0.42 },
|
||||
{ "label": "R02", "matrix": [4, 1], "x": 9, "y": 0.28 },
|
||||
{ "label": "R03", "matrix": [4, 2], "x": 10, "y": 0 },
|
||||
{ "label": "R04", "matrix": [4, 3], "x": 11, "y": 0.31 },
|
||||
{ "label": "R05", "matrix": [4, 4], "x": 12, "y": 1.33 },
|
||||
|
||||
{"x": 8, "y": 0.42, "matrix": [4, 0]},
|
||||
{"x": 9, "y": 0.28, "matrix": [4, 1]},
|
||||
{"x": 10, "y": 0, "matrix": [4, 2]},
|
||||
{"x": 11, "y": 0.31, "matrix": [4, 3]},
|
||||
{"x": 12, "y": 1.33, "matrix": [4, 4]},
|
||||
{ "label": "L06", "matrix": [1, 0], "x": 0, "y": 2.33 },
|
||||
{ "label": "L07", "matrix": [1, 1], "x": 1, "y": 1.31 },
|
||||
{ "label": "L08", "matrix": [1, 2], "x": 2, "y": 1 },
|
||||
{ "label": "L09", "matrix": [1, 3], "x": 3, "y": 1.28 },
|
||||
{ "label": "L10", "matrix": [1, 4], "x": 4, "y": 1.42 },
|
||||
{ "label": "R06", "matrix": [5, 0], "x": 8, "y": 1.42 },
|
||||
{ "label": "R07", "matrix": [5, 1], "x": 9, "y": 1.28 },
|
||||
{ "label": "R08", "matrix": [5, 2], "x": 10, "y": 1 },
|
||||
{ "label": "R09", "matrix": [5, 3], "x": 11, "y": 1.31 },
|
||||
{ "label": "R10", "matrix": [5, 4], "x": 12, "y": 2.33 },
|
||||
|
||||
{"x": 0, "y": 2.33, "matrix": [1, 0]},
|
||||
{"x": 1, "y": 1.31, "matrix": [1, 1]},
|
||||
{"x": 2, "y": 1, "matrix": [1, 2]},
|
||||
{"x": 3, "y": 1.28, "matrix": [1, 3]},
|
||||
{"x": 4, "y": 1.42, "matrix": [1, 4]},
|
||||
{ "label": "L11", "matrix": [2, 0], "x": 0, "y": 3.33 },
|
||||
{ "label": "L12", "matrix": [2, 1], "x": 1, "y": 2.31 },
|
||||
{ "label": "L13", "matrix": [2, 2], "x": 2, "y": 2 },
|
||||
{ "label": "L14", "matrix": [2, 3], "x": 3, "y": 2.28 },
|
||||
{ "label": "L15", "matrix": [2, 4], "x": 4, "y": 2.42 },
|
||||
{ "label": "R11", "matrix": [6, 0], "x": 8, "y": 2.42 },
|
||||
{ "label": "R12", "matrix": [6, 1], "x": 9, "y": 2.28 },
|
||||
{ "label": "R13", "matrix": [6, 2], "x": 10, "y": 2 },
|
||||
{ "label": "R14", "matrix": [6, 3], "x": 11, "y": 2.31 },
|
||||
{ "label": "R15", "matrix": [6, 4], "x": 12, "y": 3.33 },
|
||||
|
||||
{"x": 8, "y": 1.42, "matrix": [5, 0]},
|
||||
{"x": 9, "y": 1.28, "matrix": [5, 1]},
|
||||
{"x": 10, "y": 1, "matrix": [5, 2]},
|
||||
{"x": 11, "y": 1.31, "matrix": [5, 3]},
|
||||
{"x": 12, "y": 2.33, "matrix": [5, 4]},
|
||||
|
||||
{"x": 0, "y": 3.33, "matrix": [2, 0]},
|
||||
{"x": 1, "y": 2.31, "matrix": [2, 1]},
|
||||
{"x": 2, "y": 2, "matrix": [2, 2]},
|
||||
{"x": 3, "y": 2.28, "matrix": [2, 3]},
|
||||
{"x": 4, "y": 2.42, "matrix": [2, 4]},
|
||||
|
||||
{"x": 8, "y": 2.42, "matrix": [6, 0]},
|
||||
{"x": 9, "y": 2.28, "matrix": [6, 1]},
|
||||
{"x": 10, "y": 2, "matrix": [6, 2]},
|
||||
{"x": 11, "y": 2.31, "matrix": [6, 3]},
|
||||
{"x": 12, "y": 3.33, "matrix": [6, 4]},
|
||||
|
||||
{"x": 4, "y": 3.75, "matrix": [3, 0]},
|
||||
{"x": 5, "y": 4, "matrix": [3, 1]},
|
||||
|
||||
{"x": 7, "y": 4, "matrix": [7, 0]},
|
||||
{"x": 8, "y": 3.75, "matrix": [7, 1]}
|
||||
{ "label": "L16", "matrix": [3, 0], "x": 4, "y": 3.75 },
|
||||
{ "label": "L17", "matrix": [3, 1], "x": 5, "y": 4 },
|
||||
{ "label": "R16", "matrix": [7, 0], "x": 7, "y": 4 },
|
||||
{ "label": "R17", "matrix": [7, 1], "x": 8, "y": 3.75 }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
UNICODE_ENABLE = yes # Unicode
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
SPLIT_KEYBOARD = yes # Use shared split_common code
|
||||
# This file intentionally left blank
|
||||
|
||||
@@ -42,9 +42,14 @@
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP13
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
||||
|
||||
/* Audio (Unsupported for now)*/
|
||||
// #define AUDIO_PIN GP16
|
||||
// #define SPEAKER_SHUTDOWN GP14
|
||||
/* Audio */
|
||||
#define AUDIO_PIN GP16
|
||||
#define AUDIO_PWM_DRIVER PWMD0
|
||||
#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A
|
||||
#define AUDIO_INIT_DELAY
|
||||
#define AUDIO_CLICKY
|
||||
|
||||
#define SPEAKER_SHUTDOWN GP14
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
|
||||
@@ -26,3 +26,6 @@
|
||||
|
||||
#undef SPI_SELECT_MODE
|
||||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
|
||||
#undef HAL_USE_PWM
|
||||
#define HAL_USE_PWM TRUE
|
||||
|
||||
@@ -18,17 +18,25 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MUTE,
|
||||
LT(1,KC_MUTE),
|
||||
KC_ENT, KC_0, KC_BSPC,
|
||||
KC_7, KC_8, KC_9,
|
||||
KC_4, KC_5, KC_6,
|
||||
KC_1, KC_2, KC_3
|
||||
)
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
_______,
|
||||
CK_TOGG, AU_TOGG, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(_______, _______) },
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -111,4 +119,3 @@ bool oled_task_user(void) {
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
98
keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c
Normal file
98
keyboards/adafruit/macropad/keymaps/peterfalken/keymap.c
Normal file
@@ -0,0 +1,98 @@
|
||||
// Copyright 2023 Peter.Falken (@PeterFalken)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "peterfalken.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MUTE,
|
||||
KC_7, KC_8, KC_9,
|
||||
KC_4, KC_5, KC_6,
|
||||
KC_1, KC_2, KC_3,
|
||||
KC_ENT, KC_0, KC_BSPC
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
static void render_qmk_logo(void) {
|
||||
static const char PROGMEM qmk_logo[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
|
||||
0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
|
||||
0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x81, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
|
||||
0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 0x81,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x07, 0x1f, 0x3f, 0x7f, 0x7e, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff,
|
||||
0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0x7e, 0x7f, 0x3f, 0x1f, 0x07, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff,
|
||||
0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
|
||||
0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
oled_write_raw_P(qmk_logo, sizeof(qmk_logo));
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
render_qmk_logo();
|
||||
return true;
|
||||
}
|
||||
#endif // OLED_ENABLE
|
||||
3
keyboards/adafruit/macropad/keymaps/peterfalken/rules.mk
Normal file
3
keyboards/adafruit/macropad/keymaps/peterfalken/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
# Setup QMK features
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = no # Disable RGB key matrix
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MUTE,
|
||||
LT(1,KC_MUTE),
|
||||
KC_ENT, KC_0, KC_BSPC,
|
||||
KC_7, KC_8, KC_9,
|
||||
KC_4, KC_5, KC_6,
|
||||
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
_______,
|
||||
_______, _______, _______,
|
||||
CK_TOGG, AU_TOGG, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______,
|
||||
_______, _______, _______
|
||||
@@ -135,4 +135,3 @@ bool oled_task_user(void) {
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -41,6 +41,31 @@ led_config_t g_led_config = { {
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
void keyboard_pre_init_kb(void) {
|
||||
// ensure pin is set and enabled pre-audio init
|
||||
setPinOutput(SPEAKER_SHUTDOWN);
|
||||
writePinHigh(SPEAKER_SHUTDOWN);
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
|
||||
void keyboard_post_init_kb(void) {
|
||||
// set pin based on active status
|
||||
writePin(SPEAKER_SHUTDOWN, audio_is_on());
|
||||
keyboard_post_init_user();
|
||||
}
|
||||
|
||||
void audio_on_user(void) {
|
||||
writePinHigh(SPEAKER_SHUTDOWN);
|
||||
}
|
||||
|
||||
void audio_off_user(void) {
|
||||
// needs a delay or it runs right after play note.
|
||||
wait_ms(200);
|
||||
writePinLow(SPEAKER_SHUTDOWN);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) { return false; }
|
||||
|
||||
@@ -20,3 +20,6 @@
|
||||
|
||||
#undef RP_SPI_USE_SPI1
|
||||
#define RP_SPI_USE_SPI1 TRUE
|
||||
|
||||
#undef RP_PWM_USE_PWM0
|
||||
#define RP_PWM_USE_PWM0 TRUE
|
||||
|
||||
@@ -9,8 +9,8 @@ COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
# AUDIO_DRIVER = pwm_software
|
||||
AUDIO_ENABLE = yes # Audio output
|
||||
AUDIO_DRIVER = pwm_hardware
|
||||
ENCODER_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
|
||||
@@ -17,60 +17,117 @@
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label":"F1", "x":0, "y":0},
|
||||
{"label":"Tab", "x":1.25, "y":0, "w":1.5},
|
||||
{"label":"Q", "x":2.75, "y":0},
|
||||
{"label":"W", "x":3.75, "y":0},
|
||||
{"label":"E", "x":4.75, "y":0},
|
||||
{"label":"R", "x":5.75, "y":0},
|
||||
{"label":"T", "x":6.75, "y":0},
|
||||
{"label":"Y", "x":7.75, "y":0},
|
||||
{"label":"U", "x":8.75, "y":0},
|
||||
{"label":"I", "x":9.75, "y":0},
|
||||
{"label":"O", "x":10.75, "y":0},
|
||||
{"label":"P", "x":11.75, "y":0},
|
||||
{"label":"{", "x":12.75, "y":0},
|
||||
{"label":"Backspace", "x":13.75, "y":0, "w":1.5},
|
||||
{"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "Tab", "matrix": [0, 1], "x": 1.25, "y": 0, "w": 1.5},
|
||||
{"label": "Q", "matrix": [0, 2], "x": 2.75, "y": 0},
|
||||
{"label": "W", "matrix": [0, 3], "x": 3.75, "y": 0},
|
||||
{"label": "E", "matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
{"label": "R", "matrix": [0, 5], "x": 5.75, "y": 0},
|
||||
{"label": "T", "matrix": [0, 6], "x": 6.75, "y": 0},
|
||||
{"label": "Y", "matrix": [0, 7], "x": 7.75, "y": 0},
|
||||
{"label": "U", "matrix": [0, 8], "x": 8.75, "y": 0},
|
||||
{"label": "I", "matrix": [0, 9], "x": 9.75, "y": 0},
|
||||
{"label": "O", "matrix": [0, 10], "x": 10.75, "y": 0},
|
||||
{"label": "P", "matrix": [0, 11], "x": 11.75, "y": 0},
|
||||
{"label": "{", "matrix": [0, 12], "x": 12.75, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 13], "x": 13.75, "y": 0, "w": 1.5},
|
||||
|
||||
{"label":"F2", "x":0, "y":1},
|
||||
{"label":"Caps Lock", "x":1.25, "y":1, "w":1.75},
|
||||
{"label":"A", "x":3, "y":1},
|
||||
{"label":"S", "x":4, "y":1},
|
||||
{"label":"D", "x":5, "y":1},
|
||||
{"label":"F", "x":6, "y":1},
|
||||
{"label":"G", "x":7, "y":1},
|
||||
{"label":"H", "x":8, "y":1},
|
||||
{"label":"J", "x":9, "y":1},
|
||||
{"label":"K", "x":10, "y":1},
|
||||
{"label":"L", "x":11, "y":1},
|
||||
{"label":":", "x":12, "y":1},
|
||||
{"label":"Enter", "x":13, "y":1, "w":2.25},
|
||||
|
||||
{"label":"F3", "x":0, "y":2},
|
||||
{"label":"Shift", "x":1.25, "y":2, "w":2.25},
|
||||
{"label":"Z", "x":3.5, "y":2},
|
||||
{"label":"X", "x":4.5, "y":2},
|
||||
{"label":"C", "x":5.5, "y":2},
|
||||
{"label":"V", "x":6.5, "y":2},
|
||||
{"label":"B", "x":7.5, "y":2},
|
||||
{"label":"N", "x":8.5, "y":2},
|
||||
{"label":"M", "x":9.5, "y":2},
|
||||
{"label":"<", "x":10.5, "y":2},
|
||||
{"label":"Shift", "x":11.5, "y":2, "w":1.75},
|
||||
{"label":"Up", "x":13.25, "y":2},
|
||||
{"label":"?", "x":14.25, "y":2},
|
||||
|
||||
{"label":"F4", "x":0, "y":3},
|
||||
{"label":"Ctrl", "x":1.25, "y":3, "w":1.25},
|
||||
{"label":"Win", "x":2.5, "y":3},
|
||||
{"label":"Alt", "x":3.5, "y":3, "w":1.25},
|
||||
{"label":"Spacebar", "x":4.75, "y":3, "w":2.25},
|
||||
{"label":"Spacebar", "x":7, "y":3, "w":1.25},
|
||||
{"label":"Spacebar", "x":8.25, "y":3, "w":2.75},
|
||||
{"label":"Alt", "x":11, "y":3, "w":1.25},
|
||||
{"label":"Left", "x":12.25, "y":3},
|
||||
{"label":"Down", "x":13.25, "y":3},
|
||||
{"label":"Right", "x":14.25, "y":3}
|
||||
{"label": "F2", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.75},
|
||||
{"label": "A", "matrix": [1, 2], "x": 3, "y": 1},
|
||||
{"label": "S", "matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"label": "D", "matrix": [1, 4], "x": 5, "y": 1},
|
||||
{"label": "F", "matrix": [1, 5], "x": 6, "y": 1},
|
||||
{"label": "G", "matrix": [1, 6], "x": 7, "y": 1},
|
||||
{"label": "H", "matrix": [1, 7], "x": 8, "y": 1},
|
||||
{"label": "J", "matrix": [1, 8], "x": 9, "y": 1},
|
||||
{"label": "K", "matrix": [1, 9], "x": 10, "y": 1},
|
||||
{"label": "L", "matrix": [1, 10], "x": 11, "y": 1},
|
||||
{"label": ":", "matrix": [1, 11], "x": 12, "y": 1},
|
||||
{"label": "Enter", "matrix": [1, 13], "x": 13, "y": 1, "w": 2.25},
|
||||
|
||||
{"label": "F3", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "Shift", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 2.25},
|
||||
{"label": "Z", "matrix": [2, 2], "x": 3.5, "y": 2},
|
||||
{"label": "X", "matrix": [2, 3], "x": 4.5, "y": 2},
|
||||
{"label": "C", "matrix": [2, 4], "x": 5.5, "y": 2},
|
||||
{"label": "V", "matrix": [2, 5], "x": 6.5, "y": 2},
|
||||
{"label": "B", "matrix": [2, 6], "x": 7.5, "y": 2},
|
||||
{"label": "N", "matrix": [2, 7], "x": 8.5, "y": 2},
|
||||
{"label": "M", "matrix": [2, 8], "x": 9.5, "y": 2},
|
||||
{"label": "<", "matrix": [2, 9], "x": 10.5, "y": 2},
|
||||
{"label": "Shift", "matrix": [2, 10], "x": 11.5, "y": 2, "w": 1.75},
|
||||
{"label": "Up", "matrix": [2, 12], "x": 13.25, "y": 2},
|
||||
{"label": "?", "matrix": [2, 13], "x": 14.25, "y": 2},
|
||||
|
||||
{"label": "F4", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
|
||||
{"label": "Win", "matrix": [3, 2], "x": 2.5, "y": 3},
|
||||
{"label": "Alt", "matrix": [3, 3], "x": 3.5, "y": 3, "w": 1.25},
|
||||
{"label": "Spacebar", "matrix": [3, 5], "x": 4.75, "y": 3, "w": 2.25},
|
||||
{"label": "Spacebar", "matrix": [3, 6], "x": 7, "y": 3, "w": 1.25},
|
||||
{"label": "Spacebar", "matrix": [3, 7], "x": 8.25, "y": 3, "w": 2.75},
|
||||
{"label": "Alt", "matrix": [3, 10], "x": 11, "y": 3, "w": 1.25},
|
||||
{"label": "Left", "matrix": [3, 11], "x": 12.25, "y": 3},
|
||||
{"label": "Down", "matrix": [3, 12], "x": 13.25, "y": 3},
|
||||
{"label": "Right", "matrix": [3, 13], "x": 14.25, "y": 3}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_625u_space": {
|
||||
"layout": [
|
||||
{"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "Tab", "matrix": [0, 1], "x": 1.25, "y": 0, "w": 1.5},
|
||||
{"label": "Q", "matrix": [0, 2], "x": 2.75, "y": 0},
|
||||
{"label": "W", "matrix": [0, 3], "x": 3.75, "y": 0},
|
||||
{"label": "E", "matrix": [0, 4], "x": 4.75, "y": 0},
|
||||
{"label": "R", "matrix": [0, 5], "x": 5.75, "y": 0},
|
||||
{"label": "T", "matrix": [0, 6], "x": 6.75, "y": 0},
|
||||
{"label": "Y", "matrix": [0, 7], "x": 7.75, "y": 0},
|
||||
{"label": "U", "matrix": [0, 8], "x": 8.75, "y": 0},
|
||||
{"label": "I", "matrix": [0, 9], "x": 9.75, "y": 0},
|
||||
{"label": "O", "matrix": [0, 10], "x": 10.75, "y": 0},
|
||||
{"label": "P", "matrix": [0, 11], "x": 11.75, "y": 0},
|
||||
{"label": "{", "matrix": [0, 12], "x": 12.75, "y": 0},
|
||||
{"label": "Backspace", "matrix": [0, 13], "x": 13.75, "y": 0, "w": 1.5},
|
||||
|
||||
{"label": "F2", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "Caps Lock", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.75},
|
||||
{"label": "A", "matrix": [1, 2], "x": 3, "y": 1},
|
||||
{"label": "S", "matrix": [1, 3], "x": 4, "y": 1},
|
||||
{"label": "D", "matrix": [1, 4], "x": 5, "y": 1},
|
||||
{"label": "F", "matrix": [1, 5], "x": 6, "y": 1},
|
||||
{"label": "G", "matrix": [1, 6], "x": 7, "y": 1},
|
||||
{"label": "H", "matrix": [1, 7], "x": 8, "y": 1},
|
||||
{"label": "J", "matrix": [1, 8], "x": 9, "y": 1},
|
||||
{"label": "K", "matrix": [1, 9], "x": 10, "y": 1},
|
||||
{"label": "L", "matrix": [1, 10], "x": 11, "y": 1},
|
||||
{"label": ":", "matrix": [1, 11], "x": 12, "y": 1},
|
||||
{"label": "Enter", "matrix": [1, 13], "x": 13, "y": 1, "w": 2.25},
|
||||
|
||||
{"label": "F3", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "Shift", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 2.25},
|
||||
{"label": "Z", "matrix": [2, 2], "x": 3.5, "y": 2},
|
||||
{"label": "X", "matrix": [2, 3], "x": 4.5, "y": 2},
|
||||
{"label": "C", "matrix": [2, 4], "x": 5.5, "y": 2},
|
||||
{"label": "V", "matrix": [2, 5], "x": 6.5, "y": 2},
|
||||
{"label": "B", "matrix": [2, 6], "x": 7.5, "y": 2},
|
||||
{"label": "N", "matrix": [2, 7], "x": 8.5, "y": 2},
|
||||
{"label": "M", "matrix": [2, 8], "x": 9.5, "y": 2},
|
||||
{"label": "<", "matrix": [2, 9], "x": 10.5, "y": 2},
|
||||
{"label": "Shift", "matrix": [2, 10], "x": 11.5, "y": 2, "w": 1.75},
|
||||
{"label": "Up", "matrix": [2, 12], "x": 13.25, "y": 2},
|
||||
{"label": "?", "matrix": [2, 13], "x": 14.25, "y": 2},
|
||||
|
||||
{"label": "F4", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "Ctrl", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
|
||||
{"label": "Win", "matrix": [3, 2], "x": 2.5, "y": 3},
|
||||
{"label": "Alt", "matrix": [3, 3], "x": 3.5, "y": 3, "w": 1.25},
|
||||
{"label": "Spacebar", "matrix": [3, 6], "x": 4.75, "y": 3, "w": 6.25},
|
||||
{"label": "Alt", "matrix": [3, 10], "x": 11, "y": 3, "w": 1.25},
|
||||
{"label": "Left", "matrix": [3, 11], "x": 12.25, "y": 3},
|
||||
{"label": "Down", "matrix": [3, 12], "x": 13.25, "y": 3},
|
||||
{"label": "Right", "matrix": [3, 13], "x": 14.25, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
41
keyboards/adpenrose/obi/keymaps/default_625u_space/keymap.c
Normal file
41
keyboards/adpenrose/obi/keymaps/default_625u_space/keymap.c
Normal file
@@ -0,0 +1,41 @@
|
||||
// Copyright 2022 Arturo Avila (@ADPenrose)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base */
|
||||
[0] = LAYOUT_625u_space(
|
||||
KC_ESC, 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_BSPC,
|
||||
KC_MUTE, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||
KC_VOLU, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT, KC_UP, KC_SLSH,
|
||||
KC_VOLD, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_625u_space(
|
||||
KC_DEL, KC_TRNS, 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_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_625u_space(
|
||||
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_RBRC,
|
||||
KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_625u_space(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[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
|
||||
@@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
16
keyboards/adpenrose/obi/matrix_diagram.md
Normal file
16
keyboards/adpenrose/obi/matrix_diagram.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Matrix Diagram for ADPenrose Obi
|
||||
|
||||
```
|
||||
┌───┐┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
|
||||
│00 ││01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │
|
||||
├───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
│10 ││11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1D │
|
||||
├───┤├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||
│20 ││21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2C │2D │
|
||||
├───┤├────┬───┼───┴┬──┴───┴─┬─┴──┬┴───┴───┴─┬─┴──┬───┼───┼───┤
|
||||
│30 ││31 │32 │33 │35 │36 │37 │3A │3B │3C │3D │
|
||||
└───┘└────┴───┴────┴────────┴────┴──────────┴────┴───┴───┴───┘
|
||||
┌────────────────────────┐
|
||||
│36 │ 6.25u Space
|
||||
└────────────────────────┘
|
||||
```
|
||||
@@ -1,5 +0,0 @@
|
||||
// Copyright 2022 Arturo Avila (@ADPenrose)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "obi.h"
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
// Copyright 2022 Arturo Avila (@ADPenrose)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2C, K2D, \
|
||||
K30, K31, K32, K33, K35, K36, K37, K3A, K3B, K3C, K3D \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_NO, K2C, K2D }, \
|
||||
{ K30, K31, K32, K33, KC_NO, K35, K36, K37, KC_NO, KC_NO, K3A, K3B, K3C, K3D } \
|
||||
}
|
||||
73
keyboards/alhenkb/macropad5x4/info.json
Normal file
73
keyboards/alhenkb/macropad5x4/info.json
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"manufacturer": "AlhenKB",
|
||||
"keyboard_name": "Macropad 5x4",
|
||||
"maintainer": "alhenx",
|
||||
"development_board": "promicro",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"rows": ["F5", "F7", "B3", "B6", "B5"],
|
||||
"cols": ["F4", "F6", "B1", "B2"]
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0001",
|
||||
"vid": "0x6178"
|
||||
},
|
||||
"community_layouts": ["ortho_5x4", "numpad_5x4"],
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x4": {
|
||||
"layout": [
|
||||
{"label": "K00 (F5,F4)", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "K01 (F5,F6)", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "K02 (F5,B1)", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "K03 (F5,B2)", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "K10 (F7,F4)", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "K11 (F7,F6)", "matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"label": "K12 (F7,B1)", "matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"label": "K13 (F7,B2)", "matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"label": "K20 (B3,F4)", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "K21 (B3,F6)", "matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"label": "K22 (B3,B1)", "matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"label": "K23 (B3,B2)", "matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"label": "K30 (B6,F4)", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "K31 (B6,F6)", "matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"label": "K32 (B6,B1)", "matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"label": "K33 (B6,B2)", "matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"label": "K40 (B5,F4)", "matrix": [4, 0], "x": 0, "y": 4},
|
||||
{"label": "K41 (B5,F6)", "matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"label": "K42 (B5,B1)", "matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"label": "K43 (B5,B2)", "matrix": [4, 3], "x": 3, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_numpad_5x4": {
|
||||
"layout": [
|
||||
{"label": "K00 (F5,F4)", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "K01 (F5,F6)", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "K02 (F5,B1)", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "K03 (F5,B2)", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "K10 (F7,F4)", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "K11 (F7,F6)", "matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"label": "K12 (F7,B1)", "matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"label": "K20 (B3,F4)", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "K21 (B3,F6)", "matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"label": "K22 (B3,B1)", "matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"label": "K23 (B3,B2)", "matrix": [2, 3], "x": 3, "y": 1, "h": 2},
|
||||
{"label": "K30 (B6,F4)", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "K31 (B6,F6)", "matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"label": "K32 (B6,B1)", "matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"label": "K40 (B5,F4)", "matrix": [4, 0], "x": 0, "y": 4, "w": 2},
|
||||
{"label": "K42 (B5,B1)", "matrix": [4, 2], "x": 2, "y": 4}
|
||||
{"label": "K43 (B5,B2)", "matrix": [4, 3], "x": 3, "y": 3, "h": 2},
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
27
keyboards/alhenkb/macropad5x4/keymaps/default/keymap.c
Normal file
27
keyboards/alhenkb/macropad5x4/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,27 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │ 1 │ 2 │ 3 │ 4 │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 5 │ 6 │ 7 │ 8 │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ Q │ W │ E │ R │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ A │ S │ D │ F │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ Z │ X │ C │ V │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_ortho_5x4(
|
||||
KC_P1, KC_P2, KC_P3, KC_P4,
|
||||
KC_P5, KC_P6, KC_P7, KC_P8,
|
||||
KC_Q, KC_W, KC_E, KC_R,
|
||||
KC_A, KC_S, KC_D, KC_F,
|
||||
KC_Z, KC_X, KC_C, KC_V
|
||||
),
|
||||
};
|
||||
48
keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c
Normal file
48
keyboards/alhenkb/macropad5x4/keymaps/numpad/keymap.c
Normal file
@@ -0,0 +1,48 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 7 │ 8 │ 9 │ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ 4 │ 5 │ 6 │ │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 1 │ 2 │ 3 │ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │ 0 │ . │ │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_numpad_5x4(
|
||||
TG(1), KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │TG1│ / │ * │ - │
|
||||
* ┌───┬───┬───┐───┤
|
||||
* │Hom│ ↑ │PgU│ │
|
||||
* ├───┼───┼───┤ + │
|
||||
* │ ← │ │ → │ │
|
||||
* ├───┼───┼───┤───┤
|
||||
* │End│ ↓ │PgD│ │
|
||||
* ├───┴───┼───┤Ent│
|
||||
* │Insert │Del│ │
|
||||
* └───────┴───┘───┘
|
||||
*/
|
||||
[1] = LAYOUT_numpad_5x4(
|
||||
_______, _______, _______, _______,
|
||||
KC_HOME, KC_UP, KC_PGUP,
|
||||
KC_LEFT, XXXXXXX, KC_RGHT, _______,
|
||||
KC_END, KC_DOWN, KC_PGDN,
|
||||
KC_INS, KC_DEL, _______
|
||||
)
|
||||
};
|
||||
27
keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c
Normal file
27
keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,27 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* ┌───┬───┬───┬───┐
|
||||
* │ 1 │ 2 │ 3 │ 4 │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ 5 │ 6 │ 7 │ 8 │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ Q │ W │ E │ R │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ A │ S │ D │ F │
|
||||
* ├───┼───┼───┼───┤
|
||||
* │ Z │ X │ C │ V │
|
||||
* └───────┴───┴───┘
|
||||
*/
|
||||
[0] = LAYOUT_ortho_5x4(
|
||||
KC_P1, KC_P2, KC_P3, KC_P4,
|
||||
KC_P5, KC_P6, KC_P7, KC_P8,
|
||||
KC_Q, KC_W, KC_E, KC_R,
|
||||
KC_A, KC_S, KC_D, KC_F,
|
||||
KC_Z, KC_X, KC_C, KC_V
|
||||
),
|
||||
};
|
||||
1
keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk
Normal file
1
keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
41
keyboards/alhenkb/macropad5x4/readme.md
Normal file
41
keyboards/alhenkb/macropad5x4/readme.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# AlhenKB - Macropad 5x4 and Numpad
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
A macropad 5x4 for MerryPCB.
|
||||
|
||||
* Keyboard Maintainer: [Alhen](https://github.com/alhenx)
|
||||
* Hardware Supported: MerryPCB
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
Macropad:
|
||||
|
||||
make alhenkb/macropad5x4:default
|
||||
|
||||
Numpad:
|
||||
|
||||
make alhenkb/macropad5x4:numpad
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
Macropad:
|
||||
|
||||
make alhenkb/macropad5x4:default:flash
|
||||
|
||||
|
||||
Numpad:
|
||||
|
||||
make alhenkb/macropad5x4:numpad: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/alhenkb/macropad5x4/rules.mk
Normal file
1
keyboards/alhenkb/macropad5x4/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user