mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-11-25 04:43:02 +00:00
Merge branch 'master' of https://github.com/Smartmmd/qmk_firmware
This commit is contained in:
commit
238ebd96bc
34
.github/workflows/ci_build_major_branch.yml
vendored
34
.github/workflows/ci_build_major_branch.yml
vendored
@ -52,9 +52,9 @@ jobs:
|
||||
run: |
|
||||
target_count=$( {
|
||||
qmk find -km default 2>/dev/null
|
||||
qmk find -km via 2>/dev/null
|
||||
# qmk find -km xap 2>/dev/null
|
||||
} | sort | uniq | wc -l)
|
||||
slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution as we're splitting default and via
|
||||
slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution
|
||||
echo "slice_length=$slice_length" >> $GITHUB_OUTPUT
|
||||
|
||||
build_targets:
|
||||
@ -63,7 +63,8 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
keymap: [default, via]
|
||||
keymap: [default]
|
||||
# keymap: [default, xap]
|
||||
uses: ./.github/workflows/ci_build_major_branch_keymap.yml
|
||||
with:
|
||||
branch: ${{ inputs.branch || github.ref_name }}
|
||||
@ -77,44 +78,59 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Disable safe.directory check
|
||||
run: |
|
||||
git config --global --add safe.directory '*'
|
||||
|
||||
- name: Checkout QMK Firmware
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Download firmwares
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
pattern: firmware-*
|
||||
path: firmwares
|
||||
path: .
|
||||
merge-multiple: true
|
||||
|
||||
- name: Generate index page
|
||||
run: |
|
||||
python3 -m pip install -r ./util/ci/requirements.txt
|
||||
./util/ci/index_generator.py > index.html
|
||||
./util/ci/firmware_list_generator.py > firmware_list.json
|
||||
|
||||
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/${{ github.sha }}
|
||||
uses: jakejarvis/s3-sync-action@master
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks --delete
|
||||
args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2'
|
||||
env:
|
||||
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
|
||||
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
|
||||
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
|
||||
SOURCE_DIR: firmwares
|
||||
SOURCE_DIR: .
|
||||
DEST_DIR: ${{ inputs.branch || github.ref_name }}/${{ github.sha }}
|
||||
|
||||
- name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/latest
|
||||
uses: jakejarvis/s3-sync-action@master
|
||||
with:
|
||||
args: --acl public-read --follow-symlinks --delete
|
||||
args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2'
|
||||
env:
|
||||
AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }}
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }}
|
||||
AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }}
|
||||
AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }}
|
||||
SOURCE_DIR: firmwares
|
||||
SOURCE_DIR: .
|
||||
DEST_DIR: ${{ inputs.branch || github.ref_name }}/latest
|
||||
|
||||
- name: Check if failure marker file exists
|
||||
id: check_failure_marker
|
||||
uses: andstor/file-existence-action@v3
|
||||
with:
|
||||
files: firmwares/.failed
|
||||
files: ./.failed
|
||||
|
||||
- name: Fail build if needed
|
||||
if: steps.check_failure_marker.outputs.files_exists == 'true'
|
||||
|
@ -172,10 +172,10 @@ jobs:
|
||||
targets-${{ inputs.keymap }}
|
||||
|
||||
- name: 'CI Discord Notification'
|
||||
if: always()
|
||||
if: always() && !cancelled()
|
||||
working-directory: util/ci/
|
||||
env:
|
||||
DISCORD_WEBHOOK: ${{ secrets.CI_DISCORD_WEBHOOK }}
|
||||
run: |
|
||||
python3 -m pip install -r requirements.txt
|
||||
python3 ./discord-results.py --branch ${{ inputs.branch || github.ref_name }} --keymap ${{ inputs.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
python3 ./discord-results.py --branch ${{ inputs.branch || github.ref_name }} --sha $(git rev-parse HEAD) --keymap ${{ inputs.keymap }} --url ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
2
.github/workflows/docs.yml
vendored
2
.github/workflows/docs.yml
vendored
@ -56,7 +56,7 @@ jobs:
|
||||
|
||||
- name: Deploy
|
||||
if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }}
|
||||
uses: JamesIves/github-pages-deploy-action@v4.6.1
|
||||
uses: JamesIves/github-pages-deploy-action@v4.6.3
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: gh-pages
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -25,6 +25,8 @@
|
||||
*.la
|
||||
*.stackdump
|
||||
*.sym
|
||||
index.html
|
||||
firmware_list.json
|
||||
|
||||
# QMK-specific
|
||||
api_data/v1
|
||||
|
@ -33,7 +33,7 @@ export default defineConfig(({ mode }) => {
|
||||
},
|
||||
title: 'QMK Firmware',
|
||||
|
||||
nav: [{ text: "Home", link: "./" }],
|
||||
nav: [{ text: "Home", link: "/" }],
|
||||
|
||||
search: {
|
||||
provider: "local",
|
||||
|
@ -2,8 +2,6 @@
|
||||
"keyboard_name": "%KEYBOARD%",
|
||||
"maintainer": "%USER_NAME%",
|
||||
"manufacturer": "%REAL_NAME%",
|
||||
"processor": "%MCU%",
|
||||
"bootloader": "%BOOTLOADER%",
|
||||
"diode_direction": "COL2ROW",
|
||||
"matrix_pins": {
|
||||
"cols": ["C2"],
|
||||
|
@ -85,9 +85,9 @@ Your `keymap.c` will then need an encoder mapping defined (for four layers and t
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
|
||||
[2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },
|
||||
[3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
|
||||
[1] = { ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) },
|
||||
[2] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU) },
|
||||
[3] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
|
||||
};
|
||||
#endif
|
||||
```
|
||||
|
@ -59,30 +59,32 @@ Changing the **Value** sets the overall brightness.<br>
|
||||
|
||||
## Keycodes
|
||||
|
||||
|Key |Aliases |Description |
|
||||
|-------------------|----------|--------------------------------------------------------------------|
|
||||
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
||||
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
||||
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
|
||||
|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
|
||||
|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
|
||||
|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
|
||||
|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
|
||||
|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
|
||||
|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
|
||||
|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
|
||||
|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
|
||||
|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
|
||||
|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode |
|
||||
|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode |
|
||||
|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode |
|
||||
|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode |
|
||||
|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode |
|
||||
|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode |
|
||||
|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode |
|
||||
|Key |Aliases |Description |
|
||||
|------------------------------|----------|---------------------------------------------------------------------|
|
||||
|`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off |
|
||||
|`QK_UNDERGLOW_MODE_NEXT` |`UG_NEXT` |Cycle through modes, reverse direction when Shift is held |
|
||||
|`QK_UNDERGLOW_MODE_PREVIOUS` |`UG_PREV` |Cycle through modes in reverse, forward direction when Shift is held |
|
||||
|`QK_UNDERGLOW_HUE_UP` |`UG_HUEU` |Increase hue, decrease hue when Shift is held |
|
||||
|`QK_UNDERGLOW_HUE_DOWN` |`UG_HUED` |Decrease hue, increase hue when Shift is held |
|
||||
|`QK_UNDERGLOW_SATURATION_UP` |`UG_SATU` |Increase saturation, decrease saturation when Shift is held |
|
||||
|`QK_UNDERGLOW_SATURATION_DOWN`|`UG_SATD` |Decrease saturation, increase saturation when Shift is held |
|
||||
|`QK_UNDERGLOW_VALUE_UP` |`UG_VALU` |Increase value (brightness), decrease value when Shift is held |
|
||||
|`QK_UNDERGLOW_VALUE_DOWN` |`UG_VALD` |Decrease value (brightness), increase value when Shift is held |
|
||||
|`QK_UNDERGLOW_SPEED_UP` |`UG_SPDU` |Increase effect speed (brightness), decrease speed when Shift is held|
|
||||
|`QK_UNDERGLOW_SPEED_DOWN` |`UG_SPDD` |Decrease effect speed (brightness), increase speed when Shift is held|
|
||||
|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode (deprecated) |
|
||||
|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode (deprecated) |
|
||||
|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode (deprecated) |
|
||||
|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode (deprecated) |
|
||||
|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode (deprecated) |
|
||||
|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode (deprecated) |
|
||||
|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode (deprecated) |
|
||||
|`RGB_MODE_GRADIENT` |`RGB_M_G` |Static gradient animation mode (deprecated) |
|
||||
|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) |
|
||||
|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) |
|
||||
|
||||
::: tip
|
||||
`RGB_*` keycodes cannot be used with functions like `tap_code16(RGB_HUI)` as they're not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead.
|
||||
These keycodes cannot be used with functions like `tap_code16()` as they are not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead.
|
||||
:::
|
||||
|
||||
|
||||
@ -358,7 +360,7 @@ Lighting layers on split keyboards will require layer state synced to the slave
|
||||
|
||||
### Overriding RGB Lighting on/off status
|
||||
|
||||
Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `RGB_TOG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`.
|
||||
Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `UG_TOGG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`.
|
||||
|
||||
### Retain brightness
|
||||
|
||||
|
@ -701,26 +701,29 @@ See also: [Dynamic Tapping Term](tap_hold#dynamic-tapping-term)
|
||||
|
||||
See also: [RGB Lighting](features/rgblight)
|
||||
|
||||
|Key |Aliases |Description |
|
||||
|-------------------|----------|--------------------------------------------------------------------|
|
||||
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
||||
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
||||
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
|
||||
|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
|
||||
|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
|
||||
|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
|
||||
|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
|
||||
|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
|
||||
|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
|
||||
|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
|
||||
|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
|
||||
|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
|
||||
|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode |
|
||||
|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode |
|
||||
|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode |
|
||||
|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode |
|
||||
|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode |
|
||||
|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red,Green,Blue test animation mode |
|
||||
|Key |Aliases |Description |
|
||||
|------------------------------|----------|---------------------------------------------------------------------|
|
||||
|`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off |
|
||||
|`QK_UNDERGLOW_MODE_NEXT` |`UG_NEXT` |Cycle through modes, reverse direction when Shift is held |
|
||||
|`QK_UNDERGLOW_MODE_PREVIOUS` |`UG_PREV` |Cycle through modes in reverse, forward direction when Shift is held |
|
||||
|`QK_UNDERGLOW_HUE_UP` |`UG_HUEU` |Increase hue, decrease hue when Shift is held |
|
||||
|`QK_UNDERGLOW_HUE_DOWN` |`UG_HUED` |Decrease hue, increase hue when Shift is held |
|
||||
|`QK_UNDERGLOW_SATURATION_UP` |`UG_SATU` |Increase saturation, decrease saturation when Shift is held |
|
||||
|`QK_UNDERGLOW_SATURATION_DOWN`|`UG_SATD` |Decrease saturation, increase saturation when Shift is held |
|
||||
|`QK_UNDERGLOW_VALUE_UP` |`UG_VALU` |Increase value (brightness), decrease value when Shift is held |
|
||||
|`QK_UNDERGLOW_VALUE_DOWN` |`UG_VALD` |Decrease value (brightness), increase value when Shift is held |
|
||||
|`QK_UNDERGLOW_SPEED_UP` |`UG_SPDU` |Increase effect speed (brightness), decrease speed when Shift is held|
|
||||
|`QK_UNDERGLOW_SPEED_DOWN` |`UG_SPDD` |Decrease effect speed (brightness), increase speed when Shift is held|
|
||||
|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode (deprecated) |
|
||||
|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode (deprecated) |
|
||||
|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode (deprecated) |
|
||||
|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode (deprecated) |
|
||||
|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode (deprecated) |
|
||||
|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode (deprecated) |
|
||||
|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode (deprecated) |
|
||||
|`RGB_MODE_GRADIENT` |`RGB_M_G` |Static gradient animation mode (deprecated) |
|
||||
|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) |
|
||||
|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) |
|
||||
|
||||
## RGB Matrix Lighting {#rgb-matrix-lighting}
|
||||
|
||||
|
94
keyboards/4pplet/ibe60/keyboard.json
Normal file
94
keyboards/4pplet/ibe60/keyboard.json
Normal file
@ -0,0 +1,94 @@
|
||||
{
|
||||
"manufacturer": "4pplet",
|
||||
"keyboard_name": "IBE60 Rev A",
|
||||
"maintainer": "4pplet",
|
||||
"bootloader": "stm32-dfu",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"key_lock": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B2", "A5", "A4", "A3", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"],
|
||||
"rows": ["B14", "A9", "B6", "B5", "B4"]
|
||||
},
|
||||
"processor": "STM32F072",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x0001",
|
||||
"vid": "0x4448"
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "A8"
|
||||
},
|
||||
"community_layouts": ["60_hhkb"],
|
||||
"layouts": {
|
||||
"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": [2, 13], "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": "|", "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": [3, 13], "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": [4, 13], "x": 14, "y": 3},
|
||||
{"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"label": "Alt", "matrix": [4, 9], "x": 11, "y": 4, "w": 1.5},
|
||||
{"label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
34
keyboards/4pplet/ibe60/keymaps/default/keymap.c
Normal file
34
keyboards/4pplet/ibe60/keymaps/default/keymap.c
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
[0] = LAYOUT_60_hhkb(
|
||||
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
|
||||
// basic function layer
|
||||
[1] = LAYOUT_60_hhkb(
|
||||
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_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_TRNS, 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)
|
||||
};
|
35
keyboards/4pplet/ibe60/keymaps/via/keymap.c
Normal file
35
keyboards/4pplet/ibe60/keymaps/via/keymap.c
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// main layer
|
||||
[0] = LAYOUT_60_hhkb(
|
||||
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
|
||||
// basic function layer
|
||||
[1] = LAYOUT_60_hhkb(
|
||||
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_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_TRNS, 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)
|
||||
};
|
||||
|
1
keyboards/4pplet/ibe60/keymaps/via/rules.mk
Normal file
1
keyboards/4pplet/ibe60/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
24
keyboards/4pplet/ibe60/readme.md
Normal file
24
keyboards/4pplet/ibe60/readme.md
Normal file
@ -0,0 +1,24 @@
|
||||
# IBE60
|
||||
|
||||
PCB mounted 60% PCB for the IBE60 in fixed true HHKB layout
|
||||
|
||||
* Keyboard Maintainer: [Stefan Sundin](https://github.com/4pplet)
|
||||
* Hardware Supported: IBE60 Solder PCB
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 4pplet/ibe60:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 4pplet/ibe60: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 button**: Short the reset-header (labled BL/RESET) on the back of the PCB for about 2 seconds for the keyboard to enter bootloader
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
2
keyboards/4pplet/ibe60/rules.mk
Normal file
2
keyboards/4pplet/ibe60/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
# Wildcard to allow APM32 MCU
|
||||
DFU_SUFFIX_ARGS = -p FFFF -v FFFF
|
89
keyboards/ai03/equinox_xl/keyboard.json
Normal file
89
keyboards/ai03/equinox_xl/keyboard.json
Normal file
@ -0,0 +1,89 @@
|
||||
{
|
||||
"manufacturer": "ai03 Design Studio",
|
||||
"keyboard_name": "Equinox XL",
|
||||
"maintainer": "ai03",
|
||||
"bootloader": "atmel-dfu",
|
||||
"build": {
|
||||
"debounce_type": "asym_eager_defer_pk"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "F1",
|
||||
"on_state": 0
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F5", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"],
|
||||
"rows": ["B7", "F4", "F6", "F7"]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "https://ai03.com/projects/equinox-xl/",
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x0020",
|
||||
"vid": "0xA103"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
|
||||
{"matrix": [0, 1], "x": 1.5, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8.5, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9.5, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10.5, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11.5, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12.5, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13.5, "y": 0, "w": 1.5},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75},
|
||||
{"matrix": [1, 1], "x": 1.75, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.75, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.75, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.75, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.75, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.75, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.75, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.75, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.75, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.75, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.75, "y": 1},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 1, "w": 2.25},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
|
||||
{"matrix": [2, 1], "x": 1.25, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.25, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.25, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.25, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.25, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.25, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.25, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.25, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.25, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.25, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.25, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.25, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 13], "x": 14, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.5},
|
||||
{"matrix": [3, 5], "x": 4, "y": 3, "w": 3},
|
||||
{"matrix": [3, 7], "x": 7, "y": 3},
|
||||
{"matrix": [3, 9], "x": 8, "y": 3, "w": 3},
|
||||
{"matrix": [3, 11], "x": 11, "y": 3, "w": 1.5},
|
||||
{"matrix": [3, 12], "x": 12.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
15
keyboards/ai03/equinox_xl/keymaps/default/keymap.c
Normal file
15
keyboards/ai03/equinox_xl/keymaps/default/keymap.c
Normal file
@ -0,0 +1,15 @@
|
||||
// Copyright 2024 ai03
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_GRV,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
};
|
15
keyboards/ai03/equinox_xl/keymaps/via/keymap.c
Normal file
15
keyboards/ai03/equinox_xl/keymaps/via/keymap.c
Normal file
@ -0,0 +1,15 @@
|
||||
// Copyright 2024 ai03
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_GRV,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
};
|
1
keyboards/ai03/equinox_xl/keymaps/via/rules.mk
Normal file
1
keyboards/ai03/equinox_xl/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
28
keyboards/ai03/equinox_xl/readme.md
Normal file
28
keyboards/ai03/equinox_xl/readme.md
Normal file
@ -0,0 +1,28 @@
|
||||
# Equinox XL
|
||||
|
||||
![Cover image](https://i.imgur.com/sQpe0Zv.jpg)
|
||||
|
||||
A numrowless 50% keyboard
|
||||
|
||||
* Keyboard Maintainer: [ai03](https://github.com/ai03-2725)
|
||||
* Hardware Supported: The Equinox XL PCB, powered by the Atmega32u4
|
||||
* Hardware Availability: Available via group buy
|
||||
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make ai03/equinox_xl:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make ai03/equinox_xl:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Press the reset button on the back of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
@ -36,8 +36,11 @@
|
||||
},
|
||||
"processor": "STM32F303",
|
||||
"bootloader": "stm32-dfu",
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MEDIA_PLAY_PAUSE,
|
||||
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_NUM, KC_PSLS, KC_PAST, KC_B,
|
||||
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_P7, KC_P8, KC_P9, KC_PMNS,
|
||||
@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
@ -155,6 +155,498 @@
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [6, 0], "x": 4.25, "y": 0},
|
||||
|
||||
{"matrix": [6, 1], "x": 5.5, "y": 0},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 0},
|
||||
{"matrix": [6, 3], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 0},
|
||||
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 10.75, "y": 0},
|
||||
{"matrix": [0, 7], "x": 11.75, "y": 0},
|
||||
{"matrix": [0, 8], "x": 12.75, "y": 0},
|
||||
|
||||
{"matrix": [5, 4], "x": 15.5, "y": 0},
|
||||
{"matrix": [5, 5], "x": 16.5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 0},
|
||||
|
||||
{"matrix": [6, 4], "x": 15.5, "y": 1},
|
||||
{"matrix": [6, 5], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [6, 7], "x": 18.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||
{"matrix": [1, 3], "x": 3, "y": 2},
|
||||
{"matrix": [7, 0], "x": 4, "y": 2},
|
||||
{"matrix": [7, 1], "x": 5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 6, "y": 2},
|
||||
{"matrix": [7, 3], "x": 7, "y": 2},
|
||||
{"matrix": [1, 4], "x": 8, "y": 2},
|
||||
{"matrix": [1, 5], "x": 9, "y": 2},
|
||||
{"matrix": [1, 6], "x": 10, "y": 2},
|
||||
{"matrix": [1, 7], "x": 11, "y": 2},
|
||||
{"matrix": [1, 8], "x": 12, "y": 2},
|
||||
{"matrix": [1, 9], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 2},
|
||||
{"matrix": [7, 6], "x": 17.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 18.5, "y": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 4.5, "y": 3},
|
||||
{"matrix": [8, 1], "x": 5.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 6.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 3},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 3},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 3},
|
||||
{"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5},
|
||||
|
||||
{"matrix": [8, 4], "x": 15.5, "y": 3},
|
||||
{"matrix": [8, 5], "x": 16.5, "y": 3},
|
||||
{"matrix": [8, 6], "x": 17.5, "y": 3},
|
||||
{"matrix": [8, 7], "x": 18.5, "y": 3},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 4},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 4},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 4},
|
||||
{"matrix": [9, 0], "x": 4.75, "y": 4},
|
||||
{"matrix": [9, 1], "x": 5.75, "y": 4},
|
||||
{"matrix": [9, 2], "x": 6.75, "y": 4},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4},
|
||||
{"matrix": [3, 4], "x": 8.75, "y": 4},
|
||||
{"matrix": [3, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [3, 6], "x": 10.75, "y": 4},
|
||||
{"matrix": [3, 7], "x": 11.75, "y": 4},
|
||||
{"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25},
|
||||
|
||||
{"matrix": [9, 4], "x": 15.5, "y": 4},
|
||||
{"matrix": [9, 5], "x": 16.5, "y": 4},
|
||||
{"matrix": [9, 6], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 5},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 5},
|
||||
{"matrix": [10, 0], "x": 4.25, "y": 5},
|
||||
{"matrix": [10, 1], "x": 5.25, "y": 5},
|
||||
{"matrix": [10, 2], "x": 6.25, "y": 5},
|
||||
{"matrix": [10, 3], "x": 7.25, "y": 5},
|
||||
{"matrix": [4, 4], "x": 8.25, "y": 5},
|
||||
{"matrix": [4, 5], "x": 9.25, "y": 5},
|
||||
{"matrix": [4, 6], "x": 10.25, "y": 5},
|
||||
{"matrix": [4, 7], "x": 11.25, "y": 5},
|
||||
{"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75},
|
||||
|
||||
{"matrix": [10, 9], "x": 14.25, "y": 5.25},
|
||||
|
||||
{"matrix": [10, 4], "x": 15.5, "y": 5},
|
||||
{"matrix": [10, 5], "x": 16.5, "y": 5},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 5},
|
||||
{"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25},
|
||||
{"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5},
|
||||
{"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5},
|
||||
|
||||
{"matrix": [10, 8], "x": 13.25, "y": 6.25},
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi_wkl": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [6, 0], "x": 4.25, "y": 0},
|
||||
|
||||
{"matrix": [6, 1], "x": 5.5, "y": 0},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 0},
|
||||
{"matrix": [6, 3], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 0},
|
||||
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 10.75, "y": 0},
|
||||
{"matrix": [0, 7], "x": 11.75, "y": 0},
|
||||
{"matrix": [0, 8], "x": 12.75, "y": 0},
|
||||
|
||||
{"matrix": [5, 4], "x": 15.5, "y": 0},
|
||||
{"matrix": [5, 5], "x": 16.5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 0},
|
||||
|
||||
{"matrix": [6, 4], "x": 15.5, "y": 1},
|
||||
{"matrix": [6, 5], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [6, 7], "x": 18.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||
{"matrix": [1, 3], "x": 3, "y": 2},
|
||||
{"matrix": [7, 0], "x": 4, "y": 2},
|
||||
{"matrix": [7, 1], "x": 5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 6, "y": 2},
|
||||
{"matrix": [7, 3], "x": 7, "y": 2},
|
||||
{"matrix": [1, 4], "x": 8, "y": 2},
|
||||
{"matrix": [1, 5], "x": 9, "y": 2},
|
||||
{"matrix": [1, 6], "x": 10, "y": 2},
|
||||
{"matrix": [1, 7], "x": 11, "y": 2},
|
||||
{"matrix": [1, 8], "x": 12, "y": 2},
|
||||
{"matrix": [1, 9], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 2},
|
||||
{"matrix": [7, 6], "x": 17.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 18.5, "y": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 4.5, "y": 3},
|
||||
{"matrix": [8, 1], "x": 5.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 6.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 3},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 3},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 3},
|
||||
{"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5},
|
||||
|
||||
{"matrix": [8, 4], "x": 15.5, "y": 3},
|
||||
{"matrix": [8, 5], "x": 16.5, "y": 3},
|
||||
{"matrix": [8, 6], "x": 17.5, "y": 3},
|
||||
{"matrix": [8, 7], "x": 18.5, "y": 3},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 4},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 4},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 4},
|
||||
{"matrix": [9, 0], "x": 4.75, "y": 4},
|
||||
{"matrix": [9, 1], "x": 5.75, "y": 4},
|
||||
{"matrix": [9, 2], "x": 6.75, "y": 4},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4},
|
||||
{"matrix": [3, 4], "x": 8.75, "y": 4},
|
||||
{"matrix": [3, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [3, 6], "x": 10.75, "y": 4},
|
||||
{"matrix": [3, 7], "x": 11.75, "y": 4},
|
||||
{"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25},
|
||||
|
||||
{"matrix": [9, 4], "x": 15.5, "y": 4},
|
||||
{"matrix": [9, 5], "x": 16.5, "y": 4},
|
||||
{"matrix": [9, 6], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 5},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 5},
|
||||
{"matrix": [10, 0], "x": 4.25, "y": 5},
|
||||
{"matrix": [10, 1], "x": 5.25, "y": 5},
|
||||
{"matrix": [10, 2], "x": 6.25, "y": 5},
|
||||
{"matrix": [10, 3], "x": 7.25, "y": 5},
|
||||
{"matrix": [4, 4], "x": 8.25, "y": 5},
|
||||
{"matrix": [4, 5], "x": 9.25, "y": 5},
|
||||
{"matrix": [4, 6], "x": 10.25, "y": 5},
|
||||
{"matrix": [4, 7], "x": 11.25, "y": 5},
|
||||
{"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75},
|
||||
|
||||
{"matrix": [10, 9], "x": 14.25, "y": 5.25},
|
||||
|
||||
{"matrix": [10, 4], "x": 15.5, "y": 5},
|
||||
{"matrix": [10, 5], "x": 16.5, "y": 5},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 5},
|
||||
{"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5},
|
||||
{"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5},
|
||||
{"matrix": [5, 3], "x": 3, "y": 6, "w": 7},
|
||||
{"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5},
|
||||
{"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5},
|
||||
|
||||
{"matrix": [10, 8], "x": 13.25, "y": 6.25},
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [6, 0], "x": 4.25, "y": 0},
|
||||
|
||||
{"matrix": [6, 1], "x": 5.5, "y": 0},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 0},
|
||||
{"matrix": [6, 3], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 0},
|
||||
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 10.75, "y": 0},
|
||||
{"matrix": [0, 7], "x": 11.75, "y": 0},
|
||||
{"matrix": [0, 8], "x": 12.75, "y": 0},
|
||||
|
||||
{"matrix": [5, 4], "x": 15.5, "y": 0},
|
||||
{"matrix": [5, 5], "x": 16.5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 0},
|
||||
|
||||
{"matrix": [6, 4], "x": 15.5, "y": 1},
|
||||
{"matrix": [6, 5], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [6, 7], "x": 18.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||
{"matrix": [1, 3], "x": 3, "y": 2},
|
||||
{"matrix": [7, 0], "x": 4, "y": 2},
|
||||
{"matrix": [7, 1], "x": 5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 6, "y": 2},
|
||||
{"matrix": [7, 3], "x": 7, "y": 2},
|
||||
{"matrix": [1, 4], "x": 8, "y": 2},
|
||||
{"matrix": [1, 5], "x": 9, "y": 2},
|
||||
{"matrix": [1, 6], "x": 10, "y": 2},
|
||||
{"matrix": [1, 7], "x": 11, "y": 2},
|
||||
{"matrix": [1, 8], "x": 12, "y": 2},
|
||||
{"matrix": [1, 9], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 2},
|
||||
{"matrix": [7, 6], "x": 17.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 18.5, "y": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 4.5, "y": 3},
|
||||
{"matrix": [8, 1], "x": 5.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 6.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 3},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 3},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 3},
|
||||
|
||||
{"matrix": [8, 4], "x": 15.5, "y": 3},
|
||||
{"matrix": [8, 5], "x": 16.5, "y": 3},
|
||||
{"matrix": [8, 6], "x": 17.5, "y": 3},
|
||||
{"matrix": [8, 7], "x": 18.5, "y": 3},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 4},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 4},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 4},
|
||||
{"matrix": [9, 0], "x": 4.75, "y": 4},
|
||||
{"matrix": [9, 1], "x": 5.75, "y": 4},
|
||||
{"matrix": [9, 2], "x": 6.75, "y": 4},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4},
|
||||
{"matrix": [3, 4], "x": 8.75, "y": 4},
|
||||
{"matrix": [3, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [3, 6], "x": 10.75, "y": 4},
|
||||
{"matrix": [3, 7], "x": 11.75, "y": 4},
|
||||
{"matrix": [2, 9], "x": 12.75, "y": 4},
|
||||
{"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [9, 4], "x": 15.5, "y": 4},
|
||||
{"matrix": [9, 5], "x": 16.5, "y": 4},
|
||||
{"matrix": [9, 6], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 5},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 5},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 5},
|
||||
{"matrix": [10, 0], "x": 4.25, "y": 5},
|
||||
{"matrix": [10, 1], "x": 5.25, "y": 5},
|
||||
{"matrix": [10, 2], "x": 6.25, "y": 5},
|
||||
{"matrix": [10, 3], "x": 7.25, "y": 5},
|
||||
{"matrix": [4, 4], "x": 8.25, "y": 5},
|
||||
{"matrix": [4, 5], "x": 9.25, "y": 5},
|
||||
{"matrix": [4, 6], "x": 10.25, "y": 5},
|
||||
{"matrix": [4, 7], "x": 11.25, "y": 5},
|
||||
{"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75},
|
||||
|
||||
{"matrix": [10, 9], "x": 14.25, "y": 5.25},
|
||||
|
||||
{"matrix": [10, 4], "x": 15.5, "y": 5},
|
||||
{"matrix": [10, 5], "x": 16.5, "y": 5},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 5},
|
||||
{"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25},
|
||||
{"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5},
|
||||
{"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5},
|
||||
|
||||
{"matrix": [10, 8], "x": 13.25, "y": 6.25},
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso_wkl": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [6, 0], "x": 4.25, "y": 0},
|
||||
|
||||
{"matrix": [6, 1], "x": 5.5, "y": 0},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 0},
|
||||
{"matrix": [6, 3], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 0},
|
||||
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 10.75, "y": 0},
|
||||
{"matrix": [0, 7], "x": 11.75, "y": 0},
|
||||
{"matrix": [0, 8], "x": 12.75, "y": 0},
|
||||
|
||||
{"matrix": [5, 4], "x": 15.5, "y": 0},
|
||||
{"matrix": [5, 5], "x": 16.5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 0},
|
||||
|
||||
{"matrix": [6, 4], "x": 15.5, "y": 1},
|
||||
{"matrix": [6, 5], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [6, 7], "x": 18.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||
{"matrix": [1, 3], "x": 3, "y": 2},
|
||||
{"matrix": [7, 0], "x": 4, "y": 2},
|
||||
{"matrix": [7, 1], "x": 5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 6, "y": 2},
|
||||
{"matrix": [7, 3], "x": 7, "y": 2},
|
||||
{"matrix": [1, 4], "x": 8, "y": 2},
|
||||
{"matrix": [1, 5], "x": 9, "y": 2},
|
||||
{"matrix": [1, 6], "x": 10, "y": 2},
|
||||
{"matrix": [1, 7], "x": 11, "y": 2},
|
||||
{"matrix": [1, 8], "x": 12, "y": 2},
|
||||
{"matrix": [1, 9], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 2},
|
||||
{"matrix": [7, 6], "x": 17.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 18.5, "y": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 4.5, "y": 3},
|
||||
{"matrix": [8, 1], "x": 5.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 6.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 3},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 3},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 3},
|
||||
|
||||
{"matrix": [8, 4], "x": 15.5, "y": 3},
|
||||
{"matrix": [8, 5], "x": 16.5, "y": 3},
|
||||
{"matrix": [8, 6], "x": 17.5, "y": 3},
|
||||
{"matrix": [8, 7], "x": 18.5, "y": 3},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 4},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 4},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 4},
|
||||
{"matrix": [9, 0], "x": 4.75, "y": 4},
|
||||
{"matrix": [9, 1], "x": 5.75, "y": 4},
|
||||
{"matrix": [9, 2], "x": 6.75, "y": 4},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4},
|
||||
{"matrix": [3, 4], "x": 8.75, "y": 4},
|
||||
{"matrix": [3, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [3, 6], "x": 10.75, "y": 4},
|
||||
{"matrix": [3, 7], "x": 11.75, "y": 4},
|
||||
{"matrix": [2, 9], "x": 12.75, "y": 4},
|
||||
{"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [9, 4], "x": 15.5, "y": 4},
|
||||
{"matrix": [9, 5], "x": 16.5, "y": 4},
|
||||
{"matrix": [9, 6], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 5},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 5},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 5},
|
||||
{"matrix": [10, 0], "x": 4.25, "y": 5},
|
||||
{"matrix": [10, 1], "x": 5.25, "y": 5},
|
||||
{"matrix": [10, 2], "x": 6.25, "y": 5},
|
||||
{"matrix": [10, 3], "x": 7.25, "y": 5},
|
||||
{"matrix": [4, 4], "x": 8.25, "y": 5},
|
||||
{"matrix": [4, 5], "x": 9.25, "y": 5},
|
||||
{"matrix": [4, 6], "x": 10.25, "y": 5},
|
||||
{"matrix": [4, 7], "x": 11.25, "y": 5},
|
||||
{"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75},
|
||||
|
||||
{"matrix": [10, 9], "x": 14.25, "y": 5.25},
|
||||
|
||||
{"matrix": [10, 4], "x": 15.5, "y": 5},
|
||||
{"matrix": [10, 5], "x": 16.5, "y": 5},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 5},
|
||||
{"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5},
|
||||
{"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5},
|
||||
{"matrix": [5, 3], "x": 3, "y": 6, "w": 7},
|
||||
{"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5},
|
||||
{"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5},
|
||||
|
||||
{"matrix": [10, 8], "x": 13.25, "y": 6.25},
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
|
26
keyboards/ash1800/matrix_diagram.md
Normal file
26
keyboards/ash1800/matrix_diagram.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Matrix Diagram for ASH1800
|
||||
|
||||
```
|
||||
┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐
|
||||
│00 ││01 │02 │03 │60 ││61 │62 │63 │04 ││05 │06 │07 │08 │ │54 │55 │56 │57 │
|
||||
└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ ├───┼───┼───┼───┤
|
||||
│64 │65 │66 │67 │
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ├───┼───┼───┼───┤
|
||||
│10 │11 │12 │13 │70 │71 │72 │73 │14 │15 │16 │17 │18 │19 │ │74 │75 │76 │77 │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ ┌─────┐
|
||||
│20 │21 │22 │23 │80 │81 │82 │83 │24 │25 │26 │27 │28 │29 │ │84 │85 │86 │87 │ │38 │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┼───┤ ┌──┴┐ │ ISO Enter
|
||||
│30 │31 │32 │33 │90 │91 │92 │93 │34 │35 │36 │37 │38 │ │94 │95 │96 │97 │ │29 │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ └───┴────┘
|
||||
│40 │41 │42 │43 │A0 │A1 │A2 │A3 │44 │45 │46 │47 │48 │┌───┐│A4 │A5 │A6 │A7 │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│A9 │└───┼───┼───┤ │
|
||||
│50 │51 │52 │53 │B4 │B7 │┌───┼───┼───┐│B5 │B6 │ │
|
||||
└────┴────┴────┴────────────────────────┴─────┴─────┘│A8 │B8 │B9 │└───┴───┴───┘
|
||||
└───┴───┴───┘
|
||||
┌────────┐
|
||||
│40 │ 2.25u LShift
|
||||
└────────┘
|
||||
┌─────┬─────┬───────────────────────────┬─────┬─────┐
|
||||
│50 │51 │53 │B4 │B7 │ WKL
|
||||
└─────┴─────┴───────────────────────────┴─────┴─────┘
|
||||
```
|
@ -156,6 +156,498 @@
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [6, 0], "x": 4.25, "y": 0},
|
||||
|
||||
{"matrix": [6, 1], "x": 5.5, "y": 0},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 0},
|
||||
{"matrix": [6, 3], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 0},
|
||||
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 10.75, "y": 0},
|
||||
{"matrix": [0, 7], "x": 11.75, "y": 0},
|
||||
{"matrix": [0, 8], "x": 12.75, "y": 0},
|
||||
|
||||
{"matrix": [5, 4], "x": 15.5, "y": 0},
|
||||
{"matrix": [5, 5], "x": 16.5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 0},
|
||||
|
||||
{"matrix": [6, 4], "x": 15.5, "y": 1},
|
||||
{"matrix": [6, 5], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [6, 7], "x": 18.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||
{"matrix": [1, 3], "x": 3, "y": 2},
|
||||
{"matrix": [7, 0], "x": 4, "y": 2},
|
||||
{"matrix": [7, 1], "x": 5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 6, "y": 2},
|
||||
{"matrix": [7, 3], "x": 7, "y": 2},
|
||||
{"matrix": [1, 4], "x": 8, "y": 2},
|
||||
{"matrix": [1, 5], "x": 9, "y": 2},
|
||||
{"matrix": [1, 6], "x": 10, "y": 2},
|
||||
{"matrix": [1, 7], "x": 11, "y": 2},
|
||||
{"matrix": [1, 8], "x": 12, "y": 2},
|
||||
{"matrix": [1, 9], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 2},
|
||||
{"matrix": [7, 6], "x": 17.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 18.5, "y": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 4.5, "y": 3},
|
||||
{"matrix": [8, 1], "x": 5.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 6.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 3},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 3},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 3},
|
||||
{"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5},
|
||||
|
||||
{"matrix": [8, 4], "x": 15.5, "y": 3},
|
||||
{"matrix": [8, 5], "x": 16.5, "y": 3},
|
||||
{"matrix": [8, 6], "x": 17.5, "y": 3},
|
||||
{"matrix": [8, 7], "x": 18.5, "y": 3},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 4},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 4},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 4},
|
||||
{"matrix": [9, 0], "x": 4.75, "y": 4},
|
||||
{"matrix": [9, 1], "x": 5.75, "y": 4},
|
||||
{"matrix": [9, 2], "x": 6.75, "y": 4},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4},
|
||||
{"matrix": [3, 4], "x": 8.75, "y": 4},
|
||||
{"matrix": [3, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [3, 6], "x": 10.75, "y": 4},
|
||||
{"matrix": [3, 7], "x": 11.75, "y": 4},
|
||||
{"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25},
|
||||
|
||||
{"matrix": [9, 4], "x": 15.5, "y": 4},
|
||||
{"matrix": [9, 5], "x": 16.5, "y": 4},
|
||||
{"matrix": [9, 6], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 5},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 5},
|
||||
{"matrix": [10, 0], "x": 4.25, "y": 5},
|
||||
{"matrix": [10, 1], "x": 5.25, "y": 5},
|
||||
{"matrix": [10, 2], "x": 6.25, "y": 5},
|
||||
{"matrix": [10, 3], "x": 7.25, "y": 5},
|
||||
{"matrix": [4, 4], "x": 8.25, "y": 5},
|
||||
{"matrix": [4, 5], "x": 9.25, "y": 5},
|
||||
{"matrix": [4, 6], "x": 10.25, "y": 5},
|
||||
{"matrix": [4, 7], "x": 11.25, "y": 5},
|
||||
{"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75},
|
||||
|
||||
{"matrix": [10, 9], "x": 14.25, "y": 5.25},
|
||||
|
||||
{"matrix": [10, 4], "x": 15.5, "y": 5},
|
||||
{"matrix": [10, 5], "x": 16.5, "y": 5},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 5},
|
||||
{"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25},
|
||||
{"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5},
|
||||
{"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5},
|
||||
|
||||
{"matrix": [10, 8], "x": 13.25, "y": 6.25},
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi_wkl": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [6, 0], "x": 4.25, "y": 0},
|
||||
|
||||
{"matrix": [6, 1], "x": 5.5, "y": 0},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 0},
|
||||
{"matrix": [6, 3], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 0},
|
||||
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 10.75, "y": 0},
|
||||
{"matrix": [0, 7], "x": 11.75, "y": 0},
|
||||
{"matrix": [0, 8], "x": 12.75, "y": 0},
|
||||
|
||||
{"matrix": [5, 4], "x": 15.5, "y": 0},
|
||||
{"matrix": [5, 5], "x": 16.5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 0},
|
||||
|
||||
{"matrix": [6, 4], "x": 15.5, "y": 1},
|
||||
{"matrix": [6, 5], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [6, 7], "x": 18.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||
{"matrix": [1, 3], "x": 3, "y": 2},
|
||||
{"matrix": [7, 0], "x": 4, "y": 2},
|
||||
{"matrix": [7, 1], "x": 5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 6, "y": 2},
|
||||
{"matrix": [7, 3], "x": 7, "y": 2},
|
||||
{"matrix": [1, 4], "x": 8, "y": 2},
|
||||
{"matrix": [1, 5], "x": 9, "y": 2},
|
||||
{"matrix": [1, 6], "x": 10, "y": 2},
|
||||
{"matrix": [1, 7], "x": 11, "y": 2},
|
||||
{"matrix": [1, 8], "x": 12, "y": 2},
|
||||
{"matrix": [1, 9], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 2},
|
||||
{"matrix": [7, 6], "x": 17.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 18.5, "y": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 4.5, "y": 3},
|
||||
{"matrix": [8, 1], "x": 5.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 6.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 3},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 3},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 3},
|
||||
{"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5},
|
||||
|
||||
{"matrix": [8, 4], "x": 15.5, "y": 3},
|
||||
{"matrix": [8, 5], "x": 16.5, "y": 3},
|
||||
{"matrix": [8, 6], "x": 17.5, "y": 3},
|
||||
{"matrix": [8, 7], "x": 18.5, "y": 3},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 4},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 4},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 4},
|
||||
{"matrix": [9, 0], "x": 4.75, "y": 4},
|
||||
{"matrix": [9, 1], "x": 5.75, "y": 4},
|
||||
{"matrix": [9, 2], "x": 6.75, "y": 4},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4},
|
||||
{"matrix": [3, 4], "x": 8.75, "y": 4},
|
||||
{"matrix": [3, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [3, 6], "x": 10.75, "y": 4},
|
||||
{"matrix": [3, 7], "x": 11.75, "y": 4},
|
||||
{"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25},
|
||||
|
||||
{"matrix": [9, 4], "x": 15.5, "y": 4},
|
||||
{"matrix": [9, 5], "x": 16.5, "y": 4},
|
||||
{"matrix": [9, 6], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 5},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 5},
|
||||
{"matrix": [10, 0], "x": 4.25, "y": 5},
|
||||
{"matrix": [10, 1], "x": 5.25, "y": 5},
|
||||
{"matrix": [10, 2], "x": 6.25, "y": 5},
|
||||
{"matrix": [10, 3], "x": 7.25, "y": 5},
|
||||
{"matrix": [4, 4], "x": 8.25, "y": 5},
|
||||
{"matrix": [4, 5], "x": 9.25, "y": 5},
|
||||
{"matrix": [4, 6], "x": 10.25, "y": 5},
|
||||
{"matrix": [4, 7], "x": 11.25, "y": 5},
|
||||
{"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75},
|
||||
|
||||
{"matrix": [10, 9], "x": 14.25, "y": 5.25},
|
||||
|
||||
{"matrix": [10, 4], "x": 15.5, "y": 5},
|
||||
{"matrix": [10, 5], "x": 16.5, "y": 5},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 5},
|
||||
{"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5},
|
||||
{"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5},
|
||||
{"matrix": [5, 3], "x": 3, "y": 6, "w": 7},
|
||||
{"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5},
|
||||
{"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5},
|
||||
|
||||
{"matrix": [10, 8], "x": 13.25, "y": 6.25},
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [6, 0], "x": 4.25, "y": 0},
|
||||
|
||||
{"matrix": [6, 1], "x": 5.5, "y": 0},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 0},
|
||||
{"matrix": [6, 3], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 0},
|
||||
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 10.75, "y": 0},
|
||||
{"matrix": [0, 7], "x": 11.75, "y": 0},
|
||||
{"matrix": [0, 8], "x": 12.75, "y": 0},
|
||||
|
||||
{"matrix": [5, 4], "x": 15.5, "y": 0},
|
||||
{"matrix": [5, 5], "x": 16.5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 0},
|
||||
|
||||
{"matrix": [6, 4], "x": 15.5, "y": 1},
|
||||
{"matrix": [6, 5], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [6, 7], "x": 18.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||
{"matrix": [1, 3], "x": 3, "y": 2},
|
||||
{"matrix": [7, 0], "x": 4, "y": 2},
|
||||
{"matrix": [7, 1], "x": 5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 6, "y": 2},
|
||||
{"matrix": [7, 3], "x": 7, "y": 2},
|
||||
{"matrix": [1, 4], "x": 8, "y": 2},
|
||||
{"matrix": [1, 5], "x": 9, "y": 2},
|
||||
{"matrix": [1, 6], "x": 10, "y": 2},
|
||||
{"matrix": [1, 7], "x": 11, "y": 2},
|
||||
{"matrix": [1, 8], "x": 12, "y": 2},
|
||||
{"matrix": [1, 9], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 2},
|
||||
{"matrix": [7, 6], "x": 17.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 18.5, "y": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 4.5, "y": 3},
|
||||
{"matrix": [8, 1], "x": 5.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 6.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 3},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 3},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 3},
|
||||
|
||||
{"matrix": [8, 4], "x": 15.5, "y": 3},
|
||||
{"matrix": [8, 5], "x": 16.5, "y": 3},
|
||||
{"matrix": [8, 6], "x": 17.5, "y": 3},
|
||||
{"matrix": [8, 7], "x": 18.5, "y": 3},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 4},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 4},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 4},
|
||||
{"matrix": [9, 0], "x": 4.75, "y": 4},
|
||||
{"matrix": [9, 1], "x": 5.75, "y": 4},
|
||||
{"matrix": [9, 2], "x": 6.75, "y": 4},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4},
|
||||
{"matrix": [3, 4], "x": 8.75, "y": 4},
|
||||
{"matrix": [3, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [3, 6], "x": 10.75, "y": 4},
|
||||
{"matrix": [3, 7], "x": 11.75, "y": 4},
|
||||
{"matrix": [2, 9], "x": 12.75, "y": 4},
|
||||
{"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [9, 4], "x": 15.5, "y": 4},
|
||||
{"matrix": [9, 5], "x": 16.5, "y": 4},
|
||||
{"matrix": [9, 6], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 5},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 5},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 5},
|
||||
{"matrix": [10, 0], "x": 4.25, "y": 5},
|
||||
{"matrix": [10, 1], "x": 5.25, "y": 5},
|
||||
{"matrix": [10, 2], "x": 6.25, "y": 5},
|
||||
{"matrix": [10, 3], "x": 7.25, "y": 5},
|
||||
{"matrix": [4, 4], "x": 8.25, "y": 5},
|
||||
{"matrix": [4, 5], "x": 9.25, "y": 5},
|
||||
{"matrix": [4, 6], "x": 10.25, "y": 5},
|
||||
{"matrix": [4, 7], "x": 11.25, "y": 5},
|
||||
{"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75},
|
||||
|
||||
{"matrix": [10, 9], "x": 14.25, "y": 5.25},
|
||||
|
||||
{"matrix": [10, 4], "x": 15.5, "y": 5},
|
||||
{"matrix": [10, 5], "x": 16.5, "y": 5},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 5},
|
||||
{"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25},
|
||||
{"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25},
|
||||
{"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5},
|
||||
{"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5},
|
||||
|
||||
{"matrix": [10, 8], "x": 13.25, "y": 6.25},
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso_wkl": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
|
||||
{"matrix": [0, 1], "x": 1.25, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.25, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.25, "y": 0},
|
||||
{"matrix": [6, 0], "x": 4.25, "y": 0},
|
||||
|
||||
{"matrix": [6, 1], "x": 5.5, "y": 0},
|
||||
{"matrix": [6, 2], "x": 6.5, "y": 0},
|
||||
{"matrix": [6, 3], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 0},
|
||||
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 0},
|
||||
{"matrix": [0, 6], "x": 10.75, "y": 0},
|
||||
{"matrix": [0, 7], "x": 11.75, "y": 0},
|
||||
{"matrix": [0, 8], "x": 12.75, "y": 0},
|
||||
|
||||
{"matrix": [5, 4], "x": 15.5, "y": 0},
|
||||
{"matrix": [5, 5], "x": 16.5, "y": 0},
|
||||
{"matrix": [5, 6], "x": 17.5, "y": 0},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 0},
|
||||
|
||||
{"matrix": [6, 4], "x": 15.5, "y": 1},
|
||||
{"matrix": [6, 5], "x": 16.5, "y": 1},
|
||||
{"matrix": [6, 6], "x": 17.5, "y": 1},
|
||||
{"matrix": [6, 7], "x": 18.5, "y": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 2},
|
||||
{"matrix": [1, 1], "x": 1, "y": 2},
|
||||
{"matrix": [1, 2], "x": 2, "y": 2},
|
||||
{"matrix": [1, 3], "x": 3, "y": 2},
|
||||
{"matrix": [7, 0], "x": 4, "y": 2},
|
||||
{"matrix": [7, 1], "x": 5, "y": 2},
|
||||
{"matrix": [7, 2], "x": 6, "y": 2},
|
||||
{"matrix": [7, 3], "x": 7, "y": 2},
|
||||
{"matrix": [1, 4], "x": 8, "y": 2},
|
||||
{"matrix": [1, 5], "x": 9, "y": 2},
|
||||
{"matrix": [1, 6], "x": 10, "y": 2},
|
||||
{"matrix": [1, 7], "x": 11, "y": 2},
|
||||
{"matrix": [1, 8], "x": 12, "y": 2},
|
||||
{"matrix": [1, 9], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [7, 4], "x": 15.5, "y": 2},
|
||||
{"matrix": [7, 5], "x": 16.5, "y": 2},
|
||||
{"matrix": [7, 6], "x": 17.5, "y": 2},
|
||||
{"matrix": [7, 7], "x": 18.5, "y": 2},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5},
|
||||
{"matrix": [2, 1], "x": 1.5, "y": 3},
|
||||
{"matrix": [2, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [2, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 0], "x": 4.5, "y": 3},
|
||||
{"matrix": [8, 1], "x": 5.5, "y": 3},
|
||||
{"matrix": [8, 2], "x": 6.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 3},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 3},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 3},
|
||||
|
||||
{"matrix": [8, 4], "x": 15.5, "y": 3},
|
||||
{"matrix": [8, 5], "x": 16.5, "y": 3},
|
||||
{"matrix": [8, 6], "x": 17.5, "y": 3},
|
||||
{"matrix": [8, 7], "x": 18.5, "y": 3},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75},
|
||||
{"matrix": [3, 1], "x": 1.75, "y": 4},
|
||||
{"matrix": [3, 2], "x": 2.75, "y": 4},
|
||||
{"matrix": [3, 3], "x": 3.75, "y": 4},
|
||||
{"matrix": [9, 0], "x": 4.75, "y": 4},
|
||||
{"matrix": [9, 1], "x": 5.75, "y": 4},
|
||||
{"matrix": [9, 2], "x": 6.75, "y": 4},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4},
|
||||
{"matrix": [3, 4], "x": 8.75, "y": 4},
|
||||
{"matrix": [3, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [3, 6], "x": 10.75, "y": 4},
|
||||
{"matrix": [3, 7], "x": 11.75, "y": 4},
|
||||
{"matrix": [2, 9], "x": 12.75, "y": 4},
|
||||
{"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [9, 4], "x": 15.5, "y": 4},
|
||||
{"matrix": [9, 5], "x": 16.5, "y": 4},
|
||||
{"matrix": [9, 6], "x": 17.5, "y": 4},
|
||||
{"matrix": [9, 7], "x": 18.5, "y": 4},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 5},
|
||||
{"matrix": [4, 2], "x": 2.25, "y": 5},
|
||||
{"matrix": [4, 3], "x": 3.25, "y": 5},
|
||||
{"matrix": [10, 0], "x": 4.25, "y": 5},
|
||||
{"matrix": [10, 1], "x": 5.25, "y": 5},
|
||||
{"matrix": [10, 2], "x": 6.25, "y": 5},
|
||||
{"matrix": [10, 3], "x": 7.25, "y": 5},
|
||||
{"matrix": [4, 4], "x": 8.25, "y": 5},
|
||||
{"matrix": [4, 5], "x": 9.25, "y": 5},
|
||||
{"matrix": [4, 6], "x": 10.25, "y": 5},
|
||||
{"matrix": [4, 7], "x": 11.25, "y": 5},
|
||||
{"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75},
|
||||
|
||||
{"matrix": [10, 9], "x": 14.25, "y": 5.25},
|
||||
|
||||
{"matrix": [10, 4], "x": 15.5, "y": 5},
|
||||
{"matrix": [10, 5], "x": 16.5, "y": 5},
|
||||
{"matrix": [10, 6], "x": 17.5, "y": 5},
|
||||
{"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2},
|
||||
|
||||
{"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5},
|
||||
{"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5},
|
||||
{"matrix": [5, 3], "x": 3, "y": 6, "w": 7},
|
||||
{"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5},
|
||||
{"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5},
|
||||
|
||||
{"matrix": [10, 8], "x": 13.25, "y": 6.25},
|
||||
{"matrix": [11, 8], "x": 14.25, "y": 6.25},
|
||||
{"matrix": [11, 9], "x": 15.25, "y": 6.25},
|
||||
|
||||
{"matrix": [11, 5], "x": 16.5, "y": 6},
|
||||
{"matrix": [11, 6], "x": 17.5, "y": 6}
|
||||
]
|
||||
|
26
keyboards/ash_xiix/matrix_diagram.md
Normal file
26
keyboards/ash_xiix/matrix_diagram.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Matrix Diagram for ASH-XIIX
|
||||
|
||||
```
|
||||
┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐
|
||||
│00 ││01 │02 │03 │60 ││61 │62 │63 │04 ││05 │06 │07 │08 │ │54 │55 │56 │57 │
|
||||
└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ ├───┼───┼───┼───┤
|
||||
│64 │65 │66 │67 │
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ├───┼───┼───┼───┤
|
||||
│10 │11 │12 │13 │70 │71 │72 │73 │14 │15 │16 │17 │18 │19 │ │74 │75 │76 │77 │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ ┌─────┐
|
||||
│20 │21 │22 │23 │80 │81 │82 │83 │24 │25 │26 │27 │28 │29 │ │84 │85 │86 │87 │ │38 │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┼───┤ ┌──┴┐ │ ISO Enter
|
||||
│30 │31 │32 │33 │90 │91 │92 │93 │34 │35 │36 │37 │38 │ │94 │95 │96 │97 │ │29 │ │
|
||||
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ └───┴────┘
|
||||
│40 │41 │42 │43 │A0 │A1 │A2 │A3 │44 │45 │46 │47 │48 │┌───┐│A4 │A5 │A6 │A7 │
|
||||
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│A9 │└───┼───┼───┤ │
|
||||
│50 │51 │52 │53 │B4 │B7 │┌───┼───┼───┐│B5 │B6 │ │
|
||||
└────┴────┴────┴────────────────────────┴─────┴─────┘│A8 │B8 │B9 │└───┴───┴───┘
|
||||
└───┴───┴───┘
|
||||
┌────────┐
|
||||
│40 │ 2.25u LShift
|
||||
└────────┘
|
||||
┌─────┬─────┬───────────────────────────┬─────┬─────┐
|
||||
│50 │51 │53 │B4 │B7 │ WKL
|
||||
└─────┴─────┴───────────────────────────┴─────┴─────┘
|
||||
```
|
6
keyboards/ashwing66/config.h
Normal file
6
keyboards/ashwing66/config.h
Normal file
@ -0,0 +1,6 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define ENCODER_MAP_KEY_DELAY 10
|
||||
#define ENCODER_DEFAULT_POS 0x3
|
166
keyboards/ashwing66/keyboard.json
Normal file
166
keyboards/ashwing66/keyboard.json
Normal file
@ -0,0 +1,166 @@
|
||||
{
|
||||
"manufacturer": "gzowski",
|
||||
"keyboard_name": "Ashwing66",
|
||||
"maintainer": "gzowski",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "GP12", "pin_b": "GP11"}
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP14", "GP15", "GP16", "GP17", "GP19", "GP20", "GP21", "GP22", "GP26", "GP27"],
|
||||
"rows": ["GP28", "GP8", "GP9", "GP10", "GP13"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_sat": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"band_val": true,
|
||||
"breathing": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"cycle_up_down": true,
|
||||
"dual_beacon": true,
|
||||
"gradient_left_right": true,
|
||||
"gradient_up_down": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"jellybean_raindrops": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_rain": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 1], "x": 16, "y": 1, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 33, "y": 2, "flags": 4},
|
||||
{"matrix": [0, 3], "x": 49, "y": 4, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 65, "y": 7, "flags": 4},
|
||||
{"matrix": [0, 5], "x": 81, "y": 11, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 86, "y": 39, "flags": 4},
|
||||
{"matrix": [4, 6], "x": 81, "y": 56, "flags": 4},
|
||||
{"matrix": [4, 7], "x": 96, "y": 63, "flags": 4},
|
||||
{"matrix": [4, 8], "x": 126, "y": 63, "flags": 4},
|
||||
{"matrix": [4, 9], "x": 141, "y": 56, "flags": 4},
|
||||
{"matrix": [3, 9], "x": 136, "y": 39, "flags": 4},
|
||||
{"matrix": [0, 10], "x": 141, "y": 11, "flags": 4},
|
||||
{"matrix": [0, 11], "x": 157, "y": 7, "flags": 4},
|
||||
{"matrix": [0, 12], "x": 173, "y": 4, "flags": 4},
|
||||
{"matrix": [0, 13], "x": 189, "y": 2, "flags": 4},
|
||||
{"matrix": [0, 14], "x": 206, "y": 1, "flags": 4},
|
||||
{"matrix": [0, 15], "x": 223, "y": 0, "flags": 4}
|
||||
],
|
||||
"led_flush_limit": 16,
|
||||
"led_process_limit": 5,
|
||||
"max_brightness": 125,
|
||||
"sleep": true
|
||||
},
|
||||
"url": "https://github.com/gzowski",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x6F64",
|
||||
"vid": "0x7372"
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "vendor",
|
||||
"pin": "GP0"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_5x16": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13, "y": 1},
|
||||
{"matrix": [1, 14], "x": 14, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13, "y": 2},
|
||||
{"matrix": [2, 14], "x": 14, "y": 2},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13, "y": 3},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4},
|
||||
{"matrix": [4, 4], "x": 4, "y": 4},
|
||||
{"matrix": [4, 5], "x": 5, "y": 4},
|
||||
{"matrix": [4, 6], "x": 6, "y": 4},
|
||||
{"matrix": [4, 7], "x": 7, "y": 4},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4},
|
||||
{"matrix": [4, 9], "x": 9, "y": 4},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4},
|
||||
{"matrix": [4, 12], "x": 12, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
41
keyboards/ashwing66/keymaps/default/keymap.c
Normal file
41
keyboards/ashwing66/keymaps/default/keymap.c
Normal file
@ -0,0 +1,41 @@
|
||||
// Copyright 2023 James GzowskiMO(_LAYERB)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_layer {
|
||||
_LAYERA,
|
||||
_LAYERB,
|
||||
_LAYERC,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_LAYERA] = LAYOUT_5x16(
|
||||
KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_GRV ,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_MINS ,
|
||||
KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
|
||||
KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
|
||||
KC_LBRC,KC_PSCR,KC_CAPS ,MO(_LAYERB),KC_LGUI ,KC_LALT ,KC_SPC ,KC_PGDN ,KC_PGUP ,KC_ENT ,KC_BSPC ,MO(_LAYERC),KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC
|
||||
),
|
||||
[_LAYERB] = LAYOUT_5x16(
|
||||
KC_ESC ,RGB_TOG,RGB_RMOD,RGB_MOD ,RGB_VAD ,RGB_VAI ,RGB_SPD ,RGB_SPI ,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI ,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL ,
|
||||
KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT ,
|
||||
KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
|
||||
KC_LBRC,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC
|
||||
),
|
||||
[_LAYERC] = LAYOUT_5x16(
|
||||
KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_GRV ,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_UP ,KC_O ,KC_P ,KC_EQL ,
|
||||
KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_SCLN ,KC_QUOT ,
|
||||
KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
|
||||
KC_F11 ,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_F12
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||
[_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
|
||||
[_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
|
||||
};
|
||||
#endif
|
1
keyboards/ashwing66/keymaps/default/rules.mk
Normal file
1
keyboards/ashwing66/keymaps/default/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
41
keyboards/ashwing66/keymaps/via/keymap.c
Normal file
41
keyboards/ashwing66/keymaps/via/keymap.c
Normal file
@ -0,0 +1,41 @@
|
||||
// Copyright 2023 James GzowskiMO(_LAYERB)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_layer {
|
||||
_LAYERA,
|
||||
_LAYERB,
|
||||
_LAYERC,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_LAYERA] = LAYOUT_5x16(
|
||||
KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_GRV ,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_MINS ,
|
||||
KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
|
||||
KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
|
||||
KC_LBRC,KC_PSCR,KC_CAPS ,MO(_LAYERB),KC_LGUI ,KC_LALT ,KC_SPC ,KC_PGDN ,KC_PGUP ,KC_ENT ,KC_BSPC ,MO(_LAYERC),KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC
|
||||
),
|
||||
[_LAYERB] = LAYOUT_5x16(
|
||||
KC_ESC ,RGB_TOG,RGB_RMOD,RGB_MOD ,RGB_VAD ,RGB_VAI ,RGB_SPD ,RGB_SPI ,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI ,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL ,
|
||||
KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT ,
|
||||
KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
|
||||
KC_LBRC,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC
|
||||
),
|
||||
[_LAYERC] = LAYOUT_5x16(
|
||||
KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_GRV ,
|
||||
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_UP ,KC_O ,KC_P ,KC_EQL ,
|
||||
KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_SCLN ,KC_QUOT ,
|
||||
KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
|
||||
KC_F11 ,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_F12
|
||||
)
|
||||
};
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||
[_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
|
||||
[_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
|
||||
};
|
||||
#endif
|
2
keyboards/ashwing66/keymaps/via/rules.mk
Normal file
2
keyboards/ashwing66/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
23
keyboards/ashwing66/readme.md
Normal file
23
keyboards/ashwing66/readme.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Ashwing66
|
||||
|
||||
66 key winged unibody split
|
||||
|
||||
* Keyboard Maintainer: [James Gzowski](https://github.com/gzowski)
|
||||
* Hardware Supported: Pi Pico or equivilent
|
||||
* Build Guide: [Ashwing66](https://github.com/gzowski/Ashwing66)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make ashwing66:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make ashwing66: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
|
||||
|
||||
* **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 PCB, if using a RP2040 press repeatidly to enter boot mode.
|
||||
* **Hold down boot loader button on MCU** Hold down the boot loader button on the MCU while plugging in the keyboard
|
255
keyboards/boardsource/sessanta/keyboard.json
Normal file
255
keyboards/boardsource/sessanta/keyboard.json
Normal file
@ -0,0 +1,255 @@
|
||||
{
|
||||
"manufacturer": "Boardsource",
|
||||
"keyboard_name": "Sessanta",
|
||||
"maintainer": "waffle87",
|
||||
"development_board": "promicro",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D3"],
|
||||
"rows": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"]
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"breathing": true,
|
||||
"gradient_left_right": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"x": 224, "y": 4, "flags": 2},
|
||||
{"x": 156, "y": 0, "flags": 2},
|
||||
{"x": 82, "y": 0, "flags": 2},
|
||||
{"x": 13, "y": 4, "flags": 2},
|
||||
{"x": 24, "y": 50, "flags": 2},
|
||||
{"x": 68, "y": 52, "flags": 2},
|
||||
{"x": 121, "y": 52, "flags": 2},
|
||||
{"x": 220, "y": 52, "flags": 2},
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 30, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 3], "x": 45, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 60, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 5], "x": 75, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 6], "x": 90, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 7], "x": 105, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 8], "x": 119, "y": 0, "flags": 4},
|
||||
{"matrix": [1, 0], "x": 134, "y": 0, "flags": 4},
|
||||
{"matrix": [1, 1], "x": 149, "y": 0, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 164, "y": 0, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 179, "y": 0, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 202, "y": 0, "flags": 1},
|
||||
{"matrix": [1, 5], "x": 4, "y": 16, "flags": 1},
|
||||
{"matrix": [1, 6], "x": 22, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 37, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 52, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 0], "x": 67, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 1], "x": 82, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 97, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 112, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 127, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 142, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 157, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 172, "y": 16, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 187, "y": 16, "flags": 4},
|
||||
{"matrix": [3, 0], "x": 205, "y": 16, "flags": 1},
|
||||
{"matrix": [3, 1], "x": 6, "y": 32, "flags": 1},
|
||||
{"matrix": [3, 2], "x": 26, "y": 32, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 41, "y": 32, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 56, "y": 32, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 71, "y": 32, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 86, "y": 32, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 101, "y": 32, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 116, "y": 32, "flags": 4},
|
||||
{"matrix": [4, 0], "x": 131, "y": 32, "flags": 4},
|
||||
{"matrix": [4, 1], "x": 146, "y": 32, "flags": 4},
|
||||
{"matrix": [4, 2], "x": 161, "y": 32, "flags": 4},
|
||||
{"matrix": [4, 3], "x": 175, "y": 32, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 200, "y": 32, "flags": 1},
|
||||
{"matrix": [4, 5], "x": 224, "y": 32, "flags": 1},
|
||||
{"matrix": [4, 6], "x": 9, "y": 48, "flags": 1},
|
||||
{"matrix": [4, 7], "x": 34, "y": 48, "flags": 4},
|
||||
{"matrix": [4, 8], "x": 49, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 0], "x": 63, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 1], "x": 78, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 2], "x": 93, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 3], "x": 108, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 4], "x": 123, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 5], "x": 138, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 6], "x": 153, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 7], "x": 168, "y": 48, "flags": 4},
|
||||
{"matrix": [5, 8], "x": 196, "y": 48, "flags": 1},
|
||||
{"matrix": [6, 0], "x": 224, "y": 48, "flags": 1},
|
||||
{"matrix": [6, 1], "x": 2, "y": 64, "flags": 1},
|
||||
{"matrix": [6, 2], "x": 21, "y": 64, "flags": 1},
|
||||
{"matrix": [6, 3], "x": 39, "y": 64, "flags": 1},
|
||||
{"matrix": [6, 4], "x": 95, "y": 64, "flags": 4},
|
||||
{"matrix": [6, 5], "x": 151, "y": 64, "flags": 1},
|
||||
{"matrix": [6, 6], "x": 170, "y": 64, "flags": 1},
|
||||
{"matrix": [6, 7], "x": 189, "y": 64, "flags": 1},
|
||||
{"matrix": [6, 8], "x": 207, "y": 64, "flags": 1},
|
||||
{"matrix": [7, 0], "x": 224, "y": 64, "flags": 1}
|
||||
],
|
||||
"max_brightness": 150,
|
||||
"sleep": true
|
||||
},
|
||||
"url": "https://boardsource.xyz",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x17AC",
|
||||
"vid": "0x4273"
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D2"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_625_bar": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [1, 0], "x": 9, "y": 0},
|
||||
{"matrix": [1, 1], "x": 10, "y": 0},
|
||||
{"matrix": [1, 2], "x": 11, "y": 0},
|
||||
{"matrix": [1, 3], "x": 12, "y": 0},
|
||||
{"matrix": [1, 4], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [1, 5], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 6], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 0], "x": 4.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 6.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 1},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 0], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 1], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [3, 2], "x": 1.75, "y": 2},
|
||||
{"matrix": [3, 3], "x": 2.75, "y": 2},
|
||||
{"matrix": [3, 4], "x": 3.75, "y": 2},
|
||||
{"matrix": [3, 5], "x": 4.75, "y": 2},
|
||||
{"matrix": [3, 6], "x": 5.75, "y": 2},
|
||||
{"matrix": [3, 7], "x": 6.75, "y": 2},
|
||||
{"matrix": [3, 8], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 0], "x": 8.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 10.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [4, 5], "x": 15, "y": 2},
|
||||
{"matrix": [4, 6], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [4, 7], "x": 2.25, "y": 3},
|
||||
{"matrix": [4, 8], "x": 3.25, "y": 3},
|
||||
{"matrix": [5, 0], "x": 4.25, "y": 3},
|
||||
{"matrix": [5, 1], "x": 5.25, "y": 3},
|
||||
{"matrix": [5, 2], "x": 6.25, "y": 3},
|
||||
{"matrix": [5, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [5, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [5, 5], "x": 9.25, "y": 3},
|
||||
{"matrix": [5, 6], "x": 10.25, "y": 3},
|
||||
{"matrix": [5, 7], "x": 11.25, "y": 3},
|
||||
{"matrix": [5, 8], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [6, 0], "x": 15, "y": 3},
|
||||
{"matrix": [6, 1], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 2], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 3], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 4], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [6, 5], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 6], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 7], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 8], "x": 13.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [1, 0], "x": 9, "y": 0},
|
||||
{"matrix": [1, 1], "x": 10, "y": 0},
|
||||
{"matrix": [1, 2], "x": 11, "y": 0},
|
||||
{"matrix": [1, 3], "x": 12, "y": 0},
|
||||
{"matrix": [1, 4], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [1, 5], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 6], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 0], "x": 4.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 6.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 10.5, "y": 1},
|
||||
{"matrix": [2, 7], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 8], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 0], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 1], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [3, 2], "x": 1.75, "y": 2},
|
||||
{"matrix": [3, 3], "x": 2.75, "y": 2},
|
||||
{"matrix": [3, 4], "x": 3.75, "y": 2},
|
||||
{"matrix": [3, 5], "x": 4.75, "y": 2},
|
||||
{"matrix": [3, 6], "x": 5.75, "y": 2},
|
||||
{"matrix": [3, 7], "x": 6.75, "y": 2},
|
||||
{"matrix": [3, 8], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 0], "x": 8.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 10.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [4, 5], "x": 15, "y": 2},
|
||||
{"matrix": [4, 6], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [4, 7], "x": 2.25, "y": 3},
|
||||
{"matrix": [4, 8], "x": 3.25, "y": 3},
|
||||
{"matrix": [5, 0], "x": 4.25, "y": 3},
|
||||
{"matrix": [5, 1], "x": 5.25, "y": 3},
|
||||
{"matrix": [5, 2], "x": 6.25, "y": 3},
|
||||
{"matrix": [5, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [5, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [5, 5], "x": 9.25, "y": 3},
|
||||
{"matrix": [5, 6], "x": 10.25, "y": 3},
|
||||
{"matrix": [5, 7], "x": 11.25, "y": 3},
|
||||
{"matrix": [5, 8], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [6, 0], "x": 15, "y": 3},
|
||||
{"matrix": [6, 1], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 2], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 3], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [7, 1], "x": 3.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 4},
|
||||
{"matrix": [6, 4], "x": 6.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [7, 3], "x": 7.5, "y": 4},
|
||||
{"matrix": [7, 4], "x": 8.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [6, 5], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 6], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 7], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 8], "x": 13.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 15, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
21
keyboards/boardsource/sessanta/keymaps/default/keymap.json
Normal file
21
keyboards/boardsource/sessanta/keymaps/default/keymap.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"keyboard": "boardsource/sessanta",
|
||||
"keymap": "default",
|
||||
"layout": "LAYOUT_625_bar",
|
||||
"layers": [
|
||||
[
|
||||
"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_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS",
|
||||
"KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_VOLU",
|
||||
"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_MPLY",
|
||||
"KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_VOLD"
|
||||
],
|
||||
[
|
||||
"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_F13",
|
||||
"QK_RBT", "RGB_MOD", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"EE_CLR", "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
|
||||
]
|
||||
]
|
||||
}
|
26
keyboards/boardsource/sessanta/keymaps/via/keymap.json
Normal file
26
keyboards/boardsource/sessanta/keymaps/via/keymap.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"keyboard": "boardsource/sessanta",
|
||||
"keymap": "via",
|
||||
"layout": "LAYOUT_all",
|
||||
"config": {
|
||||
"features": {
|
||||
"via": true
|
||||
}
|
||||
},
|
||||
"layers": [
|
||||
[
|
||||
"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_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS",
|
||||
"KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_VOLU",
|
||||
"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_MPLY",
|
||||
"KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_VOLD"
|
||||
],
|
||||
[
|
||||
"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_F13",
|
||||
"QK_RBT", "RGB_MOD", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"EE_CLR", "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
|
||||
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
|
||||
]
|
||||
]
|
||||
}
|
27
keyboards/boardsource/sessanta/readme.md
Normal file
27
keyboards/boardsource/sessanta/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Sessanta
|
||||
|
||||
![image](https://i.imgur.com/ALvvC53.jpeg)
|
||||
|
||||
A 60% keyboard offered in an MX or Choc PCB with per-key RGB
|
||||
|
||||
* Keyboard Maintainer: [waffle87](https://github.com/waffle87)
|
||||
* Hardware Supported: Sessanta PCB w/ Pro Micro compatible microcontroller
|
||||
* Hardware Availability: [boardsource.xyz](https://boardsource.xyz)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make boardsource/sessanta:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make boardsource/sessanta:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB near microcontroller
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT`
|
957
keyboards/chlx/lfn_merro60/keyboard.json
Normal file
957
keyboards/chlx/lfn_merro60/keyboard.json
Normal file
@ -0,0 +1,957 @@
|
||||
{
|
||||
"manufacturer": "chlx bsmt",
|
||||
"keyboard_name": "lfn.merro60",
|
||||
"maintainer": "gaclee3b",
|
||||
"bootloader": "atmel-dfu",
|
||||
"diode_direction": "ROW2COL",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"qmk": {
|
||||
"locking": {
|
||||
"enabled": true,
|
||||
"resync": true
|
||||
}
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "B2",
|
||||
"on_state": 0,
|
||||
"compose": "B0"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"rows": ["F5", "F1", "F4", "F0", "F7", "F6", "D3", "D5", "B3", "B7"],
|
||||
"cols": ["C6", "B6", "B5", "B4", "D7", "D6", "D4"]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"url": "www.github.com/gaclee3b",
|
||||
"usb": {
|
||||
"device_version": "2.0.1",
|
||||
"pid": "0x0604",
|
||||
"vid": "0x4358"
|
||||
},
|
||||
"community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"],
|
||||
"layouts": {
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"matrix": [9, 6], "x": 14, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 0], "x": 1.5, "y": 4},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4},
|
||||
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_wkl": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_wkl_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"matrix": [9, 6], "x": 14, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_hhkb": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"matrix": [9, 6], "x": 14, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||
{"matrix": [8, 0], "x": 1.5, "y": 4},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"matrix": [9, 6], "x": 14, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 0], "x": 1.5, "y": 4},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4},
|
||||
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"matrix": [9, 6], "x": 14, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 0], "x": 1.5, "y": 4},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4},
|
||||
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_wkl": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_wkl_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"matrix": [9, 6], "x": 14, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_tsangan_hhkb": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"matrix": [9, 6], "x": 14, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 0], "x": 1.5, "y": 4},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 3], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4},
|
||||
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [1, 1], "x": 3, "y": 0},
|
||||
{"matrix": [0, 2], "x": 4, "y": 0},
|
||||
{"matrix": [1, 2], "x": 5, "y": 0},
|
||||
{"matrix": [0, 3], "x": 6, "y": 0},
|
||||
{"matrix": [1, 3], "x": 7, "y": 0},
|
||||
{"matrix": [0, 4], "x": 8, "y": 0},
|
||||
{"matrix": [1, 4], "x": 9, "y": 0},
|
||||
{"matrix": [0, 5], "x": 10, "y": 0},
|
||||
{"matrix": [1, 5], "x": 11, "y": 0},
|
||||
{"matrix": [0, 6], "x": 12, "y": 0},
|
||||
{"matrix": [1, 6], "x": 13, "y": 0},
|
||||
{"matrix": [9, 6], "x": 14, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 0], "x": 1.5, "y": 1},
|
||||
{"matrix": [2, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [3, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 4.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 5.5, "y": 1},
|
||||
{"matrix": [2, 3], "x": 6.5, "y": 1},
|
||||
{"matrix": [3, 3], "x": 7.5, "y": 1},
|
||||
{"matrix": [2, 4], "x": 8.5, "y": 1},
|
||||
{"matrix": [3, 4], "x": 9.5, "y": 1},
|
||||
{"matrix": [2, 5], "x": 10.5, "y": 1},
|
||||
{"matrix": [3, 5], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 6], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [5, 0], "x": 1.75, "y": 2},
|
||||
{"matrix": [4, 1], "x": 2.75, "y": 2},
|
||||
{"matrix": [5, 1], "x": 3.75, "y": 2},
|
||||
{"matrix": [4, 2], "x": 4.75, "y": 2},
|
||||
{"matrix": [5, 2], "x": 5.75, "y": 2},
|
||||
{"matrix": [4, 3], "x": 6.75, "y": 2},
|
||||
{"matrix": [5, 3], "x": 7.75, "y": 2},
|
||||
{"matrix": [4, 4], "x": 8.75, "y": 2},
|
||||
{"matrix": [5, 4], "x": 9.75, "y": 2},
|
||||
{"matrix": [4, 5], "x": 10.75, "y": 2},
|
||||
{"matrix": [5, 5], "x": 11.75, "y": 2},
|
||||
{"matrix": [4, 6], "x": 12.75, "y": 2},
|
||||
{"matrix": [5, 6], "x": 13.75, "y": 2, "w": 1.25},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [7, 0], "x": 1.25, "y": 3},
|
||||
{"matrix": [6, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [7, 1], "x": 3.25, "y": 3},
|
||||
{"matrix": [6, 2], "x": 4.25, "y": 3},
|
||||
{"matrix": [7, 2], "x": 5.25, "y": 3},
|
||||
{"matrix": [6, 3], "x": 6.25, "y": 3},
|
||||
{"matrix": [7, 3], "x": 7.25, "y": 3},
|
||||
{"matrix": [6, 4], "x": 8.25, "y": 3},
|
||||
{"matrix": [7, 4], "x": 9.25, "y": 3},
|
||||
{"matrix": [6, 5], "x": 10.25, "y": 3},
|
||||
{"matrix": [7, 5], "x": 11.25, "y": 3},
|
||||
{"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [7, 6], "x": 14, "y": 3},
|
||||
{"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 2], "x": 3.75, "y": 4, "w": 2.75},
|
||||
{"matrix": [8, 3], "x": 6.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 3], "x": 7.75, "y": 4, "w": 2.25},
|
||||
{"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
35
keyboards/chlx/lfn_merro60/keymaps/default/keymap.c
Normal file
35
keyboards/chlx/lfn_merro60/keymaps/default/keymap.c
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
Copyright 2024 Alexander Lee <chlx.bsmt@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/>.
|
||||
*/
|
||||
|
||||
#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_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_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_RSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
|
||||
KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT,
|
||||
_______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
|
||||
_______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
21
keyboards/chlx/lfn_merro60/keymaps/via/config.h
Normal file
21
keyboards/chlx/lfn_merro60/keymaps/via/config.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
Copyright 2024 Alexander Lee <chlx.bsmt@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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* VIA related config */
|
||||
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
|
35
keyboards/chlx/lfn_merro60/keymaps/via/keymap.c
Normal file
35
keyboards/chlx/lfn_merro60/keymaps/via/keymap.c
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
Copyright 2024 Alexander Lee <chlx.bsmt@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/>.
|
||||
*/
|
||||
|
||||
#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_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_RSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_LSCR, KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
|
||||
KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT,
|
||||
_______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
|
||||
_______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
2
keyboards/chlx/lfn_merro60/keymaps/via/rules.mk
Normal file
2
keyboards/chlx/lfn_merro60/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
27
keyboards/chlx/lfn_merro60/readme.md
Normal file
27
keyboards/chlx/lfn_merro60/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# lfn.merro60
|
||||
|
||||
![lfn.merro60 PCB](https://i.imgur.com/naIgvKy.jpg)
|
||||
|
||||
- Standard 60% format keyboard PCB with USB-C and unified daughterboard compatibility.
|
||||
- Modified cutouts to allow usage of certain tray mount cases into gummy gasket o-ring mount.
|
||||
- Meant to be manufactured in 2mm thickness.
|
||||
|
||||
* Keyboard Maintainer: [Alexander Lee](https://github.com/gaclee3b)
|
||||
* Hardware Supported: chlx PCB lfn.merro60.x.x.x
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make chlx/lfn_merro60:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make chlx/lfn_merro60: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 bootloader mode by any of the following options -
|
||||
- When unplugged, holding the top-left key (typically ESC) while plugging in the keyboard
|
||||
- After plugging in, press and release the reset button on the pcb top-side near the spacebar switch locations
|
||||
- After plugging in, short out the two reset metal contacts near the 'z' key (accessible through the switch LED slot)
|
71
keyboards/cipulot/ec_60x/config.h
Normal file
71
keyboards/cipulot/ec_60x/config.h
Normal file
@ -0,0 +1,71 @@
|
||||
/* Copyright 2024 Cipulot
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ A8, A15, B12, B8, B9}
|
||||
|
||||
#define AMUX_COUNT 1
|
||||
#define AMUX_MAX_COLS_COUNT 16
|
||||
|
||||
#define AMUX_EN_PINS \
|
||||
{ B5 }
|
||||
|
||||
#define AMUX_SEL_PINS \
|
||||
{ B6, B7, B4, B3 }
|
||||
|
||||
#define AMUX_COL_CHANNELS_SIZES \
|
||||
{ 15 }
|
||||
|
||||
#define AMUX_0_COL_CHANNELS \
|
||||
{ 7, 6, 5, 4, 3, 2, 1, 0, 8, 14, 13, 10, 9, 12, 11}
|
||||
|
||||
#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS
|
||||
|
||||
#define DISCHARGE_PIN A2
|
||||
#define ANALOG_PORT A3
|
||||
|
||||
#define DEFAULT_ACTUATION_MODE 0
|
||||
#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
|
||||
#define DEFAULT_MODE_0_RELEASE_LEVEL 500
|
||||
#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
|
||||
#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
|
||||
#define DEFAULT_MODE_1_RELEASE_OFFSET 70
|
||||
#define DEFAULT_EXTREMUM 1023
|
||||
#define EXPECTED_NOISE_FLOOR 0
|
||||
#define NOISE_FLOOR_THRESHOLD 50
|
||||
#define BOTTOMING_CALIBRATION_THRESHOLD 50
|
||||
#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
|
||||
#define DEFAULT_BOTTOMING_READING 1023
|
||||
#define DEFAULT_CALIBRATION_STARTER true
|
||||
|
||||
#define DISCHARGE_TIME 10
|
||||
|
||||
// #define DEBUG_MATRIX_SCAN_RATE
|
||||
#define EECONFIG_KB_DATA_SIZE 159
|
||||
|
||||
// PWM driver with direct memory access (DMA) support
|
||||
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
|
||||
#define WS2812_PWM_DRIVER PWMD1
|
||||
#define WS2812_PWM_CHANNEL 3
|
||||
#define WS2812_PWM_PAL_MODE 1
|
||||
#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
|
||||
#define WS2812_DMA_CHANNEL 6
|
||||
#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM1_UP
|
23
keyboards/cipulot/ec_60x/halconf.h
Normal file
23
keyboards/cipulot/ec_60x/halconf.h
Normal file
@ -0,0 +1,23 @@
|
||||
/* Copyright 2024 Cipulot
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_ADC TRUE
|
||||
#define HAL_USE_PAL TRUE
|
||||
#define HAL_USE_PWM TRUE
|
||||
|
||||
#include_next <halconf.h>
|
330
keyboards/cipulot/ec_60x/keyboard.json
Normal file
330
keyboards/cipulot/ec_60x/keyboard.json
Normal file
@ -0,0 +1,330 @@
|
||||
{
|
||||
"manufacturer": "Cipulot",
|
||||
"keyboard_name": "EC 60X",
|
||||
"maintainer": "Cipulot",
|
||||
"bootloader": "stm32-dfu",
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"eeprom": {
|
||||
"wear_leveling": {
|
||||
"backing_size": 4096
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": false,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"processor": "STM32F411",
|
||||
"qmk": {
|
||||
"locking": {
|
||||
"enabled": true,
|
||||
"resync": true
|
||||
}
|
||||
},
|
||||
"rgblight": {
|
||||
"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
|
||||
},
|
||||
"led_count": 22
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
"pid": "0x6BC7",
|
||||
"shared_endpoint": {
|
||||
"keyboard": true
|
||||
},
|
||||
"vid": "0x6369"
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "pwm",
|
||||
"pin": "B15"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_60_ansi_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_jis": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 4], "x": 4, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 5.5, "y": 4, "w": 2.5},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 10], "x": 9.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 0.75},
|
||||
{"matrix": [1, 14], "x": 14.25, "y": 1, "w": 0.75},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3},
|
||||
{"matrix": [3, 13], "x": 13.25, "y": 3, "w": 0.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 4], "x": 4, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 5.5, "y": 4, "w": 2.5},
|
||||
{"matrix": [4, 8], "x": 8, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 10], "x": 9.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
42
keyboards/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c
Normal file
42
keyboards/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c
Normal file
@ -0,0 +1,42 @@
|
||||
/* Copyright 2024 Cipulot
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format off
|
||||
[0] = LAYOUT_60_ansi_tsangan(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_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_ENTER,
|
||||
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_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_60_ansi_tsangan(
|
||||
_______, 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_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______,
|
||||
_______, _______, _______, _______, MO(2), _______, _______),
|
||||
|
||||
[2] = LAYOUT_60_ansi_tsangan(
|
||||
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______)
|
||||
// clang-format on
|
||||
};
|
42
keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c
Normal file
42
keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c
Normal file
@ -0,0 +1,42 @@
|
||||
/* Copyright 2024 Cipulot
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format off
|
||||
[0] = LAYOUT_60_iso_tsangan(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_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_ENTER,
|
||||
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_NUBS, 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_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_60_iso_tsangan(
|
||||
_______, 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_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______,
|
||||
_______, _______, _______, _______, MO(2), _______, _______),
|
||||
|
||||
[2] = LAYOUT_60_iso_tsangan(
|
||||
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______)
|
||||
// clang-format on
|
||||
};
|
42
keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c
Normal file
42
keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c
Normal file
@ -0,0 +1,42 @@
|
||||
/* Copyright 2024 Cipulot
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format off
|
||||
[0] = LAYOUT_60_jis(
|
||||
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_INT3, 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_ENTER,
|
||||
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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, MO(1), KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_60_jis(
|
||||
_______, 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_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______),
|
||||
|
||||
[2] = LAYOUT_60_jis(
|
||||
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
|
||||
// clang-format on
|
||||
};
|
42
keyboards/cipulot/ec_60x/keymaps/default/keymap.c
Normal file
42
keyboards/cipulot/ec_60x/keymaps/default/keymap.c
Normal file
@ -0,0 +1,42 @@
|
||||
/* Copyright 2024 Cipulot
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format off
|
||||
[0] = LAYOUT_all(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_ENTER,
|
||||
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_ENTER,
|
||||
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_RSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
_______, 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_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
|
||||
// clang-format on
|
||||
};
|
42
keyboards/cipulot/ec_60x/keymaps/via/keymap.c
Normal file
42
keyboards/cipulot/ec_60x/keymaps/via/keymap.c
Normal file
@ -0,0 +1,42 @@
|
||||
/* Copyright 2024 Cipulot
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// clang-format off
|
||||
[0] = LAYOUT_all(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_ENTER,
|
||||
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_ENTER,
|
||||
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_RSFT, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
_______, 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_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
|
||||
// clang-format on
|
||||
};
|
1
keyboards/cipulot/ec_60x/keymaps/via/rules.mk
Normal file
1
keyboards/cipulot/ec_60x/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
25
keyboards/cipulot/ec_60x/mcuconf.h
Normal file
25
keyboards/cipulot/ec_60x/mcuconf.h
Normal file
@ -0,0 +1,25 @@
|
||||
/* Copyright 2024 Cipulot
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_ADC_USE_ADC1
|
||||
#define STM32_ADC_USE_ADC1 TRUE
|
||||
|
||||
#undef STM32_PWM_USE_TIM1
|
||||
#define STM32_PWM_USE_TIM1 TRUE
|
3
keyboards/cipulot/ec_60x/post_rules.mk
Normal file
3
keyboards/cipulot/ec_60x/post_rules.mk
Normal file
@ -0,0 +1,3 @@
|
||||
ifeq ($(strip $(VIA_ENABLE)), yes)
|
||||
SRC += keyboards/cipulot/common/via_ec.c
|
||||
endif
|
26
keyboards/cipulot/ec_60x/readme.md
Normal file
26
keyboards/cipulot/ec_60x/readme.md
Normal file
@ -0,0 +1,26 @@
|
||||
# EC 60X
|
||||
|
||||
![EC 60X PCB](https://i.imgur.com/aYQgeSn.png)
|
||||
|
||||
Universal 60% Electrostatic Capacitive PCB, with multi-layout support.
|
||||
|
||||
* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
|
||||
* Hardware Supported: EC 60X
|
||||
* Hardware Availability: TBD
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make cipulot/ec_60x:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make cipulot/ec_60x:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 2 ways:
|
||||
|
||||
* **Physical reset**: Long short the exposed pins on the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
5
keyboards/cipulot/ec_60x/rules.mk
Normal file
5
keyboards/cipulot/ec_60x/rules.mk
Normal file
@ -0,0 +1,5 @@
|
||||
CUSTOM_MATRIX = lite
|
||||
ANALOG_DRIVER_REQUIRED = yes
|
||||
VPATH += keyboards/cipulot/common
|
||||
SRC += matrix.c ec_board.c ec_switch_matrix.c
|
||||
OPT = 2
|
@ -100,7 +100,7 @@
|
||||
{"matrix": [3, 13], "x": 15.5, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 3},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 2], "x": 4.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2},
|
||||
{"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75},
|
||||
@ -170,7 +170,7 @@
|
||||
{"matrix": [3, 13], "x": 15.5, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 3},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 2], "x": 4.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2},
|
||||
{"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75},
|
||||
@ -238,7 +238,7 @@
|
||||
{"matrix": [3, 12], "x": 14.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 15.5, "y": 3, "w": 2.75},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 2], "x": 4.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2},
|
||||
{"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75},
|
||||
@ -307,7 +307,7 @@
|
||||
{"matrix": [3, 12], "x": 14.5, "y": 3},
|
||||
{"matrix": [3, 13], "x": 15.5, "y": 3, "w": 2.75},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 2], "x": 4.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2},
|
||||
{"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75},
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_PSCR, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_PSCR, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
|
||||
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_PSCR, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_PSCR, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
|
||||
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
|
@ -1,115 +0,0 @@
|
||||
/*
|
||||
Copyright 2019 @foostan
|
||||
Copyright 2023 @asdfire1
|
||||
|
||||
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
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
#define RGBLIGHT_EFFECT_SNAKE
|
||||
#define RGBLIGHT_EFFECT_KNIGHT
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
// #define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#endif
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
//# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
|
||||
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
|
||||
# define RGB_MATRIX_SLEEP // turn off effects when suspended
|
||||
//# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
|
||||
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
|
||||
# define RGB_MATRIX_HUE_STEP 8
|
||||
# define RGB_MATRIX_SAT_STEP 8
|
||||
# define RGB_MATRIX_VAL_STEP 8
|
||||
# define RGB_MATRIX_SPD_STEP 10
|
||||
|
||||
/* Enable the animations you want/need. You may need to enable only a small number of these because *
|
||||
* they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */
|
||||
// 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
|
||||
#endif
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
||||
#define SPLIT_LAYER_STATE_ENABLE
|
||||
#define SPLIT_WPM_ENABLE //Enable WPM across split keyboards (+268).
|
||||
#define NO_ACTION_ONESHOT
|
||||
//#define SPLIT_OLED_ENABLE
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 6
|
@ -1,385 +0,0 @@
|
||||
/*
|
||||
Copyright 2019 @foostan
|
||||
Copyright 2021 @HellSingCoder
|
||||
Copyright 2023 @asdfire1
|
||||
|
||||
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
|
||||
//#include <stdio.h>
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
//COLEMAK
|
||||
[0] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, MO(3), KC_SPC, KC_ENT, MO(4), KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
|
||||
),
|
||||
//GAME1
|
||||
[1] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LALT, MO(2), KC_SPC, KC_ENT, MO(4), KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
//GAME2
|
||||
[2] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, KC_F1, KC_F2, XXXXXXX, XXXXXXX, KC_6, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F13, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F13,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, _______, KC_SPC, KC_ENT, MO(5), KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
//LOWER
|
||||
[3] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TAB, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_MPRV, XXXXXXX, KC_MINS, KC_P7, KC_P8, KC_P9, KC_DEL,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, KC_MPLY, XXXXXXX, KC_PLUS, KC_P4, KC_P5, KC_P6, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MNXT, XXXXXXX, KC_EQL, KC_P1, KC_P2, KC_P3, KC_F13,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, _______, KC_SPC, KC_SPC, MO(5), KC_P0
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
//RAISE
|
||||
[4] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_CAPS, KC_CIRC, KC_AMPR, KC_LCBR, KC_LBRC, KC_LPRN, KC_RPRN, KC_RBRC, KC_RCBR, XXXXXXX, KC_END, KC_PGDN,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, KC_ASTR, KC_UNDS, KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, MO(5), KC_BSPC, _______, _______, KC_LALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
//ADJUST
|
||||
[5] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
QK_BOOT, TG(1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, _______, _______, _______, _______, KC_LALT
|
||||
//`--------------------------' `--------------------------'
|
||||
)
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
|
||||
/* 32 * 32 logo */
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM hexagram_logo[] = {
|
||||
0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x70, 0x18, 0x06,
|
||||
0x06, 0x18, 0x70, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x07, 0x1f, 0x32, 0x66, 0xc4, 0x6c, 0x38, 0x1e, 0x37, 0x61, 0xc0, 0x80, 0x80,
|
||||
0x80, 0x80, 0xc0, 0x61, 0x37, 0x1e, 0x38, 0x6c, 0xc4, 0x66, 0x32, 0x1f, 0x07, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x80, 0xe0, 0xf8, 0x4c, 0x66, 0x23, 0x36, 0x1c, 0x78, 0xec, 0x86, 0x03, 0x01, 0x01,
|
||||
0x01, 0x01, 0x03, 0x86, 0xec, 0x78, 0x1c, 0x36, 0x23, 0x66, 0x4c, 0xf8, 0xe0, 0x80, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0e, 0x18, 0x60,
|
||||
0x60, 0x18, 0x0e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
|
||||
};
|
||||
oled_write_raw_P(hexagram_logo, sizeof(hexagram_logo));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* KEYBOARD PET START */
|
||||
|
||||
/* settings */
|
||||
# define MIN_WALK_SPEED 10
|
||||
# define MIN_RUN_SPEED 40
|
||||
|
||||
/* advanced settings */
|
||||
# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
|
||||
# define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024
|
||||
|
||||
/* timers */
|
||||
uint32_t anim_timer = 0;
|
||||
uint32_t anim_sleep = 0;
|
||||
|
||||
/* current frame */
|
||||
uint8_t current_frame = 0;
|
||||
|
||||
/* status variables */
|
||||
int current_wpm = 0;
|
||||
led_t led_usb_state;
|
||||
|
||||
bool isSneaking = false;
|
||||
bool isJumping = false;
|
||||
bool showedJump = true;
|
||||
bool isBarking = false;
|
||||
|
||||
/* logic */
|
||||
static void render_luna(int LUNA_X, int LUNA_Y) {
|
||||
/* Sit */
|
||||
static const char PROGMEM sit[2][ANIM_SIZE] = {/* 'sit1', 32x22px */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
},
|
||||
|
||||
/* 'sit2', 32x22px */
|
||||
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
|
||||
|
||||
/* Walk */
|
||||
static const char PROGMEM walk[2][ANIM_SIZE] = {/* 'walk1', 32x22px */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
},
|
||||
|
||||
/* 'walk2', 32x22px */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
}};
|
||||
|
||||
/* Run */
|
||||
static const char PROGMEM run[2][ANIM_SIZE] = {/* 'run1', 32x22px */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
},
|
||||
|
||||
/* 'run2', 32x22px */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
}};
|
||||
|
||||
/* Bark */
|
||||
static const char PROGMEM bark[2][ANIM_SIZE] = {/* 'bark1', 32x22px */
|
||||
{
|
||||
0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
},
|
||||
|
||||
/* 'bark2', 32x22px */
|
||||
{
|
||||
0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
}};
|
||||
|
||||
/* Sneak */
|
||||
static const char PROGMEM sneak[2][ANIM_SIZE] = {/* 'sneak1', 32x22px */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
},
|
||||
|
||||
/* 'sneak2', 32x22px */
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
}};
|
||||
|
||||
/* animation */
|
||||
void animate_luna(void) {
|
||||
/* jump */
|
||||
if (isJumping || !showedJump) {
|
||||
/* clear */
|
||||
oled_set_cursor(LUNA_X, LUNA_Y + 2);
|
||||
oled_write(" ", false);
|
||||
|
||||
oled_set_cursor(LUNA_X, LUNA_Y - 1);
|
||||
|
||||
showedJump = true;
|
||||
} else {
|
||||
/* clear */
|
||||
oled_set_cursor(LUNA_X, LUNA_Y - 1);
|
||||
oled_write(" ", false);
|
||||
|
||||
oled_set_cursor(LUNA_X, LUNA_Y);
|
||||
}
|
||||
|
||||
/* switch frame */
|
||||
current_frame = (current_frame + 1) % 2;
|
||||
|
||||
/* current status */
|
||||
if (led_usb_state.caps_lock) {
|
||||
oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE);
|
||||
|
||||
} else if (isSneaking) {
|
||||
oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE);
|
||||
|
||||
} else if (current_wpm <= MIN_WALK_SPEED) {
|
||||
oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE);
|
||||
|
||||
} else if (current_wpm <= MIN_RUN_SPEED) {
|
||||
oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE);
|
||||
|
||||
} else {
|
||||
oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
/* animation timer */
|
||||
if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
|
||||
anim_timer = timer_read32();
|
||||
animate_luna();
|
||||
}
|
||||
|
||||
/* this fixes the screen on and off bug */
|
||||
if (current_wpm > 0) {
|
||||
oled_on();
|
||||
anim_sleep = timer_read32();
|
||||
} else if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
|
||||
/* clear */
|
||||
oled_set_cursor(0,0);
|
||||
oled_write(" ", false);
|
||||
oled_off();
|
||||
oled_set_cursor(LUNA_X,LUNA_Y);
|
||||
}
|
||||
}
|
||||
|
||||
/* KEYBOARD PET END */
|
||||
|
||||
static void print_logo_narrow(void) {
|
||||
render_logo();
|
||||
if (current_wpm > 0) {
|
||||
anim_sleep = timer_read32();
|
||||
/* wpm counter */
|
||||
oled_set_cursor(0, 14);
|
||||
oled_write(get_u8_str(get_current_wpm(), '0'), false);
|
||||
|
||||
oled_set_cursor(0, 15);
|
||||
oled_write(" wpm", false);
|
||||
|
||||
/* this fixes the screen on and off bug */
|
||||
|
||||
} else if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
|
||||
/* clear */
|
||||
oled_set_cursor(0,0);
|
||||
oled_write(" ", false);
|
||||
oled_off();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case 0:
|
||||
rgb_matrix_reload_from_eeprom();
|
||||
break;
|
||||
case 1:
|
||||
rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS);
|
||||
rgb_matrix_sethsv_noeeprom(HSV_TEAL);
|
||||
break;
|
||||
case 2:
|
||||
rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS);
|
||||
rgb_matrix_sethsv_noeeprom(HSV_PURPLE);
|
||||
break;
|
||||
case 5:
|
||||
rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS);
|
||||
rgb_matrix_sethsv_noeeprom(HSV_YELLOW);
|
||||
break;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
static void print_status_narrow(void) {
|
||||
|
||||
|
||||
/* Print current layer */
|
||||
oled_write("LAYER", false);
|
||||
|
||||
oled_set_cursor(0, 6);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case 0:
|
||||
oled_write("Base ", false);
|
||||
break;
|
||||
case 1:
|
||||
oled_write("Game ", false);
|
||||
break;
|
||||
case 2:
|
||||
oled_write("Game2", false);
|
||||
break;
|
||||
case 3:
|
||||
oled_write("Lower", false);
|
||||
break;
|
||||
case 4:
|
||||
oled_write("Raise", false);
|
||||
break;
|
||||
case 5:
|
||||
oled_write("Adj ", false);
|
||||
break;
|
||||
default:
|
||||
oled_write("Undef", false);
|
||||
}
|
||||
|
||||
|
||||
/* KEYBOARD PET RENDER START */
|
||||
|
||||
render_luna(0, 13);
|
||||
|
||||
/* KEYBOARD PET RENDER END */
|
||||
}
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
|
||||
|
||||
bool oled_task_user(void) {
|
||||
/* KEYBOARD PET VARIABLES START */
|
||||
|
||||
current_wpm = get_current_wpm();
|
||||
led_usb_state = host_keyboard_led_state();
|
||||
|
||||
/* KEYBOARD PET VARIABLES END */
|
||||
|
||||
if (is_keyboard_master()) {
|
||||
print_status_narrow();
|
||||
} else {
|
||||
print_logo_narrow();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
/* KEYBOARD PET STATUS START */
|
||||
|
||||
case KC_LCTL:
|
||||
isSneaking = record->event.pressed;
|
||||
break;
|
||||
case KC_SPC:
|
||||
isJumping = record->event.pressed;
|
||||
if (isJumping) {
|
||||
showedJump = false;
|
||||
}
|
||||
break;
|
||||
case KC_CAPS:
|
||||
isBarking = record->event.pressed;
|
||||
break;
|
||||
|
||||
/* KEYBOARD PET STATUS END */
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
# Personal keymap for the CRKBD
|
||||
My own keymap with some custom OLED features, Colemak base layer and gaming layers. The F13 key on multiple layers can be bound to something, I use it as toggle mute microphone on Discord.
|
||||
## Layers
|
||||
- Colemak - Default layer
|
||||
- Lower - Has numbers and arrows
|
||||
- Raise - Has symbols
|
||||
- Game1 - A QWERTY Gaming layer
|
||||
- Game2 - An alternate lower layer when Game1 is active, has numbers and other keys that may be needed
|
||||
- Adjust - Has F-keys and settings, allows to set the Game1 as base layer.
|
||||
## Custom OLED
|
||||
- Left side:
|
||||
- Layer indicator
|
||||
- Keyboard pet Luna from @HellSingCoder <https://github.com/HellSingCoder/qmk_firmware/tree/master/keyboards/sofle/keymaps/helltm>
|
||||
- Right side
|
||||
- Unicursal hexagram pixel art logo
|
||||
- WPM counter
|
||||
|
@ -1,7 +0,0 @@
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
VIA_ENABLE = yes # Enable VIA
|
||||
OLED_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
WPM_ENABLE = yes
|
@ -23,8 +23,11 @@
|
||||
"resync": true
|
||||
}
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all( /* Base */
|
||||
[0] = LAYOUT( /* Base */
|
||||
KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_DEL, KC_END, KC_PGDN,
|
||||
|
||||
|
@ -16,31 +16,10 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all( /* Base */
|
||||
[0] = LAYOUT( /* Base */
|
||||
KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_DEL, KC_END, KC_PGDN,
|
||||
|
||||
KC_UP,
|
||||
KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
[1] = LAYOUT_all( /* Empty for Dynamic keymap */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[2] = LAYOUT_all( /* Empty for Dynamic keymap */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[3] = LAYOUT_all( /* Empty for Dynamic keymap */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
||||
KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
KC_LEFT, KC_DOWN, KC_RIGHT)
|
||||
};
|
||||
|
8
keyboards/era/linx3/fave65s/config.h
Normal file
8
keyboards/era/linx3/fave65s/config.h
Normal file
@ -0,0 +1,8 @@
|
||||
// Copyright 2024 Hyojin Bak (@eerraa)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
/* Reset */
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 2000U
|
16
keyboards/era/linx3/fave65s/fave65s.c
Normal file
16
keyboards/era/linx3/fave65s/fave65s.c
Normal file
@ -0,0 +1,16 @@
|
||||
// Copyright 2024 Hyojin Bak (@eerraa)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
bool rgb_matrix_indicators_kb(void) {
|
||||
if (!rgb_matrix_indicators_user()) {
|
||||
return false;
|
||||
}
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
rgb_matrix_set_color(0, 0, 128, 128);
|
||||
} else {
|
||||
rgb_matrix_set_color(0, 0, 0, 0);
|
||||
}
|
||||
return true;
|
||||
}
|
771
keyboards/era/linx3/fave65s/keyboard.json
Normal file
771
keyboards/era/linx3/fave65s/keyboard.json
Normal file
@ -0,0 +1,771 @@
|
||||
{
|
||||
"manufacturer": "eerraa",
|
||||
"keyboard_name": "FAve65S",
|
||||
"maintainer": "eerraa",
|
||||
"bootloader": "rp2040",
|
||||
"build": {
|
||||
"debounce_type": "sym_defer_pk"
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP28", "GP27", "GP26", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP12", "GP11", "GP10"],
|
||||
"rows": ["GP25", "GP29", "GP18", "GP23", "GP24"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_sat": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"band_val": true,
|
||||
"breathing": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"cycle_up_down": true,
|
||||
"dual_beacon": true,
|
||||
"flower_blooming": true,
|
||||
"gradient_left_right": true,
|
||||
"gradient_up_down": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"jellybean_raindrops": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_rain": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"riverflow": true,
|
||||
"starlight": true,
|
||||
"starlight_dual_hue": true,
|
||||
"starlight_dual_sat": true
|
||||
},
|
||||
"default": {
|
||||
"animation": "rainbow_moving_chevron"
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"matrix": [2, 0], "x": 10, "y": 39, "flags": 8},
|
||||
{"x": 0, "y": 0, "flags": 2},
|
||||
{"x": 13, "y": 0, "flags": 2},
|
||||
{"x": 26, "y": 0, "flags": 2},
|
||||
{"x": 40, "y": 0, "flags": 2},
|
||||
{"x": 53, "y": 0, "flags": 2},
|
||||
{"x": 66, "y": 0, "flags": 2},
|
||||
{"x": 79, "y": 0, "flags": 2},
|
||||
{"x": 92, "y": 0, "flags": 2},
|
||||
{"x": 105, "y": 0, "flags": 2},
|
||||
{"x": 119, "y": 0, "flags": 2},
|
||||
{"x": 132, "y": 0, "flags": 2},
|
||||
{"x": 145, "y": 0, "flags": 2},
|
||||
{"x": 158, "y": 0, "flags": 2},
|
||||
{"x": 171, "y": 0, "flags": 2},
|
||||
{"x": 184, "y": 0, "flags": 2},
|
||||
{"x": 198, "y": 0, "flags": 2},
|
||||
{"x": 211, "y": 0, "flags": 2},
|
||||
{"x": 224, "y": 0, "flags": 2},
|
||||
{"x": 224, "y": 13, "flags": 2},
|
||||
{"x": 224, "y": 26, "flags": 2},
|
||||
{"x": 224, "y": 38, "flags": 2},
|
||||
{"x": 224, "y": 51, "flags": 2},
|
||||
{"x": 224, "y": 64, "flags": 2},
|
||||
{"x": 211, "y": 64, "flags": 2},
|
||||
{"x": 198, "y": 64, "flags": 2},
|
||||
{"x": 184, "y": 64, "flags": 2},
|
||||
{"x": 171, "y": 64, "flags": 2},
|
||||
{"x": 158, "y": 64, "flags": 2},
|
||||
{"x": 145, "y": 64, "flags": 2},
|
||||
{"x": 132, "y": 64, "flags": 2},
|
||||
{"x": 119, "y": 64, "flags": 2},
|
||||
{"x": 105, "y": 64, "flags": 2},
|
||||
{"x": 92, "y": 64, "flags": 2},
|
||||
{"x": 79, "y": 64, "flags": 2},
|
||||
{"x": 66, "y": 64, "flags": 2},
|
||||
{"x": 53, "y": 64, "flags": 2},
|
||||
{"x": 40, "y": 64, "flags": 2},
|
||||
{"x": 26, "y": 64, "flags": 2},
|
||||
{"x": 13, "y": 64, "flags": 2},
|
||||
{"x": 0, "y": 64, "flags": 2},
|
||||
{"x": 0, "y": 51, "flags": 2},
|
||||
{"x": 0, "y": 38, "flags": 2},
|
||||
{"x": 0, "y": 26, "flags": 2},
|
||||
{"x": 0, "y": 13, "flags": 2}
|
||||
],
|
||||
"sleep": true
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0011",
|
||||
"vid": "0x4552"
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "vendor",
|
||||
"pin": "GP19"
|
||||
},
|
||||
"community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs", "65_iso_blocker_tsangan", "65_iso_blocker_tsangan_split_bs"],
|
||||
"layouts": {
|
||||
"LAYOUT_65_ansi_blocker": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_ansi_blocker_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_ansi_blocker_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_ansi_blocker_tsangan_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_65_iso_blocker_tsangan_split_bs": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 5], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [0, 14], "x": 14, "y": 0},
|
||||
{"matrix": [0, 15], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 15], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
|
||||
{"matrix": [2, 15], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 14], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 15, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13, "y": 4},
|
||||
{"matrix": [4, 14], "x": 14, "y": 4},
|
||||
{"matrix": [4, 15], "x": 15, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
21
keyboards/era/linx3/fave65s/keymaps/default/keymap.c
Normal file
21
keyboards/era/linx3/fave65s/keymaps/default/keymap.c
Normal file
@ -0,0 +1,21 @@
|
||||
// Copyright 2024 QMK (@qmk)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||
KC_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_PGUP,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
21
keyboards/era/linx3/fave65s/keymaps/via/keymap.c
Normal file
21
keyboards/era/linx3/fave65s/keymaps/via/keymap.c
Normal file
@ -0,0 +1,21 @@
|
||||
// Copyright 2024 QMK (@qmk)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||
KC_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_PGUP,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
1
keyboards/era/linx3/fave65s/keymaps/via/rules.mk
Normal file
1
keyboards/era/linx3/fave65s/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
26
keyboards/era/linx3/fave65s/readme.md
Normal file
26
keyboards/era/linx3/fave65s/readme.md
Normal file
@ -0,0 +1,26 @@
|
||||
# FAve 65S, Solder Ver
|
||||
|
||||
![head](https://i.imgur.com/4Sc42zO.jpg)
|
||||
![tail](https://i.imgur.com/hgCPtWg.jpg)
|
||||
|
||||
* Keyboard Maintainer: [ERA](https://github.com/eerraa)
|
||||
* Hardware supported: LINWORKS
|
||||
* Hardware availability: [LINWORKS](https://allthatkeyboard.com/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make era/linx3/fave65s:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make era/linx3/fave65s:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
@ -39,8 +39,11 @@
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"debounce": 3,
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
|
@ -171,19 +171,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
TD(TD_CUT_REDO), TD(TD_MPRV_LEFT), TD(TD_PLAY_PAUSE_MUTE), TD(TD_MNXT_RIGHT), TD(QUAD_CVXA), TD(QUAD_LAYER_SWITCH)
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
YOUTUBE, KC_WBAK, TD(TD_SEARCH_REFRESH), KC_WFWD, FACEBOOK, TD(QUAD_LAYER_SWITCH)
|
||||
),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH)
|
||||
),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
[3] = LAYOUT(
|
||||
C(KC_SLSH), VALORANT, VSCODE, DISCORD, LSA(KC_A), TD(QUAD_LAYER_SWITCH)
|
||||
),
|
||||
};
|
@ -171,19 +171,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
TD(TD_CUT_REDO), TD(TD_MPRV_LEFT), TD(TD_PLAY_PAUSE_MUTE), TD(TD_MNXT_RIGHT), TD(QUAD_CVXA), TD(QUAD_LAYER_SWITCH)
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
YOUTUBE, KC_WBAK, TD(TD_SEARCH_REFRESH), KC_WFWD, FACEBOOK, TD(QUAD_LAYER_SWITCH)
|
||||
),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH)
|
||||
),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
[3] = LAYOUT(
|
||||
C(KC_SLSH), VALORANT, VSCODE, DISCORD, LSA(KC_A), TD(QUAD_LAYER_SWITCH)
|
||||
),
|
||||
};
|
@ -51,8 +51,11 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, MO(1), KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_SLSH, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
|
||||
@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, MO(1), TG(2), KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,TG(2), MO(4),
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
[3] = LAYOUT(
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,MO(4),
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, MO(1), KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_SLSH, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
|
||||
@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, MO(1), TG(2), KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,TG(2), MO(4),
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS
|
||||
),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
[3] = LAYOUT(
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,MO(4),
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||
|
@ -36,8 +36,11 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0, "w": 1.5},
|
||||
|
@ -26,19 +26,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DRV2605L_V_PEAK 5
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
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_RBRC, KC_BSPC, KC_DEL ,
|
||||
KC_F13 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_HOME,
|
||||
KC_F14 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END ,
|
||||
KC_F15 , KC_LCTL, KC_LALT, KC_SPC , KC_MUTE, MO(1) , MO(2) , KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
_______, _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
_______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
|
@ -26,28 +26,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DRV2605L_V_PEAK 5
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
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_RBRC, KC_BSPC, KC_DEL ,
|
||||
KC_F13 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_HOME,
|
||||
KC_F14 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END ,
|
||||
KC_F15 , KC_LCTL, KC_LALT, KC_SPC , KC_MUTE, MO(1) , MO(2) , KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
_______, _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
_______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
)
|
||||
};
|
||||
|
@ -23,8 +23,11 @@
|
||||
"pid": "0x0000",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
|
@ -11,40 +11,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* LP, LR, LM, LI, LT, RT, RI, RM, RR, RP
|
||||
*
|
||||
*/
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
LT(8, KC_A), LT(7, KC_O), LT(6, KC_E), LT(5, KC_U), LT(10,KC_BSPC), LT(9, KC_SPC), LT(1, KC_H), LT(2, KC_T), LT(3, KC_N), LT(4, KC_S)
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
KC_Q, KC_K, KC_J, KC_I, KC_ESC, KC_TAB, KC_NO, KC_RGUI, KC_RGUI, KC_RGUI
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
KC_Z, KC_Y, KC_X, KC_P, KC_NO, KC_NO, KC_RCTL, KC_NO, KC_RCTL, KC_RCTL
|
||||
),
|
||||
[3] = LAYOUT_all(
|
||||
[3] = LAYOUT(
|
||||
KC_QUOT, KC_COMM, KC_DOT, KC_F, KC_NO, KC_NO, KC_RALT, KC_RALT, KC_NO, KC_RALT
|
||||
),
|
||||
[4] = LAYOUT_all(
|
||||
[4] = LAYOUT(
|
||||
KC_SCLN, KC_LPRN, KC_RPRN, KC_GRV, KC_NO, MO(11), KC_RSFT, KC_RSFT, KC_RSFT, KC_NO
|
||||
),
|
||||
[5] = LAYOUT_all(
|
||||
[5] = LAYOUT(
|
||||
KC_LGUI, KC_LGUI, KC_LGUI, KC_NO, LGUI(KC_GRV), LGUI(KC_TAB), KC_D, KC_G, KC_C, KC_ENT
|
||||
),
|
||||
[6] = LAYOUT_all(
|
||||
[6] = LAYOUT(
|
||||
KC_LCTL, KC_LCTL, KC_NO, KC_LCTL, KC_NO, KC_NO, KC_M, KC_B, KC_V, KC_W
|
||||
),
|
||||
[7] = LAYOUT_all(
|
||||
[7] = LAYOUT(
|
||||
KC_LALT, KC_NO, KC_LALT, KC_LALT, KC_NO, KC_NO, KC_SLSH, KC_L, KC_R, KC_BSLS
|
||||
),
|
||||
[8] = LAYOUT_all(
|
||||
[8] = LAYOUT(
|
||||
KC_NO, KC_LSFT, KC_LSFT, KC_LSFT, MO(11), KC_NO, KC_MINS, KC_LBRC, KC_RBRC, KC_EQL
|
||||
),
|
||||
[9] = LAYOUT_all(
|
||||
[9] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN
|
||||
),
|
||||
[10] = LAYOUT_all(
|
||||
[10] = LAYOUT(
|
||||
KC_PGDN, KC_PGUP, KC_HOME, KC_END, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
),
|
||||
[11] = LAYOUT_all(
|
||||
[11] = LAYOUT(
|
||||
KC_WH_D, KC_WH_U, KC_WH_L, KC_WH_R, KC_BTN2, KC_BTN1, KC_MS_L, KC_MS_R, KC_MS_U, KC_MS_D
|
||||
)
|
||||
};
|
||||
|
@ -19,29 +19,6 @@
|
||||
// OLED animation
|
||||
#include "lib/logo.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
led_config_t g_led_config = { {
|
||||
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
|
||||
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
|
||||
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
|
||||
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
|
||||
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
|
||||
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
|
||||
}, {
|
||||
{152, 0}, {165, 0}, {190, 0}, {205, 0},
|
||||
{224, 21}, {224, 43}, {224, 54},
|
||||
{188, 64}, {172, 64}, {156, 64}, {140, 64}, {115, 64}, {99 , 64}, {75 , 64}, {59 , 64}, {43 , 64}, {26 , 64},
|
||||
{0 , 15}, {0 , 50}, {0 , 39},
|
||||
{18 , 0}, {36 , 0}, {57 , 0}, {67 , 0}
|
||||
}, {
|
||||
2, 2, 2, 2, 2, 2, 2, 2,
|
||||
2, 2,
|
||||
2, 2,
|
||||
2, 2,
|
||||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||
} };
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
uint16_t startup_timer;
|
||||
|
||||
|
@ -34,7 +34,33 @@
|
||||
"pixel_rain": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"max_brightness": 200
|
||||
"max_brightness": 200,
|
||||
"layout": [
|
||||
{"x": 152, "y": 0, "flags": 2},
|
||||
{"x": 165, "y": 0, "flags": 2},
|
||||
{"x": 190, "y": 0, "flags": 2},
|
||||
{"x": 205, "y": 0, "flags": 2},
|
||||
{"x": 224, "y": 21, "flags": 2},
|
||||
{"x": 224, "y": 43, "flags": 2},
|
||||
{"x": 224, "y": 54, "flags": 2},
|
||||
{"x": 188, "y": 64, "flags": 2},
|
||||
{"x": 172, "y": 64, "flags": 2},
|
||||
{"x": 156, "y": 64, "flags": 2},
|
||||
{"x": 140, "y": 64, "flags": 2},
|
||||
{"x": 115, "y": 64, "flags": 2},
|
||||
{"x": 99, "y": 64, "flags": 2},
|
||||
{"x": 75, "y": 64, "flags": 2},
|
||||
{"x": 59, "y": 64, "flags": 2},
|
||||
{"x": 43, "y": 64, "flags": 2},
|
||||
{"x": 26, "y": 64, "flags": 2},
|
||||
{"x": 0, "y": 50, "flags": 2},
|
||||
{"x": 0, "y": 39, "flags": 2},
|
||||
{"x": 0, "y": 15, "flags": 2},
|
||||
{"x": 18, "y": 0, "flags": 2},
|
||||
{"x": 36, "y": 0, "flags": 2},
|
||||
{"x": 57, "y": 0, "flags": 2},
|
||||
{"x": 67, "y": 0, "flags": 2}
|
||||
]
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["B15", "C6", "C7", "A3", "A1", "C3", "C1", "B14", "B13", "A9", "B3", "B4", "A0", "C11", "C4", "C0", "C2"],
|
||||
|
@ -1,19 +0,0 @@
|
||||
/* Copyright 2021 Wizad-GG
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGB_MATRIX_LED_COUNT 67
|
@ -77,6 +77,79 @@
|
||||
"animation": "cycle_all"
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 30, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 3], "x": 45, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 60, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 5], "x": 75, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 6], "x": 90, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 7], "x": 105, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 8], "x": 120, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 9], "x": 134, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 10], "x": 149, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 11], "x": 164, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 12], "x": 179, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 14], "x": 202, "y": 0, "flags": 1},
|
||||
{"matrix": [0, 15], "x": 224, "y": 0, "flags": 1},
|
||||
|
||||
{"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
|
||||
{"matrix": [1, 1], "x": 22, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 37, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 52, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 67, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 82, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 6], "x": 97, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 7], "x": 112, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 8], "x": 127, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 9], "x": 142, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 10], "x": 157, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 11], "x": 172, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 12], "x": 187, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 13], "x": 205, "y": 16, "flags": 4},
|
||||
{"matrix": [1, 15], "x": 224, "y": 16, "flags": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 6, "y": 32, "flags": 1},
|
||||
{"matrix": [2, 1], "x": 26, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 41, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 56, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 71, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 86, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 6], "x": 101, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 7], "x": 116, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 8], "x": 131, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 9], "x": 146, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 10], "x": 161, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 11], "x": 175, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 13], "x": 200, "y": 32, "flags": 1},
|
||||
{"matrix": [2, 15], "x": 224, "y": 32, "flags": 1},
|
||||
|
||||
{"matrix": [3, 0], "x": 9, "y": 48, "flags": 1},
|
||||
{"matrix": [3, 2], "x": 34, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 49, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 63, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 78, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 6], "x": 93, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 7], "x": 108, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 8], "x": 123, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 9], "x": 138, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 10], "x": 153, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 11], "x": 168, "y": 48, "flags": 4},
|
||||
{"matrix": [3, 12], "x": 189, "y": 48, "flags": 1},
|
||||
{"matrix": [3, 13], "x": 209, "y": 48, "flags": 1},
|
||||
{"matrix": [3, 15], "x": 224, "y": 48, "flags": 1},
|
||||
|
||||
{"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 1], "x": 21, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 2], "x": 39, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 6], "x": 95, "y": 64, "flags": 4},
|
||||
{"matrix": [4, 10], "x": 151, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 11], "x": 170, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 12], "x": 194, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 13], "x": 209, "y": 64, "flags": 1},
|
||||
{"matrix": [4, 15], "x": 224, "y": 64, "flags": 1}
|
||||
],
|
||||
"led_process_limit": 4,
|
||||
"led_flush_limit": 26,
|
||||
"sleep": true,
|
||||
|
@ -17,38 +17,11 @@
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
// Key Matrix to LED Index
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
||||
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
|
||||
{ 30, NO_LED, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 },
|
||||
{ NO_LED, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
|
||||
{ 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, 66 }
|
||||
}, {
|
||||
// LED Index to Physical Position
|
||||
{ 0, 0}, { 15, 0}, { 30, 0}, { 45, 0}, { 60, 0}, { 75, 0}, { 90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {202, 0}, {225, 0}, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete
|
||||
{ 4, 16}, { 22, 16}, { 37, 16}, { 52, 16}, { 67, 16}, { 82, 16}, { 97, 16}, {112, 16}, {127, 16}, {142, 16}, {157, 16}, {172, 16}, {187, 16}, {206, 16}, {225, 16}, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home
|
||||
{ 6, 32}, { 26, 32}, { 41, 32}, { 56, 32}, { 71, 32}, { 86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {225, 32}, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up
|
||||
{ 9, 48}, { 34, 48}, { 49, 48}, { 64, 48}, { 79, 48}, { 94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {208, 48}, {225, 48}, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down
|
||||
{ 2, 64}, { 21, 64}, { 39, 64}, { 94, 64}, {148, 64}, {163, 64}, {193, 64}, {208, 64}, {225, 64}, // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right
|
||||
|
||||
}, {
|
||||
// LED Index to Flag
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down
|
||||
1, 1, 1, 4, 1, 1, 1, 1, 1, // Ctrl, GUI, Alt, Space, Alt, FN, Left, Down, Right
|
||||
|
||||
} };
|
||||
|
||||
|
||||
bool rgb_matrix_indicators_kb(void) {
|
||||
if (!rgb_matrix_indicators_user()) {
|
||||
return false;
|
||||
}
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
|
||||
}
|
||||
return true;
|
||||
|
@ -29,8 +29,11 @@
|
||||
"rows": ["D6", "B0", "D7", "B5", "B3", "B4", "B2"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "Num Lock", "matrix": [2, 10], "x": 6.75, "y": 0},
|
||||
{"label": "-", "matrix": [1, 10], "x": 6.75, "y": 1},
|
||||
|
@ -19,7 +19,7 @@
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
//base layer
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
KC_NUM,
|
||||
KC_PAST, KC_PSLS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_1, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RSFT,
|
||||
KC_LCTL, KC_LALT, KC_SPC, KC_1, KC_RALT, KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
KC_F2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
@ -19,7 +19,7 @@
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
//base layer
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
KC_NUM,
|
||||
KC_PAST, KC_PSLS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT,
|
||||
KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
KC_F2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
KC_F2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all(
|
||||
[3] = LAYOUT(
|
||||
KC_F2,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
|
@ -117,6 +117,144 @@
|
||||
{"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_5u5_space_left": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [2, 0], "x": 2, "y": 0},
|
||||
{"matrix": [3, 0], "x": 3, "y": 0},
|
||||
{"matrix": [4, 0], "x": 4, "y": 0},
|
||||
{"matrix": [5, 0], "x": 5, "y": 0},
|
||||
{"matrix": [6, 0], "x": 6, "y": 0},
|
||||
{"matrix": [7, 0], "x": 7, "y": 0},
|
||||
{"matrix": [8, 0], "x": 8, "y": 0},
|
||||
{"matrix": [9, 0], "x": 9, "y": 0},
|
||||
{"matrix": [10, 0], "x": 10, "y": 0},
|
||||
{"matrix": [11, 0], "x": 11, "y": 0},
|
||||
{"matrix": [0, 1], "x": 12, "y": 0},
|
||||
{"matrix": [1, 1], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"matrix": [2, 1], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [4, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [5, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [6, 1], "x": 4.5, "y": 1},
|
||||
{"matrix": [7, 1], "x": 5.5, "y": 1},
|
||||
{"matrix": [8, 1], "x": 6.5, "y": 1},
|
||||
{"matrix": [9, 1], "x": 7.5, "y": 1},
|
||||
{"matrix": [10, 1], "x": 8.5, "y": 1},
|
||||
{"matrix": [11, 1], "x": 9.5, "y": 1},
|
||||
{"matrix": [0, 2], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"matrix": [4, 2], "x": 0, "y": 2, "w": 2},
|
||||
{"matrix": [5, 2], "x": 2, "y": 2},
|
||||
{"matrix": [6, 2], "x": 3, "y": 2},
|
||||
{"matrix": [7, 2], "x": 4, "y": 2},
|
||||
{"matrix": [8, 2], "x": 5, "y": 2},
|
||||
{"matrix": [9, 2], "x": 6, "y": 2},
|
||||
{"matrix": [10, 2], "x": 7, "y": 2},
|
||||
{"matrix": [11, 2], "x": 8, "y": 2},
|
||||
{"matrix": [0, 3], "x": 9, "y": 2},
|
||||
{"matrix": [1, 3], "x": 10, "y": 2},
|
||||
{"matrix": [2, 3], "x": 11, "y": 2},
|
||||
{"matrix": [3, 3], "x": 12, "y": 2},
|
||||
{"matrix": [4, 3], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [5, 3], "x": 0, "y": 3, "w": 2.5},
|
||||
{"matrix": [6, 3], "x": 2.5, "y": 3},
|
||||
{"matrix": [7, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 4.5, "y": 3},
|
||||
{"matrix": [9, 3], "x": 5.5, "y": 3},
|
||||
{"matrix": [10, 3], "x": 6.5, "y": 3},
|
||||
{"matrix": [11, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [1, 4], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 4], "x": 11.5, "y": 3},
|
||||
{"matrix": [4, 4], "x": 12.5, "y": 3, "w": 2.5},
|
||||
|
||||
{"matrix": [5, 4], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 4], "x": 1.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [7, 4], "x": 2.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [10, 4], "x": 4.25, "y": 4, "w": 5.5},
|
||||
{"matrix": [0, 5], "x": 9.75, "y": 4},
|
||||
{"matrix": [1, 5], "x": 10.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_5u5_space_right": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [1, 0], "x": 1, "y": 0},
|
||||
{"matrix": [2, 0], "x": 2, "y": 0},
|
||||
{"matrix": [3, 0], "x": 3, "y": 0},
|
||||
{"matrix": [4, 0], "x": 4, "y": 0},
|
||||
{"matrix": [5, 0], "x": 5, "y": 0},
|
||||
{"matrix": [6, 0], "x": 6, "y": 0},
|
||||
{"matrix": [7, 0], "x": 7, "y": 0},
|
||||
{"matrix": [8, 0], "x": 8, "y": 0},
|
||||
{"matrix": [9, 0], "x": 9, "y": 0},
|
||||
{"matrix": [10, 0], "x": 10, "y": 0},
|
||||
{"matrix": [11, 0], "x": 11, "y": 0},
|
||||
{"matrix": [0, 1], "x": 12, "y": 0},
|
||||
{"matrix": [1, 1], "x": 13, "y": 0, "w": 2},
|
||||
|
||||
{"matrix": [2, 1], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [3, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [4, 1], "x": 2.5, "y": 1},
|
||||
{"matrix": [5, 1], "x": 3.5, "y": 1},
|
||||
{"matrix": [6, 1], "x": 4.5, "y": 1},
|
||||
{"matrix": [7, 1], "x": 5.5, "y": 1},
|
||||
{"matrix": [8, 1], "x": 6.5, "y": 1},
|
||||
{"matrix": [9, 1], "x": 7.5, "y": 1},
|
||||
{"matrix": [10, 1], "x": 8.5, "y": 1},
|
||||
{"matrix": [11, 1], "x": 9.5, "y": 1},
|
||||
{"matrix": [0, 2], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 11.5, "y": 1},
|
||||
{"matrix": [2, 2], "x": 12.5, "y": 1},
|
||||
{"matrix": [3, 2], "x": 13.5, "y": 1, "w": 1.5},
|
||||
|
||||
{"matrix": [4, 2], "x": 0, "y": 2, "w": 2},
|
||||
{"matrix": [5, 2], "x": 2, "y": 2},
|
||||
{"matrix": [6, 2], "x": 3, "y": 2},
|
||||
{"matrix": [7, 2], "x": 4, "y": 2},
|
||||
{"matrix": [8, 2], "x": 5, "y": 2},
|
||||
{"matrix": [9, 2], "x": 6, "y": 2},
|
||||
{"matrix": [10, 2], "x": 7, "y": 2},
|
||||
{"matrix": [11, 2], "x": 8, "y": 2},
|
||||
{"matrix": [0, 3], "x": 9, "y": 2},
|
||||
{"matrix": [1, 3], "x": 10, "y": 2},
|
||||
{"matrix": [2, 3], "x": 11, "y": 2},
|
||||
{"matrix": [3, 3], "x": 12, "y": 2},
|
||||
{"matrix": [4, 3], "x": 13, "y": 2, "w": 2},
|
||||
|
||||
{"matrix": [5, 3], "x": 0, "y": 3, "w": 2.5},
|
||||
{"matrix": [6, 3], "x": 2.5, "y": 3},
|
||||
{"matrix": [7, 3], "x": 3.5, "y": 3},
|
||||
{"matrix": [8, 3], "x": 4.5, "y": 3},
|
||||
{"matrix": [9, 3], "x": 5.5, "y": 3},
|
||||
{"matrix": [10, 3], "x": 6.5, "y": 3},
|
||||
{"matrix": [11, 3], "x": 7.5, "y": 3},
|
||||
{"matrix": [0, 4], "x": 8.5, "y": 3},
|
||||
{"matrix": [1, 4], "x": 9.5, "y": 3},
|
||||
{"matrix": [2, 4], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 4], "x": 11.5, "y": 3},
|
||||
{"matrix": [4, 4], "x": 12.5, "y": 3, "w": 2.5},
|
||||
|
||||
{"matrix": [5, 4], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [6, 4], "x": 1.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [7, 4], "x": 2.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [8, 4], "x": 4.25, "y": 4},
|
||||
{"matrix": [10, 4], "x": 5.25, "y": 4, "w": 5.5},
|
||||
{"matrix": [1, 5], "x": 10.75, "y": 4, "w": 1.5},
|
||||
{"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5},
|
||||
{"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
22
keyboards/kakunpc/angel64/rev1/matrix_diagram.md
Normal file
22
keyboards/kakunpc/angel64/rev1/matrix_diagram.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Matrix Diagram for Angel64 Rev1
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
│00 │10 │20 │30 │40 │50 │60 │70 │80 │90 │A0 │B0 │01 │11 │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
│21 │31 │41 │51 │61 │71 │81 │91 │A1 │B1 │02 │12 │22 │32 │
|
||||
├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┤
|
||||
│42 │52 │62 │72 │82 │92 │A2 │B2 │03 │13 │23 │33 │43 │
|
||||
├───────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤
|
||||
│53 │63 │73 │83 │93 │A3 │B3 │04 │14 │24 │34 │44 │
|
||||
├────┬────┴┬──┴──┬┴──┬┴───┴┬──┴──┬┴───┴┬──┴┬──┴──┬┴────┬────┤
|
||||
│54 │64 │74 │84 │94 │A4 │B4 │05 │15 │25 │35 │
|
||||
└────┴─────┴─────┴───┴─────┴─────┴─────┴───┴─────┴─────┴────┘
|
||||
|
||||
┌────┬─────┬─────┬─────────────────────┬───┬─────┬─────┬────┐
|
||||
│54 │64 │74 │A4 │05 │15 │25 │35 │ 5.5u Space (Left)
|
||||
└────┴─────┴─────┴─────────────────────┴───┴─────┴─────┴────┘
|
||||
┌────┬─────┬─────┬───┬─────────────────────┬─────┬─────┬────┐
|
||||
│54 │64 │74 │84 │A4 │15 │25 │35 │ 5.5u Space (Right)
|
||||
└────┴─────┴─────┴───┴─────────────────────┴─────┴─────┴────┘
|
||||
```
|
@ -57,8 +57,94 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "caterina",
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT_ansi_split_rshift"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0.41, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.41, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.72, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.72, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.72, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.72, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.72, "y": 0},
|
||||
|
||||
{"matrix": [5, 0], "x": 9.62, "y": 0},
|
||||
{"matrix": [5, 1], "x": 10.62, "y": 0},
|
||||
{"matrix": [5, 2], "x": 11.62, "y": 0},
|
||||
{"matrix": [5, 3], "x": 12.62, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.07, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.07, "y": 0},
|
||||
{"matrix": [5, 6], "x": 16.07, "y": 0},
|
||||
{"matrix": [5, 7], "x": 17.07, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.78, "y": 1},
|
||||
{"matrix": [1, 2], "x": 3.22, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4.22, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5.22, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6.22, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7.22, "y": 1},
|
||||
|
||||
{"matrix": [6, 0], "x": 9.12, "y": 1},
|
||||
{"matrix": [6, 1], "x": 10.12, "y": 1},
|
||||
{"matrix": [6, 2], "x": 11.12, "y": 1},
|
||||
{"matrix": [6, 3], "x": 12.12, "y": 1},
|
||||
{"matrix": [6, 4], "x": 13.72, "y": 1},
|
||||
{"matrix": [6, 5], "x": 14.72, "y": 1},
|
||||
{"matrix": [6, 6], "x": 15.72, "y": 1},
|
||||
{"matrix": [6, 7], "x": 16.72, "y": 1, "w": 1.5},
|
||||
|
||||
{"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.89, "y": 2},
|
||||
{"matrix": [2, 2], "x": 3.47, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.47, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.47, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.47, "y": 2},
|
||||
{"matrix": [4, 5], "x": 7.47, "y": 2},
|
||||
|
||||
{"matrix": [7, 0], "x": 9.37, "y": 2},
|
||||
{"matrix": [7, 1], "x": 10.37, "y": 2},
|
||||
{"matrix": [7, 2], "x": 11.37, "y": 2},
|
||||
{"matrix": [7, 3], "x": 12.37, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.09, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.09, "y": 2},
|
||||
{"matrix": [7, 6], "x": 16.09, "y": 2, "w": 2.25},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 3.97, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.97, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.97, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.97, "y": 3},
|
||||
|
||||
{"matrix": [8, 0], "x": 8.87, "y": 3},
|
||||
{"matrix": [8, 1], "x": 9.87, "y": 3},
|
||||
{"matrix": [8, 2], "x": 10.87, "y": 3},
|
||||
{"matrix": [8, 3], "x": 11.87, "y": 3},
|
||||
{"matrix": [8, 4], "x": 13.72, "y": 3},
|
||||
{"matrix": [8, 5], "x": 14.72, "y": 3},
|
||||
{"matrix": [8, 6], "x": 15.72, "y": 3, "w": 1.75},
|
||||
|
||||
{"matrix": [9, 0], "x": 18, "y": 3.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 4.47, "y": 4},
|
||||
{"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2},
|
||||
{"matrix": [4, 4], "x": 7.47, "y": 4},
|
||||
|
||||
{"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 2], "x": 12.1, "y": 4},
|
||||
|
||||
{"matrix": [9, 3], "x": 17, "y": 4.25},
|
||||
{"matrix": [9, 4], "x": 18, "y": 4.25},
|
||||
{"matrix": [9, 5], "x": 19, "y": 4.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi_split_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0.41, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.41, "y": 0},
|
||||
@ -137,6 +223,173 @@
|
||||
{"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 2], "x": 12.1, "y": 4},
|
||||
|
||||
{"matrix": [9, 3], "x": 17, "y": 4.25},
|
||||
{"matrix": [9, 4], "x": 18, "y": 4.25},
|
||||
{"matrix": [9, 5], "x": 19, "y": 4.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0.41, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.41, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.72, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.72, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.72, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.72, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.72, "y": 0},
|
||||
|
||||
{"matrix": [5, 0], "x": 9.62, "y": 0},
|
||||
{"matrix": [5, 1], "x": 10.62, "y": 0},
|
||||
{"matrix": [5, 2], "x": 11.62, "y": 0},
|
||||
{"matrix": [5, 3], "x": 12.62, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.07, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.07, "y": 0},
|
||||
{"matrix": [5, 6], "x": 16.07, "y": 0},
|
||||
{"matrix": [5, 7], "x": 17.07, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.78, "y": 1},
|
||||
{"matrix": [1, 2], "x": 3.22, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4.22, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5.22, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6.22, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7.22, "y": 1},
|
||||
|
||||
{"matrix": [6, 0], "x": 9.12, "y": 1},
|
||||
{"matrix": [6, 1], "x": 10.12, "y": 1},
|
||||
{"matrix": [6, 2], "x": 11.12, "y": 1},
|
||||
{"matrix": [6, 3], "x": 12.12, "y": 1},
|
||||
{"matrix": [6, 4], "x": 13.72, "y": 1},
|
||||
{"matrix": [6, 5], "x": 14.72, "y": 1},
|
||||
{"matrix": [6, 6], "x": 15.72, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.89, "y": 2},
|
||||
{"matrix": [2, 2], "x": 3.47, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.47, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.47, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.47, "y": 2},
|
||||
{"matrix": [4, 5], "x": 7.47, "y": 2},
|
||||
|
||||
{"matrix": [7, 0], "x": 9.37, "y": 2},
|
||||
{"matrix": [7, 1], "x": 10.37, "y": 2},
|
||||
{"matrix": [7, 2], "x": 11.37, "y": 2},
|
||||
{"matrix": [7, 3], "x": 12.37, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.09, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.09, "y": 2},
|
||||
{"matrix": [7, 6], "x": 16.09, "y": 2},
|
||||
{"matrix": [6, 7], "x": 17.09, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 3.97, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.97, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.97, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.97, "y": 3},
|
||||
|
||||
{"matrix": [8, 0], "x": 8.87, "y": 3},
|
||||
{"matrix": [8, 1], "x": 9.87, "y": 3},
|
||||
{"matrix": [8, 2], "x": 10.87, "y": 3},
|
||||
{"matrix": [8, 3], "x": 11.87, "y": 3},
|
||||
{"matrix": [8, 4], "x": 13.72, "y": 3},
|
||||
{"matrix": [8, 5], "x": 14.72, "y": 3},
|
||||
{"matrix": [8, 6], "x": 15.72, "y": 3, "w": 1.75},
|
||||
|
||||
{"matrix": [9, 0], "x": 18, "y": 3.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 4.47, "y": 4},
|
||||
{"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2},
|
||||
{"matrix": [4, 4], "x": 7.47, "y": 4},
|
||||
|
||||
{"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 2], "x": 12.1, "y": 4},
|
||||
|
||||
{"matrix": [9, 3], "x": 17, "y": 4.25},
|
||||
{"matrix": [9, 4], "x": 18, "y": 4.25},
|
||||
{"matrix": [9, 5], "x": 19, "y": 4.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso_split_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0.41, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1.41, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2.72, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3.72, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4.72, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5.72, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6.72, "y": 0},
|
||||
|
||||
{"matrix": [5, 0], "x": 9.62, "y": 0},
|
||||
{"matrix": [5, 1], "x": 10.62, "y": 0},
|
||||
{"matrix": [5, 2], "x": 11.62, "y": 0},
|
||||
{"matrix": [5, 3], "x": 12.62, "y": 0},
|
||||
{"matrix": [5, 4], "x": 14.07, "y": 0},
|
||||
{"matrix": [5, 5], "x": 15.07, "y": 0},
|
||||
{"matrix": [5, 6], "x": 16.07, "y": 0},
|
||||
{"matrix": [5, 7], "x": 17.07, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.78, "y": 1},
|
||||
{"matrix": [1, 2], "x": 3.22, "y": 1},
|
||||
{"matrix": [1, 3], "x": 4.22, "y": 1},
|
||||
{"matrix": [1, 4], "x": 5.22, "y": 1},
|
||||
{"matrix": [1, 5], "x": 6.22, "y": 1},
|
||||
{"matrix": [1, 6], "x": 7.22, "y": 1},
|
||||
|
||||
{"matrix": [6, 0], "x": 9.12, "y": 1},
|
||||
{"matrix": [6, 1], "x": 10.12, "y": 1},
|
||||
{"matrix": [6, 2], "x": 11.12, "y": 1},
|
||||
{"matrix": [6, 3], "x": 12.12, "y": 1},
|
||||
{"matrix": [6, 4], "x": 13.72, "y": 1},
|
||||
{"matrix": [6, 5], "x": 14.72, "y": 1},
|
||||
{"matrix": [6, 6], "x": 15.72, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.89, "y": 2},
|
||||
{"matrix": [2, 2], "x": 3.47, "y": 2},
|
||||
{"matrix": [2, 3], "x": 4.47, "y": 2},
|
||||
{"matrix": [2, 4], "x": 5.47, "y": 2},
|
||||
{"matrix": [2, 5], "x": 6.47, "y": 2},
|
||||
{"matrix": [4, 5], "x": 7.47, "y": 2},
|
||||
|
||||
{"matrix": [7, 0], "x": 9.37, "y": 2},
|
||||
{"matrix": [7, 1], "x": 10.37, "y": 2},
|
||||
{"matrix": [7, 2], "x": 11.37, "y": 2},
|
||||
{"matrix": [7, 3], "x": 12.37, "y": 2},
|
||||
{"matrix": [7, 4], "x": 14.09, "y": 2},
|
||||
{"matrix": [7, 5], "x": 15.09, "y": 2},
|
||||
{"matrix": [7, 6], "x": 16.09, "y": 2},
|
||||
{"matrix": [6, 7], "x": 17.09, "y": 1, "w": 1.25, "h": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 3.97, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.97, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.97, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.97, "y": 3},
|
||||
|
||||
{"matrix": [8, 0], "x": 8.87, "y": 3},
|
||||
{"matrix": [8, 1], "x": 9.87, "y": 3},
|
||||
{"matrix": [8, 2], "x": 10.87, "y": 3},
|
||||
{"matrix": [8, 3], "x": 11.87, "y": 3},
|
||||
{"matrix": [8, 4], "x": 13.72, "y": 3},
|
||||
{"matrix": [8, 5], "x": 14.72, "y": 3},
|
||||
{"matrix": [8, 6], "x": 15.72, "y": 3},
|
||||
{"matrix": [8, 7], "x": 16.72, "y": 3},
|
||||
|
||||
{"matrix": [9, 0], "x": 18, "y": 3.25},
|
||||
|
||||
{"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 4.47, "y": 4},
|
||||
{"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2},
|
||||
{"matrix": [4, 4], "x": 7.47, "y": 4},
|
||||
|
||||
{"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75},
|
||||
{"matrix": [9, 2], "x": 12.1, "y": 4},
|
||||
|
||||
{"matrix": [9, 3], "x": 17, "y": 4.25},
|
||||
{"matrix": [9, 4], "x": 18, "y": 4.25},
|
||||
{"matrix": [9, 5], "x": 19, "y": 4.25}
|
||||
|
@ -22,14 +22,14 @@ enum layers{
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base */
|
||||
[_BASE] = LAYOUT_all(
|
||||
[_BASE] = LAYOUT_ansi_split_rshift(
|
||||
KC_ESC, 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_LCAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
[_FN] = LAYOUT_all(
|
||||
[_FN] = LAYOUT_ansi_split_rshift(
|
||||
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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
|
16
keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md
Normal file
16
keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Matrix Diagram for rabbit_capture_plan
|
||||
|
||||
```
|
||||
┌───┬───┐ ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐
|
||||
│00 │01 │ │02 │03 │04 │05 │06 │ │50 │51 │52 │53 │ │54 │55 │56 │57 │
|
||||
┌┴───┴┬──┴┐└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐
|
||||
│10 │11 │ │12 │13 │14 │15 │16 │ │60 │61 │62 │63 │ │64 │65 │66 │67 │ │67 │
|
||||
┌┴─────┼───┤ └┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┐ └─┬─┴─┬─┴─┬─┴─────┴┐ ┌──┴┐ │ ISO Enter
|
||||
│20 │21 │ │22 │23 │24 │25 │26 │ │70 │71 │72 │73 │ │74 │75 │76 │ │76 │ │
|
||||
┌┴──────┴┬──┴┐ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬───┬──┘ └───┴────┘
|
||||
│30 │31 │ │32 │33 │34 │35 │ │80 │81 │82 │83 │ │84 │85 │86 │87 │ ┌───┐ ┌──────┐
|
||||
└┬────┬──┴─┬─┘ └─┬─┴─┬─┴───┴─┬─┴─┐ └─┬─┴───┴───┴┬──┴┐ └───┴───┴───┴───┘ │90 │ │86 │ 1.75u Right Shift
|
||||
│40 │41 │ │42 │43 │44 │ │91 │92 │ ┌───┼───┼───┐ └──────┘
|
||||
└────┴────┘ └───┴───────┴───┘ └──────────┴───┘ │93 │94 │95 │
|
||||
└───┴───┴───┘
|
||||
```
|
@ -80,8 +80,11 @@
|
||||
"diode_direction": "COL2ROW",
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
|
@ -17,25 +17,25 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRAVE, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP,
|
||||
KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN,
|
||||
KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
|
||||
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN,
|
||||
KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
|
||||
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
|
||||
[3] = LAYOUT_all(
|
||||
[3] = LAYOUT(
|
||||
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN,
|
||||
KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
|
||||
|
@ -17,25 +17,25 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRAVE, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP,
|
||||
KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT),
|
||||
[1] = LAYOUT_all(
|
||||
[1] = LAYOUT(
|
||||
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN,
|
||||
KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
|
||||
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
|
||||
[2] = LAYOUT_all(
|
||||
[2] = LAYOUT(
|
||||
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN,
|
||||
KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
|
||||
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
|
||||
[3] = LAYOUT_all(
|
||||
[3] = LAYOUT(
|
||||
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_GRAVE, KC_PGUP,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN,
|
||||
KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user