mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-12 10:51:33 +00:00
Merge branch 'qmk:master' into dev_branch
This commit is contained in:
commit
cd1514dc42
2
.github/workflows/docs.yml
vendored
2
.github/workflows/docs.yml
vendored
@ -37,7 +37,7 @@ jobs:
|
||||
qmk --verbose generate-docs
|
||||
|
||||
- name: Deploy
|
||||
uses: JamesIves/github-pages-deploy-action@v4.6.0
|
||||
uses: JamesIves/github-pages-deploy-action@v4.6.1
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
BASE_BRANCH: master
|
||||
|
@ -255,3 +255,7 @@ This is some inner content.
|
||||
</details>
|
||||
|
||||
[1]: https://en.wikipedia.org/wiki/Eclipse_(software)
|
||||
|
||||
## Embed
|
||||
|
||||
[example embed](__capabilities_inc.md ':include')
|
||||
|
1
docs/__capabilities_inc.md
Normal file
1
docs/__capabilities_inc.md
Normal file
@ -0,0 +1 @@
|
||||
Lorem ipsum dolor sit amet.
|
@ -17,11 +17,12 @@ combo_t key_combos[] = {
|
||||
|
||||
This will send "Escape" if you hit the A and B keys, and Ctrl+Z when you hit the C and D keys.
|
||||
|
||||
## Mod-Tap Support
|
||||
[Mod-Tap](mod_tap.md) feature is also supported together with combos. You will need to use the full Mod-Tap keycode in the combo definition, e.g.:
|
||||
## Advanced Keycodes Support
|
||||
Advanced keycodes, such as [Mod-Tap](mod_tap.md) and [Tap Dance](feature_tap_dance.md) are also supported together with combos. If you use these advanced keycodes in your keymap, you will need to place the full keycode in the combo definition, e.g.:
|
||||
|
||||
```c
|
||||
const uint16_t PROGMEM test_combo1[] = {LSFT_T(KC_A), LT(1, KC_B), COMBO_END};
|
||||
const uint16_t PROGMEM test_combo2[] = {TD(TD_ESC_CAPS), KC_F1, COMBO_END};
|
||||
```
|
||||
|
||||
## Overlapping Combos
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
AVR is severely resource-constrained, and as QMK continues to grow, it is approaching a point where support for AVR may need to be moved to legacy status as newer development is unable to fit into those constraints.
|
||||
|
||||
However, if you need to reduce the compiled size of your firmware, there are a number of options to do so.
|
||||
However, if you need to reduce the compiled size of your firmware to fit the controller's limited flash size, there are a number of options to do so.
|
||||
|
||||
## `rules.mk` Settings
|
||||
First and foremost is enabling link time optimization. To do so, add this to your rules.mk:
|
||||
@ -91,15 +91,19 @@ Or if you're not using layers at all, you can outright remove the functionality
|
||||
|
||||
There are two `__attribute__ ((weak))` placeholder functions available to customize magic keycodes. If you are not using that feature to swap keycodes, such as backslash with backspace, add the following to your `keymap.c` or user space code:
|
||||
```c
|
||||
#ifndef MAGIC_ENABLE
|
||||
uint16_t keycode_config(uint16_t keycode) {
|
||||
return keycode;
|
||||
}
|
||||
#endif
|
||||
```
|
||||
Likewise, if you are not using magic keycodes to swap modifiers, such as Control with GUI, add the following to your `keymap.c` or user space code:
|
||||
```c
|
||||
#ifndef MAGIC_ENABLE
|
||||
uint8_t mod_config(uint8_t mod) {
|
||||
return mod;
|
||||
}
|
||||
#endif
|
||||
```
|
||||
Both of them will overwrite the placeholder functions with a simple return statement to reduce firmware size.
|
||||
|
||||
@ -197,11 +201,7 @@ For RGB Matrix, these need to be explicitly enabled as well. To disable any that
|
||||
|
||||
# Final Thoughts
|
||||
|
||||
If you've done all of this, and your firmware is still too large, then it's time. It's time to consider making the switch to ARM. Unfortunately, right now is the worst possible time for that, due to the silicon shortage, and supply chain issues. Getting an ARM chip is difficult, at best, and significantly overpriced, at worst.
|
||||
-- Drashna
|
||||
|
||||
That said, there are a number of Pro Micro replacements with ARM controllers:
|
||||
* [Proton C](https://qmk.fm/proton-c/) (out of stock)
|
||||
If you've done all of this, and your firmware is still too large, then it is time to consider making the switch to ARM. There are a number of Pro Micro replacements with an ARM controller:
|
||||
* [Bonsai C](https://github.com/customMK/Bonsai-C) (Open Source, DIY/PCBA)
|
||||
* [STeMCell](https://github.com/megamind4089/STeMCell) (Open Source, DIY/PCBA)
|
||||
* [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040)
|
||||
@ -212,6 +212,7 @@ That said, there are a number of Pro Micro replacements with ARM controllers:
|
||||
* [Liatris](https://splitkb.com/products/liatris)
|
||||
* [Imera](https://splitkb.com/products/imera)
|
||||
* [Michi](https://github.com/ci-bus/michi-promicro-rp2040)
|
||||
* [Proton C](https://qmk.fm/proton-c/) (out of stock)
|
||||
|
||||
There are other, non-Pro Micro compatible boards out there. The most popular being:
|
||||
* [WeAct Blackpill F411](https://www.aliexpress.com/item/1005001456186625.html) (~$6 USD)
|
||||
|
@ -3,8 +3,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define ENCODER_DEFAULT_POS 0x3 // enable 1:1 resolution
|
||||
|
||||
// Default PIO0 cases flickering in this board. Setting to PIO1 resolves this issue.
|
||||
#define WS2812_PIO_USE_PIO1
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
"diode_direction": "COL2ROW",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "GP13", "pin_b": "GP14"}
|
||||
{"pin_a": "GP13", "pin_b": "GP14", "resolution": 2}
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
|
@ -73,7 +73,7 @@
|
||||
#define WS2812_DMA_CHANNEL 6
|
||||
#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM1_UP
|
||||
|
||||
#define RGBLIGHT_DEFAULT_VAL 200
|
||||
#define RGBLIGHT_DEFAULT_VAL 175
|
||||
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5)
|
||||
|
||||
#define NUM_INDICATOR_INDEX 2
|
||||
|
@ -115,5 +115,6 @@ bool indicators_callback(void) {
|
||||
else
|
||||
sethsv(0, 0, 0, (rgb_led_t *)&led[SCROLL_INDICATOR_INDEX]);
|
||||
|
||||
rgblight_set();
|
||||
return true;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@
|
||||
},
|
||||
"led_count": 69,
|
||||
"led_map": [0, 1, 2, 3, 4, 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65],
|
||||
"max_brightness": 200
|
||||
"max_brightness": 175
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "0.0.1",
|
||||
|
@ -1,320 +1,163 @@
|
||||
// Copyright 2023 QMK -- generated source code only, font retains original copyright
|
||||
// Copyright 2024 QMK -- generated source code only, font retains original copyright
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// This file was auto-generated by `qmk painter-convert-font-image -i robotomono20.png -f mono4`
|
||||
// This file was auto-generated by `qmk painter-convert-font-image -i robotomono20.png -f mono2`
|
||||
|
||||
#include <qp.h>
|
||||
|
||||
const uint32_t font_robotomono20_length = 4904;
|
||||
const uint32_t font_robotomono20_length = 2396;
|
||||
|
||||
// clang-format off
|
||||
const uint8_t font_robotomono20[4904] = {
|
||||
0x00, 0xFF, 0x14, 0x00, 0x00, 0x51, 0x46, 0x46, 0x01, 0x28, 0x13, 0x00, 0x00, 0xD7, 0xEC, 0xFF,
|
||||
0xFF, 0x16, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0xFF, 0x01, 0xFE, 0x1D, 0x01, 0x00, 0x0C, 0x00,
|
||||
0x00, 0x8C, 0x00, 0x00, 0x0C, 0x0E, 0x00, 0xCC, 0x12, 0x00, 0xCC, 0x1F, 0x00, 0x8C, 0x2F, 0x00,
|
||||
0x0C, 0x3D, 0x00, 0xCC, 0x49, 0x00, 0x4C, 0x4F, 0x00, 0x4C, 0x62, 0x00, 0x0C, 0x76, 0x00, 0x4C,
|
||||
0x7F, 0x00, 0xCC, 0x89, 0x00, 0x0C, 0x8F, 0x00, 0xCC, 0x91, 0x00, 0x4C, 0x95, 0x00, 0x0C, 0xA4,
|
||||
0x00, 0xCC, 0xB0, 0x00, 0x8C, 0xBE, 0x00, 0x4C, 0xCB, 0x00, 0x4C, 0xD8, 0x00, 0x8C, 0xE4, 0x00,
|
||||
0x4C, 0xF2, 0x00, 0x8C, 0xFF, 0x00, 0x0C, 0x0D, 0x01, 0xCC, 0x19, 0x01, 0x0C, 0x26, 0x01, 0x8C,
|
||||
0x2C, 0x01, 0x0C, 0x35, 0x01, 0xCC, 0x3C, 0x01, 0x8C, 0x42, 0x01, 0x8C, 0x4A, 0x01, 0x8C, 0x56,
|
||||
0x01, 0x4C, 0x63, 0x01, 0xCC, 0x70, 0x01, 0x4C, 0x7D, 0x01, 0x4C, 0x8B, 0x01, 0x8C, 0x97, 0x01,
|
||||
0x0C, 0xA6, 0x01, 0x4C, 0xB4, 0x01, 0xCC, 0xC1, 0x01, 0x4C, 0xCE, 0x01, 0x0C, 0xDD, 0x01, 0x0C,
|
||||
0xEC, 0x01, 0x8C, 0xF8, 0x01, 0x4C, 0x08, 0x02, 0xCC, 0x14, 0x02, 0x8C, 0x21, 0x02, 0x8C, 0x2E,
|
||||
0x02, 0x8C, 0x3B, 0x02, 0x8C, 0x49, 0x02, 0x0C, 0x56, 0x02, 0x4C, 0x63, 0x02, 0x4C, 0x72, 0x02,
|
||||
0x4C, 0x7F, 0x02, 0x4C, 0x8C, 0x02, 0x8C, 0x99, 0x02, 0xCC, 0xA6, 0x02, 0xCC, 0xB4, 0x02, 0x0C,
|
||||
0xC2, 0x02, 0x4C, 0xD6, 0x02, 0x0C, 0xE7, 0x02, 0x4C, 0xFB, 0x02, 0x0C, 0x03, 0x03, 0xCC, 0x05,
|
||||
0x03, 0x4C, 0x09, 0x03, 0x4C, 0x13, 0x03, 0x4C, 0x21, 0x03, 0xCC, 0x2B, 0x03, 0x0C, 0x39, 0x03,
|
||||
0x0C, 0x43, 0x03, 0x0C, 0x52, 0x03, 0x8C, 0x5E, 0x03, 0x0C, 0x6C, 0x03, 0x4C, 0x7A, 0x03, 0xCC,
|
||||
0x89, 0x03, 0x4C, 0x97, 0x03, 0x8C, 0xA6, 0x03, 0x0C, 0xB0, 0x03, 0x8C, 0xB9, 0x03, 0x4C, 0xC3,
|
||||
0x03, 0xCC, 0xCF, 0x03, 0x0C, 0xDD, 0x03, 0x4C, 0xE6, 0x03, 0x0C, 0xF0, 0x03, 0x4C, 0xFD, 0x03,
|
||||
0x4C, 0x07, 0x04, 0x4C, 0x11, 0x04, 0xCC, 0x1A, 0x04, 0xCC, 0x24, 0x04, 0x8C, 0x32, 0x04, 0x8C,
|
||||
0x3C, 0x04, 0xCC, 0x4F, 0x04, 0x4C, 0x62, 0x04, 0xCC, 0x75, 0x04, 0x04, 0xFB, 0xE8, 0x11, 0x00,
|
||||
0x42, 0x00, 0x07, 0x00, 0x80, 0x04, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00,
|
||||
0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00,
|
||||
0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x14, 0x08, 0x00,
|
||||
0x80, 0x2C, 0x02, 0x00, 0x80, 0x3C, 0x10, 0x00, 0x06, 0x00, 0x8D, 0x80, 0xC3, 0x01, 0x80, 0xC3,
|
||||
0x01, 0x80, 0xC3, 0x01, 0x80, 0xC2, 0x01, 0x40, 0x82, 0x2E, 0x00, 0x07, 0x00, 0x02, 0x04, 0x80,
|
||||
0x00, 0x02, 0x0D, 0x80, 0x00, 0x02, 0x0D, 0x80, 0x00, 0x02, 0x0A, 0x97, 0x00, 0x0A, 0x0B, 0xF8,
|
||||
0xFF, 0xBF, 0x50, 0x57, 0x17, 0x40, 0x43, 0x03, 0x80, 0x82, 0x02, 0xD4, 0xD6, 0x16, 0xFD, 0xFF,
|
||||
0x2F, 0xC0, 0xD1, 0x01, 0x02, 0xD0, 0x83, 0x00, 0xE0, 0xA0, 0x00, 0x02, 0xA0, 0x10, 0x00, 0x81,
|
||||
0x00, 0x24, 0x02, 0x00, 0x80, 0x34, 0x02, 0x00, 0x95, 0x78, 0x00, 0x80, 0xFF, 0x07, 0xD0, 0x56,
|
||||
0x0F, 0xE0, 0x00, 0x1E, 0xF0, 0x00, 0x2D, 0xE0, 0x01, 0x00, 0xD0, 0x07, 0x00, 0x40, 0xBF, 0x02,
|
||||
0x00, 0x95, 0xF4, 0x07, 0x00, 0x40, 0x1F, 0x10, 0x00, 0x2D, 0x74, 0x00, 0x2D, 0xB0, 0x00, 0x2D,
|
||||
0xE0, 0x96, 0x0F, 0x80, 0xFF, 0x06, 0x00, 0x38, 0x02, 0x00, 0x80, 0x38, 0x0A, 0x00, 0x06, 0x00,
|
||||
0x80, 0x50, 0x02, 0x00, 0x90, 0xFC, 0x03, 0x00, 0x0D, 0x0B, 0x01, 0x0A, 0x4A, 0x07, 0x0E, 0x8A,
|
||||
0x02, 0x6D, 0xD7, 0x00, 0xA4, 0xB1, 0x02, 0x00, 0x80, 0x34, 0x02, 0x00, 0x80, 0x1C, 0x02, 0x00,
|
||||
0x90, 0x8E, 0x2F, 0x00, 0xD7, 0x75, 0x80, 0xA2, 0xB0, 0xC0, 0xA1, 0xA0, 0x00, 0xE0, 0x70, 0x00,
|
||||
0x80, 0x2F, 0x0F, 0x00, 0x07, 0x00, 0xAD, 0x15, 0x00, 0x80, 0xFF, 0x00, 0xD0, 0xD2, 0x02, 0xE0,
|
||||
0xC1, 0x02, 0xE0, 0xC1, 0x02, 0xD0, 0xE2, 0x01, 0xC0, 0x7F, 0x00, 0x80, 0x0F, 0x00, 0xE0, 0x2E,
|
||||
0x24, 0xB4, 0x78, 0x74, 0x3C, 0xF0, 0x39, 0x3C, 0xD0, 0x2F, 0x38, 0x40, 0x0F, 0xF4, 0xE5, 0x2F,
|
||||
0xD0, 0xBF, 0x7D, 0x00, 0x04, 0x0D, 0x00, 0x07, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x1D, 0x02,
|
||||
0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x08, 0x2E, 0x00, 0x04, 0x00, 0x86,
|
||||
0x40, 0x01, 0x00, 0xE0, 0x01, 0x00, 0x74, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x1D, 0x02,
|
||||
0x00, 0x80, 0x0E, 0x02, 0x00, 0x95, 0x0B, 0x00, 0x40, 0x0B, 0x00, 0x40, 0x07, 0x00, 0x40, 0x07,
|
||||
0x00, 0x80, 0x07, 0x00, 0x40, 0x07, 0x00, 0x40, 0x07, 0x00, 0x40, 0x0B, 0x02, 0x00, 0x80, 0x0B,
|
||||
0x02, 0x00, 0x80, 0x0E, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0xB0,
|
||||
0x02, 0x00, 0x81, 0xD0, 0x01, 0x02, 0x00, 0x80, 0x01, 0x03, 0x00, 0x84, 0x80, 0x01, 0x00, 0x40,
|
||||
0x07, 0x02, 0x00, 0x80, 0x0E, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x80,
|
||||
0xB4, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xE0, 0x02, 0x00, 0x8C, 0xE0, 0x01, 0x00, 0xE0,
|
||||
0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x02, 0x00, 0x80, 0xE0, 0x02, 0x00, 0x80,
|
||||
0xB0, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x85,
|
||||
0x0B, 0x00, 0x80, 0x02, 0x00, 0x40, 0x02, 0x00, 0x07, 0x00, 0x80, 0x10, 0x02, 0x00, 0x80, 0x38,
|
||||
0x02, 0x00, 0x8C, 0x34, 0x00, 0x10, 0x34, 0x10, 0xF4, 0x7A, 0x2E, 0x90, 0xFF, 0x1A, 0x00, 0xBC,
|
||||
0x02, 0x00, 0x87, 0xDB, 0x01, 0x80, 0x87, 0x03, 0x80, 0x42, 0x07, 0x1E, 0x00, 0x10, 0x00, 0x80,
|
||||
0x28, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x8C, 0x3C, 0x00, 0xA8, 0xBE,
|
||||
0x2A, 0xFC, 0xFF, 0x3F, 0x50, 0x7D, 0x05, 0x00, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80,
|
||||
0x3C, 0x02, 0x00, 0x80, 0x28, 0x13, 0x00, 0x2E, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02,
|
||||
0x00, 0x80, 0x1E, 0x02, 0x00, 0x83, 0x0F, 0x00, 0x40, 0x07, 0x07, 0x00, 0x1E, 0x00, 0x85, 0xF0,
|
||||
0xFF, 0x0B, 0x90, 0xAA, 0x06, 0x1E, 0x00, 0x2B, 0x00, 0x80, 0x24, 0x02, 0x00, 0x80, 0xBC, 0x02,
|
||||
0x00, 0x80, 0x7C, 0x10, 0x00, 0x08, 0x00, 0x80, 0x04, 0x02, 0x00, 0x8E, 0x0B, 0x00, 0x40, 0x07,
|
||||
0x00, 0x80, 0x03, 0x00, 0xC0, 0x02, 0x00, 0xD0, 0x01, 0x00, 0xA0, 0x02, 0x00, 0x80, 0x74, 0x02,
|
||||
0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x0E, 0x02,
|
||||
0x00, 0x8B, 0x0B, 0x00, 0x40, 0x03, 0x00, 0xC0, 0x02, 0x00, 0xD0, 0x01, 0x00, 0x40, 0x0B, 0x00,
|
||||
0x07, 0x00, 0xAD, 0x55, 0x00, 0x80, 0xFF, 0x02, 0xE0, 0x42, 0x0B, 0xB0, 0x00, 0x1E, 0x74, 0x00,
|
||||
0x1D, 0x78, 0x00, 0x2E, 0x78, 0xD0, 0x2F, 0x78, 0xB8, 0x2D, 0x78, 0x1E, 0x2D, 0xF8, 0x07, 0x2D,
|
||||
0xB8, 0x00, 0x2D, 0x74, 0x00, 0x1D, 0xB0, 0x00, 0x0E, 0xE0, 0x96, 0x0B, 0x40, 0xFF, 0x02, 0x00,
|
||||
0x14, 0x0D, 0x00, 0x0A, 0x00, 0x89, 0xB4, 0x00, 0x90, 0xBF, 0x00, 0xF0, 0xB6, 0x00, 0x10, 0xB4,
|
||||
0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4,
|
||||
0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4,
|
||||
0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x10, 0x00, 0x07, 0x00, 0x98, 0x15, 0x00, 0xD0,
|
||||
0xFF, 0x01, 0xB4, 0xD1, 0x07, 0x3C, 0x40, 0x0B, 0x2C, 0x00, 0x0B, 0x00, 0x40, 0x0B, 0x00, 0x80,
|
||||
0x07, 0x00, 0xD0, 0x02, 0x00, 0xB4, 0x02, 0x00, 0x80, 0x3D, 0x02, 0x00, 0x8D, 0x0F, 0x00, 0xC0,
|
||||
0x07, 0x00, 0xE0, 0x01, 0x00, 0xB8, 0x55, 0x15, 0xFC, 0xFF, 0x1F, 0x0F, 0x00, 0x07, 0x00, 0x9C,
|
||||
0x15, 0x00, 0xD0, 0xFF, 0x01, 0xB4, 0xD1, 0x07, 0x38, 0x40, 0x0B, 0x14, 0x00, 0x0B, 0x00, 0x40,
|
||||
0x0B, 0x00, 0xD0, 0x03, 0x40, 0xFF, 0x01, 0x00, 0xE9, 0x02, 0x00, 0x40, 0x0B, 0x02, 0x00, 0x8E,
|
||||
0x0F, 0x28, 0x00, 0x0F, 0x3C, 0x40, 0x0B, 0xF4, 0xD5, 0x07, 0xD0, 0xBF, 0x01, 0x00, 0x04, 0x0D,
|
||||
0x00, 0x07, 0x00, 0xAB, 0x40, 0x01, 0x00, 0xD0, 0x03, 0x00, 0xF0, 0x03, 0x00, 0xF8, 0x03, 0x00,
|
||||
0x9D, 0x03, 0x00, 0x8B, 0x03, 0x80, 0x83, 0x03, 0xD0, 0x81, 0x03, 0xB0, 0x80, 0x03, 0x78, 0x80,
|
||||
0x03, 0xBC, 0xEA, 0x2B, 0xA9, 0xEA, 0x2B, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03,
|
||||
0x0F, 0x00, 0x06, 0x00, 0x97, 0x40, 0x55, 0x05, 0xC0, 0xFF, 0x1F, 0xC0, 0xAA, 0x1A, 0xD0, 0x01,
|
||||
0x00, 0xD0, 0x01, 0x00, 0xD0, 0x51, 0x00, 0xE0, 0xFF, 0x07, 0xE0, 0x96, 0x0F, 0x02, 0x00, 0x80,
|
||||
0x1E, 0x02, 0x00, 0x80, 0x2D, 0x02, 0x00, 0x8E, 0x2C, 0x60, 0x00, 0x2C, 0xF0, 0x00, 0x1E, 0xD0,
|
||||
0x97, 0x0F, 0x40, 0xFF, 0x02, 0x00, 0x10, 0x0D, 0x00, 0x07, 0x00, 0x80, 0x40, 0x02, 0x00, 0x88,
|
||||
0xF9, 0x01, 0x80, 0x6F, 0x00, 0xD0, 0x02, 0x00, 0xF0, 0x02, 0x00, 0x9F, 0xB4, 0x14, 0x00, 0xB4,
|
||||
0xFF, 0x02, 0xF8, 0x96, 0x0B, 0xB8, 0x00, 0x0F, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x1D, 0x74, 0x00,
|
||||
0x1E, 0xF0, 0x00, 0x0F, 0xD0, 0x96, 0x07, 0x40, 0xFF, 0x01, 0x00, 0x14, 0x0D, 0x00, 0x06, 0x00,
|
||||
0x88, 0x54, 0x55, 0x05, 0xFC, 0xFF, 0x2F, 0x54, 0x55, 0x1E, 0x02, 0x00, 0x8E, 0x0E, 0x00, 0x40,
|
||||
0x07, 0x00, 0x80, 0x03, 0x00, 0xC0, 0x02, 0x00, 0xE0, 0x01, 0x00, 0xB0, 0x02, 0x00, 0x80, 0x78,
|
||||
0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x86, 0x0F, 0x00, 0x40, 0x07, 0x00,
|
||||
0xC0, 0x03, 0x10, 0x00, 0x07, 0x00, 0xAD, 0x54, 0x00, 0x80, 0xFF, 0x07, 0xD0, 0x46, 0x0F, 0xE0,
|
||||
0x00, 0x1E, 0xF0, 0x00, 0x1D, 0xE0, 0x00, 0x1E, 0xD0, 0x46, 0x0B, 0x40, 0xFF, 0x02, 0xD0, 0x9B,
|
||||
0x0B, 0xF0, 0x00, 0x1E, 0xB4, 0x00, 0x2C, 0xB4, 0x00, 0x2C, 0xF0, 0x00, 0x2D, 0xE0, 0x96, 0x0F,
|
||||
0x40, 0xFF, 0x02, 0x00, 0x10, 0x0D, 0x00, 0x07, 0x00, 0x9F, 0x15, 0x00, 0x80, 0xFF, 0x02, 0xE0,
|
||||
0x92, 0x07, 0xB4, 0x00, 0x0F, 0x74, 0x00, 0x1E, 0x78, 0x00, 0x1D, 0x74, 0x00, 0x1D, 0xB4, 0x00,
|
||||
0x1E, 0xE0, 0x96, 0x1F, 0x80, 0xBF, 0x1E, 0x00, 0x04, 0x0E, 0x02, 0x00, 0x88, 0x0B, 0x00, 0xD0,
|
||||
0x03, 0x40, 0xFA, 0x01, 0x80, 0x2F, 0x10, 0x00, 0x10, 0x00, 0x80, 0x60, 0x02, 0x00, 0x80, 0xF8,
|
||||
0x02, 0x00, 0x80, 0xF4, 0x14, 0x00, 0x80, 0x60, 0x02, 0x00, 0x80, 0xF8, 0x02, 0x00, 0x80, 0xF4,
|
||||
0x10, 0x00, 0x10, 0x00, 0x80, 0x60, 0x02, 0x00, 0x80, 0xF8, 0x02, 0x00, 0x80, 0xF8, 0x17, 0x00,
|
||||
0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00,
|
||||
0x80, 0x2C, 0x07, 0x00, 0x14, 0x00, 0x95, 0x04, 0x00, 0x90, 0x0F, 0x00, 0xF9, 0x06, 0xD0, 0x2F,
|
||||
0x00, 0xF4, 0x01, 0x00, 0xE0, 0x0B, 0x00, 0x40, 0xBE, 0x01, 0x00, 0xE0, 0x0F, 0x02, 0x00, 0x80,
|
||||
0x09, 0x15, 0x00, 0x15, 0x00, 0x88, 0x50, 0x55, 0x05, 0xF4, 0xFF, 0x1F, 0x50, 0x55, 0x05, 0x06,
|
||||
0x00, 0x85, 0xF4, 0xFF, 0x1F, 0x50, 0x55, 0x15, 0x18, 0x00, 0x12, 0x00, 0x80, 0x14, 0x02, 0x00,
|
||||
0x84, 0xF4, 0x02, 0x00, 0x90, 0x6F, 0x02, 0x00, 0x8E, 0xF8, 0x07, 0x00, 0x40, 0x1F, 0x00, 0xE4,
|
||||
0x0B, 0x40, 0xBF, 0x01, 0xF4, 0x07, 0x00, 0x64, 0x17, 0x00, 0x07, 0x00, 0x8A, 0x55, 0x00, 0x80,
|
||||
0xFF, 0x07, 0xE0, 0x96, 0x0F, 0xB0, 0x00, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x88, 0x0F,
|
||||
0x00, 0x80, 0x0B, 0x00, 0xD0, 0x02, 0x00, 0xB4, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x2C,
|
||||
0x08, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x10, 0x00, 0x07, 0x00, 0x89, 0x10, 0x00, 0x40,
|
||||
0xFE, 0x06, 0xD0, 0x02, 0x0E, 0x70, 0x10, 0x02, 0x28, 0x97, 0xFD, 0x31, 0x1C, 0x8B, 0x71, 0x4C,
|
||||
0x83, 0x61, 0x4D, 0xC2, 0x61, 0x8D, 0xC2, 0x70, 0x8D, 0xC2, 0x30, 0x4D, 0xFB, 0x29, 0x1C, 0x5A,
|
||||
0x0B, 0x38, 0x02, 0x00, 0x85, 0xE0, 0x55, 0x01, 0x80, 0xFF, 0x01, 0x0F, 0x00, 0x07, 0x00, 0x80,
|
||||
0x10, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0xBE, 0x02, 0x00, 0x80,
|
||||
0xEE, 0x02, 0x00, 0x9C, 0xDB, 0x01, 0x40, 0xC7, 0x02, 0x80, 0x83, 0x03, 0xC0, 0x42, 0x07, 0xD0,
|
||||
0x56, 0x0B, 0xE0, 0xFF, 0x0F, 0xB0, 0x55, 0x1E, 0x74, 0x00, 0x2C, 0x38, 0x00, 0x3C, 0x2C, 0x00,
|
||||
0x78, 0x0F, 0x00, 0x06, 0x00, 0xAC, 0x50, 0x15, 0x00, 0xF4, 0xFF, 0x02, 0xB4, 0x95, 0x0F, 0xB4,
|
||||
0x00, 0x1E, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x1E, 0xB4, 0x90, 0x0B, 0xF4, 0xFF, 0x02, 0xB4, 0x95,
|
||||
0x0F, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x3C, 0xB4, 0x00, 0x3C, 0xB4, 0x00, 0x2E, 0xB4, 0xAA, 0x0F,
|
||||
0xF4, 0xFF, 0x01, 0x0F, 0x00, 0x07, 0x00, 0x8E, 0x54, 0x00, 0x80, 0xFF, 0x07, 0xE0, 0x42, 0x0F,
|
||||
0xB4, 0x00, 0x2D, 0x78, 0x00, 0x2C, 0x38, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02,
|
||||
0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x90, 0x38, 0x00, 0x14, 0x78, 0x00, 0x2C,
|
||||
0xB0, 0x00, 0x1E, 0xD0, 0x96, 0x0B, 0x40, 0xFF, 0x02, 0x00, 0x10, 0x0D, 0x00, 0x06, 0x00, 0xAB,
|
||||
0x50, 0x05, 0x00, 0xF4, 0xBF, 0x01, 0xB4, 0xE5, 0x07, 0x74, 0x00, 0x0F, 0x74, 0x00, 0x2D, 0x74,
|
||||
0x00, 0x3C, 0x74, 0x00, 0x38, 0x74, 0x00, 0x38, 0x74, 0x00, 0x38, 0x74, 0x00, 0x38, 0x74, 0x00,
|
||||
0x2C, 0x74, 0x00, 0x1D, 0x74, 0x40, 0x0F, 0xB4, 0xE9, 0x03, 0xF4, 0x6F, 0x10, 0x00, 0x06, 0x00,
|
||||
0x89, 0x50, 0x55, 0x05, 0xF4, 0xFF, 0x1F, 0xB4, 0x55, 0x05, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02,
|
||||
0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x86, 0xF4, 0xFF, 0x0B, 0xB4, 0x55, 0x05,
|
||||
0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x85,
|
||||
0xB4, 0xAA, 0x1A, 0xF4, 0xFF, 0x2F, 0x0F, 0x00, 0x06, 0x00, 0x89, 0x50, 0x55, 0x05, 0xF0, 0xFF,
|
||||
0x2F, 0xB0, 0x55, 0x15, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80,
|
||||
0xB0, 0x02, 0x00, 0x86, 0xF0, 0xAA, 0x06, 0xF0, 0xAA, 0x06, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02,
|
||||
0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x11,
|
||||
0x00, 0x07, 0x00, 0x8E, 0x54, 0x00, 0x80, 0xFF, 0x06, 0xE0, 0x46, 0x0F, 0xB4, 0x00, 0x2D, 0x78,
|
||||
0x00, 0x2C, 0x3C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x96, 0x2C, 0xE0,
|
||||
0x3F, 0x3C, 0x50, 0x3D, 0x38, 0x00, 0x3C, 0x78, 0x00, 0x3C, 0xF0, 0x00, 0x3C, 0xD0, 0x57, 0x2E,
|
||||
0x40, 0xFF, 0x06, 0x00, 0x10, 0x0D, 0x00, 0x06, 0x00, 0xAC, 0x10, 0x00, 0x04, 0x38, 0x00, 0x2C,
|
||||
0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x78, 0x00, 0x2D, 0xF8,
|
||||
0xFF, 0x2F, 0x78, 0x55, 0x2D, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00,
|
||||
0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x0F, 0x00, 0x06, 0x00, 0x8A, 0x50, 0x55, 0x05, 0xF4,
|
||||
0xFF, 0x1F, 0x50, 0x7D, 0x05, 0x00, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02,
|
||||
0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02,
|
||||
0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x87, 0x3C, 0x00, 0xA4, 0xBE, 0x1A, 0xF4,
|
||||
0xFF, 0x1F, 0x0F, 0x00, 0x08, 0x00, 0x80, 0x04, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E,
|
||||
0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E,
|
||||
0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x8E, 0x1E,
|
||||
0x3C, 0x00, 0x0E, 0x78, 0x40, 0x0B, 0xF0, 0xE6, 0x07, 0x90, 0xBF, 0x01, 0x00, 0x04, 0x0D, 0x00,
|
||||
0x06, 0x00, 0xAC, 0x10, 0x00, 0x14, 0xB4, 0x00, 0x2D, 0xB4, 0x40, 0x0F, 0xB4, 0xC0, 0x03, 0xB4,
|
||||
0xF0, 0x01, 0xB4, 0x78, 0x00, 0xB4, 0x2D, 0x00, 0xB4, 0x2F, 0x00, 0xF4, 0x7B, 0x00, 0xF4, 0xF5,
|
||||
0x00, 0xB4, 0xE0, 0x02, 0xB4, 0xC0, 0x07, 0xB4, 0x40, 0x0F, 0xB4, 0x00, 0x2E, 0xB4, 0x00, 0x7C,
|
||||
0x0F, 0x00, 0x06, 0x00, 0x80, 0x10, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00,
|
||||
0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00,
|
||||
0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00,
|
||||
0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x85, 0xF0, 0xAA, 0x1A, 0xF0, 0xFF, 0x2F, 0x0F,
|
||||
0x00, 0x06, 0x00, 0xAC, 0x10, 0x00, 0x04, 0xF8, 0x00, 0x2E, 0xF8, 0x01, 0x2F, 0xF8, 0x42, 0x2F,
|
||||
0xB8, 0x83, 0x2E, 0x78, 0xC7, 0x2D, 0x78, 0xEB, 0x2C, 0x38, 0xBE, 0x2C, 0x78, 0x7D, 0x2C, 0x78,
|
||||
0x3C, 0x2C, 0x78, 0x28, 0x2C, 0x78, 0x00, 0x2C, 0x78, 0x00, 0x2C, 0x78, 0x00, 0x2C, 0x78, 0x00,
|
||||
0x2C, 0x0F, 0x00, 0x06, 0x00, 0x97, 0x10, 0x00, 0x04, 0xB8, 0x00, 0x2D, 0xF8, 0x00, 0x2D, 0xF8,
|
||||
0x02, 0x2D, 0xF8, 0x07, 0x2D, 0x78, 0x0B, 0x2D, 0x78, 0x1E, 0x2D, 0x78, 0x2C, 0x2D, 0x02, 0x78,
|
||||
0x92, 0x2D, 0x78, 0xB0, 0x2D, 0x78, 0xE0, 0x2E, 0x78, 0xC0, 0x2F, 0x78, 0x80, 0x2F, 0x78, 0x00,
|
||||
0x2F, 0x78, 0x00, 0x2D, 0x0F, 0x00, 0x07, 0x00, 0x98, 0x15, 0x00, 0x80, 0xFF, 0x02, 0xE0, 0x96,
|
||||
0x0B, 0xB4, 0x00, 0x1E, 0x78, 0x00, 0x2D, 0x38, 0x00, 0x2C, 0x3C, 0x00, 0x3C, 0x2C, 0x00, 0x3C,
|
||||
0x2C, 0x00, 0x02, 0x3C, 0x92, 0x00, 0x3C, 0x38, 0x00, 0x2C, 0x78, 0x00, 0x2D, 0xB0, 0x00, 0x0E,
|
||||
0xD0, 0xD7, 0x07, 0x40, 0xFF, 0x01, 0x00, 0x14, 0x0D, 0x00, 0x06, 0x00, 0x9E, 0x50, 0x15, 0x00,
|
||||
0xF0, 0xFF, 0x07, 0xB0, 0x55, 0x1F, 0xB0, 0x00, 0x3C, 0xB0, 0x00, 0x38, 0xB0, 0x00, 0x38, 0xB0,
|
||||
0x00, 0x3C, 0xB0, 0x55, 0x1F, 0xF0, 0xFF, 0x07, 0xB0, 0x55, 0x00, 0xB0, 0x02, 0x00, 0x80, 0xB0,
|
||||
0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x11, 0x00, 0x07, 0x00,
|
||||
0xAE, 0x55, 0x00, 0x80, 0xFF, 0x02, 0xE0, 0x96, 0x0B, 0xB4, 0x00, 0x1E, 0x38, 0x00, 0x2C, 0x3C,
|
||||
0x00, 0x3C, 0x2C, 0x00, 0x38, 0x2C, 0x00, 0x38, 0x2C, 0x00, 0x38, 0x2C, 0x00, 0x38, 0x3C, 0x00,
|
||||
0x3C, 0x78, 0x00, 0x2D, 0xB4, 0x00, 0x1E, 0xE0, 0x96, 0x0B, 0x40, 0xFF, 0x07, 0x00, 0x44, 0x2F,
|
||||
0x02, 0x00, 0x80, 0x38, 0x09, 0x00, 0x06, 0x00, 0xAC, 0x50, 0x15, 0x00, 0xF4, 0xFF, 0x02, 0xB4,
|
||||
0x95, 0x0F, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x2C, 0xB4, 0x00, 0x2C, 0xB4, 0x00, 0x1E, 0xB4, 0x95,
|
||||
0x0B, 0xF4, 0xFF, 0x02, 0xB4, 0xE5, 0x01, 0xB4, 0xC0, 0x03, 0xB4, 0x40, 0x07, 0xB4, 0x00, 0x0F,
|
||||
0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x3C, 0x0F, 0x00, 0x07, 0x00, 0x8E, 0x54, 0x00, 0x80, 0xFF, 0x07,
|
||||
0xE0, 0x46, 0x1F, 0xB4, 0x00, 0x2D, 0x74, 0x00, 0x2C, 0xB4, 0x02, 0x00, 0x8B, 0xE0, 0x07, 0x00,
|
||||
0x80, 0xBF, 0x01, 0x00, 0xF4, 0x0B, 0x00, 0x40, 0x1F, 0x02, 0x00, 0x8E, 0x3C, 0x38, 0x00, 0x3C,
|
||||
0xB4, 0x00, 0x3D, 0xE0, 0x96, 0x1F, 0x40, 0xFF, 0x06, 0x00, 0x10, 0x0D, 0x00, 0x06, 0x00, 0x8A,
|
||||
0x54, 0x55, 0x15, 0xFD, 0xFF, 0x7F, 0x54, 0x7D, 0x15, 0x00, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02,
|
||||
0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02,
|
||||
0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x02,
|
||||
0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x3C, 0x10, 0x00, 0x06, 0x00, 0xAE, 0x10, 0x00, 0x04, 0x38,
|
||||
0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00,
|
||||
0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2D, 0x78, 0x00, 0x2D,
|
||||
0xB4, 0x00, 0x1E, 0xE0, 0x96, 0x0B, 0x40, 0xFF, 0x01, 0x00, 0x14, 0x0D, 0x00, 0x06, 0x00, 0xA2,
|
||||
0x04, 0x00, 0x10, 0x3C, 0x00, 0x3C, 0x38, 0x00, 0x2D, 0x74, 0x00, 0x1D, 0xB0, 0x00, 0x0E, 0xE0,
|
||||
0x00, 0x0B, 0xE0, 0x41, 0x07, 0xD0, 0x82, 0x03, 0xC0, 0xC3, 0x02, 0x80, 0xD7, 0x01, 0x40, 0xE7,
|
||||
0x01, 0x00, 0xFB, 0x02, 0x00, 0x80, 0xBE, 0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0x3C, 0x10,
|
||||
0x00, 0x06, 0x00, 0x80, 0x04, 0x02, 0x10, 0x8A, 0x2D, 0x38, 0x74, 0x2C, 0x7C, 0x74, 0x2C, 0x7C,
|
||||
0x74, 0x28, 0xBD, 0x02, 0x38, 0x80, 0xAD, 0x02, 0x38, 0x99, 0xDA, 0x38, 0x34, 0xDB, 0x2C, 0x74,
|
||||
0xC7, 0x2D, 0xB4, 0xC7, 0x1E, 0xB0, 0x83, 0x1E, 0xF0, 0x83, 0x1F, 0xF0, 0x42, 0x0F, 0xE0, 0x42,
|
||||
0x0F, 0xE0, 0x01, 0x0F, 0x0F, 0x00, 0x06, 0x00, 0x93, 0x14, 0x00, 0x14, 0x78, 0x00, 0x3D, 0xF0,
|
||||
0x00, 0x1E, 0xD0, 0x42, 0x0B, 0xC0, 0xC3, 0x03, 0x40, 0xDB, 0x02, 0x00, 0xFE, 0x02, 0x00, 0x80,
|
||||
0x7C, 0x02, 0x00, 0x80, 0xBD, 0x02, 0x00, 0x90, 0xEF, 0x01, 0x40, 0xD7, 0x02, 0xC0, 0x83, 0x07,
|
||||
0xE0, 0x01, 0x0F, 0xB4, 0x00, 0x2E, 0x7C, 0x00, 0x3C, 0x0F, 0x00, 0x06, 0x00, 0x96, 0x04, 0x00,
|
||||
0x14, 0x3C, 0x00, 0x2D, 0x78, 0x00, 0x1E, 0xF0, 0x00, 0x0F, 0xE0, 0x81, 0x07, 0xC0, 0xC2, 0x03,
|
||||
0x80, 0xD7, 0x01, 0x00, 0xFB, 0x02, 0x00, 0x80, 0x7E, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80,
|
||||
0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80, 0x2C, 0x02, 0x00, 0x80,
|
||||
0x2C, 0x10, 0x00, 0x06, 0x00, 0x93, 0x54, 0x55, 0x05, 0xF8, 0xFF, 0x1F, 0x54, 0x55, 0x0F, 0x00,
|
||||
0x80, 0x07, 0x00, 0xD0, 0x02, 0x00, 0xE0, 0x01, 0x00, 0xB4, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00,
|
||||
0x8B, 0x1E, 0x00, 0x40, 0x0B, 0x00, 0xC0, 0x03, 0x00, 0xE0, 0x01, 0x00, 0xB4, 0x02, 0x00, 0x85,
|
||||
0xB8, 0xAA, 0x1A, 0xFC, 0xFF, 0x2F, 0x0F, 0x00, 0x81, 0x00, 0x55, 0x02, 0x00, 0x80, 0xFF, 0x02,
|
||||
0x00, 0x80, 0x5F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02,
|
||||
0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02,
|
||||
0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02,
|
||||
0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02,
|
||||
0x00, 0x80, 0x5F, 0x02, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x06, 0x00, 0x80, 0x40, 0x02, 0x00, 0x8A,
|
||||
0xD0, 0x01, 0x00, 0xC0, 0x02, 0x00, 0x80, 0x03, 0x00, 0x40, 0x07, 0x02, 0x00, 0x80, 0x0B, 0x02,
|
||||
0x00, 0x80, 0x0E, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x74, 0x02,
|
||||
0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xE0, 0x02, 0x00, 0x87, 0xD0, 0x01, 0x00, 0xC0, 0x02, 0x00,
|
||||
0x40, 0x07, 0x02, 0x00, 0x80, 0x0B, 0x02, 0x00, 0x80, 0x05, 0x09, 0x00, 0x81, 0x00, 0x55, 0x02,
|
||||
0x00, 0x80, 0xBF, 0x02, 0x00, 0x80, 0xB5, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02,
|
||||
0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02,
|
||||
0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02,
|
||||
0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02,
|
||||
0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB5, 0x02, 0x00, 0x80, 0xBF, 0x07, 0x00, 0x0A, 0x00, 0x80,
|
||||
0x3C, 0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0xBE, 0x02, 0x00, 0x8D, 0xEB, 0x00, 0x80, 0xC3,
|
||||
0x02, 0xC0, 0x82, 0x03, 0xD0, 0x41, 0x07, 0x50, 0x00, 0x05, 0x21, 0x00, 0x33, 0x00, 0x85, 0xF4,
|
||||
0xFF, 0x1F, 0x54, 0x55, 0x15, 0x09, 0x00, 0x07, 0x00, 0x80, 0x15, 0x02, 0x00, 0x80, 0x3C, 0x02,
|
||||
0x00, 0x80, 0xB4, 0x34, 0x00, 0x12, 0x00, 0xA2, 0x40, 0xAA, 0x01, 0xD0, 0xEB, 0x07, 0xF0, 0x40,
|
||||
0x0F, 0x50, 0x00, 0x0E, 0x00, 0x55, 0x0E, 0xD0, 0xFF, 0x0F, 0xF0, 0x01, 0x0E, 0x74, 0x00, 0x0E,
|
||||
0x74, 0x00, 0x0F, 0xF0, 0xE6, 0x1F, 0xD0, 0xBF, 0x1E, 0x00, 0x04, 0x0D, 0x00, 0x06, 0x00, 0x80,
|
||||
0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0xA2,
|
||||
0xB4, 0xA9, 0x01, 0xF4, 0xEF, 0x07, 0xF4, 0x41, 0x0F, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x2D, 0xB4,
|
||||
0x00, 0x2D, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1E, 0xF4, 0x96, 0x0B, 0x74, 0xFE,
|
||||
0x02, 0x00, 0x10, 0x0D, 0x00, 0x13, 0x00, 0x8B, 0xA9, 0x01, 0xD0, 0xEB, 0x07, 0xF0, 0x01, 0x0F,
|
||||
0xB4, 0x00, 0x1D, 0x78, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x8D, 0x74,
|
||||
0x00, 0x04, 0xF0, 0x00, 0x1D, 0xD0, 0x96, 0x0B, 0x40, 0xFF, 0x02, 0x00, 0x10, 0x0D, 0x00, 0x08,
|
||||
0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0xA3, 0x1E, 0x40,
|
||||
0x6A, 0x1E, 0xD0, 0xEF, 0x1F, 0xF0, 0x41, 0x1F, 0xB4, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x78, 0x00,
|
||||
0x1E, 0x78, 0x00, 0x1E, 0x74, 0x00, 0x1E, 0xF0, 0x00, 0x1E, 0xE0, 0x96, 0x1F, 0x80, 0xBF, 0x1E,
|
||||
0x00, 0x04, 0x0D, 0x00, 0x13, 0x00, 0x94, 0xA9, 0x01, 0xC0, 0xEB, 0x07, 0xE0, 0x01, 0x0F, 0xB4,
|
||||
0x00, 0x1D, 0x78, 0x55, 0x2D, 0xF8, 0xFF, 0x2F, 0x78, 0x55, 0x05, 0x78, 0x02, 0x00, 0x8A, 0xF0,
|
||||
0x00, 0x04, 0xD0, 0x57, 0x1F, 0x40, 0xFF, 0x06, 0x00, 0x10, 0x0D, 0x00, 0x04, 0x00, 0x89, 0x40,
|
||||
0x15, 0x00, 0xF4, 0x3F, 0x00, 0x7C, 0x10, 0x00, 0x1D, 0x02, 0x00, 0x89, 0x1E, 0x00, 0xA4, 0xAE,
|
||||
0x0A, 0xA4, 0xBF, 0x1A, 0x00, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00,
|
||||
0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00,
|
||||
0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x10, 0x00, 0x12, 0x00, 0xAC, 0x40, 0x6A, 0x09, 0xD0, 0xEF,
|
||||
0x1E, 0xF0, 0x41, 0x1F, 0xB4, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x1E,
|
||||
0x74, 0x00, 0x1E, 0xF0, 0x00, 0x1E, 0xE0, 0x96, 0x1F, 0x80, 0xBF, 0x1E, 0x00, 0x04, 0x1E, 0x10,
|
||||
0x00, 0x0F, 0xF0, 0xD6, 0x07, 0x80, 0xFF, 0x01, 0x03, 0x00, 0x06, 0x00, 0x80, 0xB4, 0x02, 0x00,
|
||||
0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0xA0, 0xB4, 0xA8, 0x01,
|
||||
0xB4, 0xEF, 0x0B, 0xF4, 0x01, 0x0F, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4,
|
||||
0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0x0F, 0x00,
|
||||
0x07, 0x00, 0x80, 0x10, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x80, 0x64, 0x04, 0x00, 0x84, 0xA0,
|
||||
0x6A, 0x00, 0xF0, 0x7F, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74,
|
||||
0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x87, 0x74,
|
||||
0x00, 0xA0, 0xBA, 0x1A, 0xF0, 0xFF, 0x2F, 0x0F, 0x00, 0x07, 0x00, 0x80, 0x40, 0x02, 0x00, 0x83,
|
||||
0xE0, 0x01, 0x00, 0x90, 0x04, 0x00, 0xAF, 0x80, 0xAA, 0x00, 0xC0, 0xFF, 0x01, 0x00, 0xE0, 0x01,
|
||||
0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00,
|
||||
0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x01, 0x00, 0xE0, 0x00, 0x50, 0xB9,
|
||||
0x00, 0xF0, 0x2F, 0x00, 0x40, 0x01, 0x00, 0x06, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02,
|
||||
0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0xA0, 0xB4, 0x00, 0x0A, 0xB4, 0x80, 0x07,
|
||||
0xB4, 0xE0, 0x01, 0xB4, 0x78, 0x00, 0xB4, 0x1E, 0x00, 0xF4, 0x2F, 0x00, 0xF4, 0x79, 0x00, 0xB4,
|
||||
0xF0, 0x01, 0xB4, 0xD0, 0x03, 0xB4, 0x40, 0x0B, 0xB4, 0x00, 0x2E, 0x0F, 0x00, 0x06, 0x00, 0x84,
|
||||
0xF0, 0x7F, 0x00, 0xA0, 0x7A, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80,
|
||||
0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80,
|
||||
0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x80, 0x74, 0x02, 0x00, 0x87,
|
||||
0x74, 0x00, 0xA0, 0xBA, 0x1A, 0xF0, 0xFF, 0x2F, 0x0F, 0x00, 0x12, 0x00, 0xA0, 0x58, 0x4A, 0x0A,
|
||||
0xFC, 0xFF, 0x2E, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C,
|
||||
0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x2C, 0x3C, 0x38, 0x0F, 0x00,
|
||||
0x12, 0x00, 0xA0, 0x64, 0xA8, 0x01, 0xB4, 0xEF, 0x0B, 0xF4, 0x01, 0x0F, 0xB4, 0x00, 0x1D, 0xB4,
|
||||
0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x1D, 0xB4, 0x00,
|
||||
0x1D, 0xB4, 0x00, 0x1D, 0x0F, 0x00, 0x13, 0x00, 0xA1, 0xAA, 0x00, 0xD0, 0xEB, 0x07, 0xF0, 0x41,
|
||||
0x0F, 0x74, 0x00, 0x1D, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x38, 0x00, 0x2C, 0x78, 0x00, 0x2D,
|
||||
0xB4, 0x00, 0x1E, 0xE0, 0x96, 0x0B, 0x80, 0xFF, 0x02, 0x00, 0x14, 0x0D, 0x00, 0x12, 0x00, 0xA4,
|
||||
0x64, 0xA9, 0x01, 0xB4, 0xFB, 0x07, 0xF4, 0x41, 0x0F, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x2D, 0xB4,
|
||||
0x00, 0x2D, 0xB4, 0x00, 0x2D, 0xB4, 0x00, 0x1D, 0xB4, 0x00, 0x0F, 0xF4, 0x96, 0x0B, 0xB4, 0xFE,
|
||||
0x02, 0xB4, 0x10, 0x00, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x80, 0xB4, 0x05, 0x00, 0x12,
|
||||
0x00, 0xA3, 0x40, 0x6A, 0x09, 0xD0, 0xEB, 0x1F, 0xF0, 0x01, 0x1F, 0xB4, 0x00, 0x1E, 0x78, 0x00,
|
||||
0x1E, 0x78, 0x00, 0x1E, 0x78, 0x00, 0x1E, 0x74, 0x00, 0x1E, 0xF0, 0x00, 0x1E, 0xE0, 0x96, 0x1F,
|
||||
0x80, 0xBF, 0x1E, 0x00, 0x04, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00, 0x80, 0x1E, 0x02, 0x00,
|
||||
0x80, 0x1E, 0x03, 0x00, 0x12, 0x00, 0x9F, 0x40, 0x92, 0x1A, 0x80, 0xF7, 0x1F, 0x80, 0x1F, 0x00,
|
||||
0x80, 0x07, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x00, 0x80,
|
||||
0x03, 0x00, 0x80, 0x03, 0x00, 0x80, 0x03, 0x10, 0x00, 0x13, 0x00, 0xA1, 0xA9, 0x01, 0xD0, 0xEB,
|
||||
0x0B, 0xE0, 0x01, 0x1E, 0xF0, 0x00, 0x19, 0xE0, 0x06, 0x00, 0x80, 0xBF, 0x01, 0x00, 0xA4, 0x0F,
|
||||
0x10, 0x00, 0x1E, 0xB4, 0x00, 0x1D, 0xE0, 0x56, 0x0F, 0x80, 0xFF, 0x06, 0x00, 0x10, 0x0D, 0x00,
|
||||
0x0D, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x89, 0x0F, 0x00, 0xA4, 0xAF, 0x0A, 0xA8, 0xAF, 0x0A, 0x00,
|
||||
0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80,
|
||||
0x0F, 0x02, 0x00, 0x80, 0x0F, 0x02, 0x00, 0x80, 0x0E, 0x02, 0x00, 0x86, 0x6D, 0x09, 0x00, 0xF8,
|
||||
0x1F, 0x00, 0x40, 0x0D, 0x00, 0x12, 0x00, 0xA2, 0x60, 0x00, 0x19, 0xB4, 0x00, 0x1E, 0xB4, 0x00,
|
||||
0x1E, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x1E, 0xB4, 0x00, 0x1E,
|
||||
0xF0, 0x00, 0x1E, 0xE0, 0x96, 0x1F, 0x80, 0xBF, 0x1D, 0x00, 0x04, 0x0D, 0x00, 0x12, 0x00, 0x96,
|
||||
0x28, 0x00, 0x18, 0x78, 0x00, 0x2D, 0xB4, 0x00, 0x0E, 0xE0, 0x00, 0x0B, 0xD0, 0x41, 0x07, 0xC0,
|
||||
0x82, 0x03, 0x80, 0xC3, 0x02, 0x00, 0xDB, 0x02, 0x00, 0x80, 0xBE, 0x02, 0x00, 0x80, 0x7D, 0x02,
|
||||
0x00, 0x80, 0x3C, 0x10, 0x00, 0x12, 0x00, 0xA0, 0x09, 0x14, 0x60, 0x1D, 0x38, 0x70, 0x1C, 0x3C,
|
||||
0x74, 0x2C, 0x7D, 0x38, 0x28, 0xAA, 0x28, 0x34, 0xDA, 0x2C, 0x74, 0xD7, 0x1D, 0xB0, 0xC3, 0x0E,
|
||||
0xE0, 0x82, 0x0F, 0xE0, 0x42, 0x0B, 0xD0, 0x41, 0x07, 0x0F, 0x00, 0x12, 0x00, 0x8D, 0x64, 0x00,
|
||||
0x19, 0xF0, 0x00, 0x1F, 0xD0, 0x82, 0x07, 0x80, 0xD7, 0x02, 0x00, 0xFE, 0x02, 0x00, 0x80, 0x7C,
|
||||
0x02, 0x00, 0x8D, 0xBE, 0x00, 0x40, 0xEB, 0x01, 0xC0, 0x83, 0x07, 0xE0, 0x01, 0x0F, 0xB8, 0x00,
|
||||
0x2D, 0x0F, 0x00, 0x12, 0x00, 0x99, 0x18, 0x00, 0x24, 0x3C, 0x00, 0x2C, 0xB4, 0x00, 0x1E, 0xF0,
|
||||
0x00, 0x0F, 0xD0, 0x41, 0x0B, 0xC0, 0x83, 0x03, 0x80, 0xC7, 0x02, 0x00, 0xEB, 0x01, 0x00, 0xBE,
|
||||
0x02, 0x00, 0x80, 0x7D, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x1D, 0x02, 0x00, 0x88, 0x0F,
|
||||
0x00, 0x90, 0x07, 0x00, 0xF4, 0x02, 0x00, 0x10, 0x02, 0x00, 0x12, 0x00, 0x8D, 0xA4, 0xAA, 0x0A,
|
||||
0xF4, 0xFF, 0x1F, 0x00, 0x80, 0x0B, 0x00, 0xD0, 0x02, 0x00, 0xF4, 0x02, 0x00, 0x80, 0x7C, 0x02,
|
||||
0x00, 0x8D, 0x1E, 0x00, 0x80, 0x0B, 0x00, 0xD0, 0x02, 0x00, 0xF4, 0x56, 0x15, 0xF4, 0xFF, 0x2F,
|
||||
0x0F, 0x00, 0x05, 0x00, 0x85, 0x05, 0x00, 0xC0, 0x07, 0x00, 0xE0, 0x02, 0x00, 0x80, 0xB0, 0x02,
|
||||
0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB4, 0x02,
|
||||
0x00, 0x86, 0x78, 0x00, 0x80, 0x1F, 0x00, 0x80, 0x1F, 0x02, 0x00, 0x80, 0x78, 0x02, 0x00, 0x80,
|
||||
0xB4, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80, 0xB0, 0x02, 0x00, 0x80,
|
||||
0xF0, 0x02, 0x00, 0x84, 0xE0, 0x01, 0x00, 0x80, 0x07, 0x02, 0x00, 0x80, 0x05, 0x03, 0x00, 0x0A,
|
||||
0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02,
|
||||
0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02,
|
||||
0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02,
|
||||
0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x02,
|
||||
0x00, 0x80, 0x28, 0x02, 0x00, 0x80, 0x28, 0x04, 0x00, 0x03, 0x00, 0x84, 0x40, 0x01, 0x00, 0x40,
|
||||
0x0B, 0x02, 0x00, 0x80, 0x2D, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80,
|
||||
0x38, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0xB4, 0x02, 0x00, 0x86,
|
||||
0xD0, 0x0B, 0x00, 0xD0, 0x0B, 0x00, 0xB4, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x38, 0x02,
|
||||
0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x38, 0x02, 0x00, 0x80, 0x3C, 0x02, 0x00, 0x86, 0x1D, 0x00,
|
||||
0x40, 0x0B, 0x00, 0x40, 0x01, 0x04, 0x00, 0x1B, 0x00, 0x8B, 0xA0, 0x06, 0x10, 0xBC, 0x1F, 0x70,
|
||||
0x0D, 0xB8, 0x3E, 0x05, 0xD0, 0x1F, 0x1B, 0x00,
|
||||
const uint8_t font_robotomono20[2396] = {
|
||||
0x00, 0xFF, 0x14, 0x00, 0x00, 0x51, 0x46, 0x46, 0x01, 0x5C, 0x09, 0x00, 0x00, 0xA3, 0xF6, 0xFF,
|
||||
0xFF, 0x16, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x01, 0xFE, 0x1D, 0x01, 0x00, 0x05, 0x00,
|
||||
0x00, 0x85, 0x00, 0x00, 0x06, 0x04, 0x00, 0x4D, 0x06, 0x00, 0x0B, 0x0D, 0x00, 0x4F, 0x14, 0x00,
|
||||
0x4D, 0x1C, 0x00, 0x43, 0x23, 0x00, 0xC7, 0x24, 0x00, 0x07, 0x2A, 0x00, 0x89, 0x2F, 0x00, 0x4B,
|
||||
0x33, 0x00, 0x04, 0x38, 0x00, 0xC6, 0x39, 0x00, 0x85, 0x3B, 0x00, 0x48, 0x3D, 0x00, 0xCB, 0x42,
|
||||
0x00, 0xCB, 0x48, 0x00, 0xCB, 0x4E, 0x00, 0x0B, 0x55, 0x00, 0x0B, 0x5B, 0x00, 0x0B, 0x61, 0x00,
|
||||
0x0B, 0x67, 0x00, 0x0B, 0x6D, 0x00, 0x0B, 0x73, 0x00, 0x0B, 0x79, 0x00, 0x05, 0x7F, 0x00, 0xC4,
|
||||
0x81, 0x00, 0x8A, 0x84, 0x00, 0xCB, 0x88, 0x00, 0x4A, 0x8C, 0x00, 0x49, 0x90, 0x00, 0xD2, 0x95,
|
||||
0x00, 0x0D, 0xA1, 0x00, 0x0C, 0xA8, 0x00, 0xCD, 0xAE, 0x00, 0x0D, 0xB6, 0x00, 0xCB, 0xBC, 0x00,
|
||||
0x0B, 0xC3, 0x00, 0x0E, 0xC9, 0x00, 0x8E, 0xD0, 0x00, 0x05, 0xD8, 0x00, 0x8B, 0xDB, 0x00, 0x4D,
|
||||
0xE1, 0x00, 0x8B, 0xE8, 0x00, 0xD1, 0xEE, 0x00, 0x8E, 0xF7, 0x00, 0x0E, 0xFF, 0x00, 0xCD, 0x06,
|
||||
0x01, 0x8E, 0x0D, 0x01, 0xCC, 0x15, 0x01, 0x8C, 0x1C, 0x01, 0x0C, 0x23, 0x01, 0x8D, 0x29, 0x01,
|
||||
0x8D, 0x30, 0x01, 0x92, 0x37, 0x01, 0xCD, 0x40, 0x01, 0xCC, 0x47, 0x01, 0x4C, 0x4E, 0x01, 0x06,
|
||||
0x55, 0x01, 0x89, 0x59, 0x01, 0x45, 0x5F, 0x01, 0x08, 0x63, 0x01, 0x09, 0x66, 0x01, 0xC6, 0x67,
|
||||
0x01, 0x8B, 0x69, 0x01, 0xCB, 0x6E, 0x01, 0x4A, 0x75, 0x01, 0x0B, 0x7A, 0x01, 0x8B, 0x80, 0x01,
|
||||
0x87, 0x85, 0x01, 0x0B, 0x8A, 0x01, 0x8B, 0x90, 0x01, 0x45, 0x97, 0x01, 0xC5, 0x9A, 0x01, 0x8B,
|
||||
0x9E, 0x01, 0x45, 0xA5, 0x01, 0xD2, 0xA8, 0x01, 0x4B, 0xB0, 0x01, 0x8B, 0xB5, 0x01, 0x8B, 0xBA,
|
||||
0x01, 0xCB, 0xC0, 0x01, 0x47, 0xC7, 0x01, 0x0A, 0xCB, 0x01, 0xC7, 0xCF, 0x01, 0x4B, 0xD4, 0x01,
|
||||
0x8A, 0xD9, 0x01, 0x4F, 0xDE, 0x01, 0x0A, 0xE5, 0x01, 0x0A, 0xEA, 0x01, 0x0A, 0xF0, 0x01, 0x07,
|
||||
0xF5, 0x01, 0xC5, 0xFA, 0x01, 0x87, 0xFE, 0x01, 0x0E, 0x04, 0x02, 0x04, 0xFB, 0x1C, 0x08, 0x00,
|
||||
0x0E, 0x00, 0x02, 0x00, 0x88, 0xC6, 0x08, 0x21, 0x84, 0x10, 0x42, 0x00, 0x60, 0x04, 0x03, 0x00,
|
||||
0x85, 0x00, 0x60, 0x59, 0x96, 0x25, 0x01, 0x0B, 0x00, 0x05, 0x00, 0x95, 0x30, 0x03, 0x22, 0x40,
|
||||
0x04, 0xFF, 0x83, 0x19, 0x30, 0x03, 0x22, 0x40, 0x04, 0xFF, 0x83, 0x19, 0x30, 0x03, 0x66, 0x40,
|
||||
0x04, 0x88, 0x09, 0x00, 0x02, 0x00, 0x97, 0x03, 0x18, 0xE0, 0xC1, 0x1F, 0x86, 0x11, 0x8C, 0x41,
|
||||
0x1C, 0xC0, 0x03, 0x78, 0x00, 0x07, 0x30, 0x83, 0x19, 0x8C, 0x3F, 0xF8, 0x00, 0x01, 0x08, 0x05,
|
||||
0x00, 0x05, 0x00, 0x9A, 0x80, 0x03, 0x60, 0x02, 0x10, 0x23, 0x88, 0x19, 0xC4, 0x04, 0x26, 0x01,
|
||||
0xDE, 0x00, 0xA0, 0x03, 0x68, 0x02, 0x16, 0x03, 0x89, 0x41, 0xC4, 0x20, 0x26, 0x00, 0x0E, 0x0A,
|
||||
0x00, 0x05, 0x00, 0x96, 0x78, 0x80, 0x1F, 0x18, 0x03, 0x63, 0x60, 0x0C, 0xF8, 0x00, 0x07, 0xF0,
|
||||
0x01, 0x67, 0x62, 0x5C, 0x0C, 0x8F, 0xC1, 0xE1, 0x3F, 0xF8, 0x0C, 0x08, 0x00, 0x82, 0x80, 0x24,
|
||||
0x09, 0x06, 0x00, 0x93, 0x00, 0x10, 0x0C, 0x82, 0x41, 0x30, 0x18, 0x04, 0x83, 0xC1, 0x60, 0x30,
|
||||
0x10, 0x18, 0x0C, 0x04, 0x06, 0x02, 0x03, 0x01, 0x80, 0x00, 0x02, 0x80, 0x8E, 0xC0, 0x40, 0x60,
|
||||
0x30, 0x18, 0x08, 0x04, 0x06, 0x81, 0x60, 0x30, 0x18, 0x04, 0x83, 0x20, 0x02, 0x00, 0x03, 0x00,
|
||||
0x89, 0x80, 0x00, 0x41, 0x92, 0x3F, 0x1C, 0x3C, 0xC8, 0x10, 0x01, 0x0C, 0x00, 0x07, 0x00, 0x8D,
|
||||
0x30, 0x80, 0x01, 0x0C, 0x60, 0xF0, 0xBF, 0xFF, 0xC0, 0x00, 0x06, 0x30, 0x80, 0x01, 0x0A, 0x00,
|
||||
0x07, 0x00, 0x83, 0x60, 0x66, 0x22, 0x00, 0x07, 0x00, 0x81, 0xF0, 0x01, 0x08, 0x00, 0x09, 0x00,
|
||||
0x81, 0x60, 0x04, 0x03, 0x00, 0x03, 0x00, 0x02, 0x40, 0x82, 0x60, 0x20, 0x30, 0x02, 0x10, 0x81,
|
||||
0x18, 0x08, 0x02, 0x0C, 0x83, 0x04, 0x06, 0x02, 0x03, 0x04, 0x00, 0x04, 0x00, 0x92, 0xF0, 0xC1,
|
||||
0x1F, 0x86, 0x19, 0xCC, 0x60, 0x06, 0x33, 0x98, 0xC1, 0x0C, 0x66, 0x30, 0x83, 0x31, 0x8C, 0x3F,
|
||||
0xF8, 0x08, 0x00, 0x04, 0x00, 0x02, 0x80, 0x90, 0x07, 0x3E, 0x80, 0x01, 0x0C, 0x60, 0x00, 0x03,
|
||||
0x18, 0xC0, 0x00, 0x06, 0x30, 0x80, 0x01, 0x0C, 0x60, 0x08, 0x00, 0x04, 0x00, 0x93, 0xF0, 0xC1,
|
||||
0x1F, 0x83, 0x19, 0x0C, 0x60, 0x00, 0x01, 0x0C, 0x30, 0xC0, 0x00, 0x03, 0x0C, 0x30, 0xC0, 0x01,
|
||||
0xFE, 0x07, 0x07, 0x00, 0x04, 0x00, 0x92, 0xF0, 0xC1, 0x1F, 0x83, 0x19, 0x0C, 0x60, 0x80, 0x81,
|
||||
0x07, 0x78, 0x00, 0x06, 0x30, 0x83, 0x19, 0x8C, 0x3F, 0xF8, 0x08, 0x00, 0x05, 0x00, 0x92, 0x03,
|
||||
0x1C, 0xF0, 0x80, 0x06, 0x36, 0x98, 0x61, 0x0C, 0x63, 0x0C, 0xE3, 0x7F, 0xC0, 0x00, 0x06, 0x30,
|
||||
0x80, 0x01, 0x07, 0x00, 0x04, 0x00, 0x92, 0xF0, 0x87, 0x3F, 0x06, 0x30, 0x80, 0x01, 0xFC, 0xE0,
|
||||
0x0F, 0xC0, 0x00, 0x06, 0x20, 0x82, 0x31, 0x8C, 0x3F, 0xF0, 0x08, 0x00, 0x04, 0x00, 0x92, 0xC0,
|
||||
0x01, 0x0F, 0x0C, 0x30, 0x80, 0x01, 0xF4, 0xF0, 0x8F, 0xC3, 0x0C, 0x66, 0x30, 0x82, 0x31, 0x0C,
|
||||
0x3F, 0xF0, 0x08, 0x00, 0x04, 0x00, 0x92, 0xFC, 0x07, 0x30, 0x80, 0x01, 0x04, 0x30, 0x80, 0x00,
|
||||
0x06, 0x10, 0xC0, 0x00, 0x06, 0x18, 0xC0, 0x00, 0x03, 0x18, 0x08, 0x00, 0x04, 0x00, 0x92, 0xF0,
|
||||
0xC1, 0x1F, 0x86, 0x19, 0x8C, 0x60, 0x8C, 0xC1, 0x07, 0x7F, 0x08, 0x66, 0x30, 0x83, 0x19, 0x8C,
|
||||
0x3F, 0xF8, 0x08, 0x00, 0x04, 0x00, 0x92, 0xF0, 0xC0, 0x1F, 0xC3, 0x18, 0xCC, 0x60, 0x06, 0x33,
|
||||
0x18, 0xFF, 0xF0, 0x06, 0x30, 0xC0, 0x00, 0x07, 0x1F, 0x38, 0x08, 0x00, 0x04, 0x00, 0x80, 0x31,
|
||||
0x04, 0x00, 0x81, 0x30, 0x04, 0x03, 0x00, 0x03, 0x00, 0x80, 0x66, 0x03, 0x00, 0x83, 0x60, 0x66,
|
||||
0x26, 0x00, 0x08, 0x00, 0x81, 0x10, 0x70, 0x02, 0x78, 0x86, 0x60, 0x80, 0x07, 0x78, 0x00, 0x07,
|
||||
0x10, 0x09, 0x00, 0x0B, 0x00, 0x82, 0xFE, 0xE3, 0x0F, 0x02, 0x00, 0x82, 0xE0, 0x3F, 0xFE, 0x0C,
|
||||
0x00, 0x07, 0x00, 0x86, 0x20, 0x80, 0x07, 0x78, 0x80, 0x07, 0x38, 0x03, 0x78, 0x80, 0x20, 0x0A,
|
||||
0x00, 0x03, 0x00, 0x85, 0xC0, 0xE3, 0xCF, 0xB0, 0x60, 0x40, 0x03, 0xC0, 0x80, 0x80, 0x02, 0x01,
|
||||
0x02, 0x00, 0x81, 0x08, 0x10, 0x06, 0x00, 0x07, 0x00, 0xA7, 0xE0, 0x03, 0xE0, 0x38, 0xC0, 0x80,
|
||||
0x81, 0x01, 0x0C, 0xC3, 0x23, 0x84, 0x89, 0x11, 0x23, 0x64, 0x84, 0x90, 0x11, 0x42, 0x66, 0x08,
|
||||
0x99, 0x31, 0x66, 0xC6, 0x08, 0xB1, 0x33, 0x84, 0x79, 0x30, 0x00, 0x80, 0x01, 0x00, 0x1C, 0x02,
|
||||
0xC0, 0x0F, 0x03, 0x00, 0x05, 0x00, 0x96, 0x60, 0x00, 0x0E, 0xC0, 0x01, 0x6C, 0x80, 0x0D, 0x10,
|
||||
0x01, 0x63, 0x60, 0x0C, 0x06, 0xC3, 0x7F, 0xF8, 0x8F, 0x01, 0x33, 0x60, 0x03, 0x18, 0x08, 0x00,
|
||||
0x04, 0x00, 0x95, 0xC0, 0x1F, 0xFC, 0xC3, 0x60, 0x0C, 0xC6, 0x60, 0x0C, 0xC3, 0x1F, 0xFC, 0xC3,
|
||||
0x60, 0x0C, 0xC6, 0x60, 0x0C, 0xC6, 0x3F, 0xFC, 0x01, 0x07, 0x00, 0x05, 0x00, 0x8F, 0xF0, 0x80,
|
||||
0x7F, 0x18, 0x0C, 0x03, 0x33, 0x60, 0x06, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x60, 0xC0, 0x02, 0x18,
|
||||
0x84, 0x83, 0xC1, 0x3F, 0xF0, 0x01, 0x08, 0x00, 0x05, 0x00, 0x95, 0x7E, 0xC0, 0x3F, 0x18, 0x0E,
|
||||
0x83, 0x61, 0x60, 0x0C, 0x8C, 0x81, 0x31, 0x30, 0x06, 0xC6, 0xC0, 0x18, 0x0C, 0xC3, 0xE1, 0x1F,
|
||||
0xFC, 0x09, 0x00, 0x04, 0x00, 0x93, 0xF8, 0xCF, 0x3F, 0x06, 0x30, 0x80, 0x01, 0x0C, 0xE0, 0x1F,
|
||||
0x7F, 0x18, 0xC0, 0x00, 0x06, 0x30, 0x80, 0x7F, 0xFC, 0x07, 0x07, 0x00, 0x04, 0x00, 0x92, 0xF8,
|
||||
0xC7, 0x3F, 0x06, 0x30, 0x80, 0x01, 0x0C, 0xE0, 0x1F, 0x7F, 0x18, 0xC0, 0x00, 0x06, 0x30, 0x80,
|
||||
0x01, 0x0C, 0x08, 0x00, 0x05, 0x00, 0x98, 0xC0, 0x07, 0xF8, 0x07, 0x83, 0xC3, 0xC0, 0x18, 0x00,
|
||||
0x06, 0x80, 0xE1, 0x63, 0xF8, 0x18, 0x30, 0x06, 0x0C, 0x03, 0xC3, 0xC1, 0xE0, 0x1F, 0xE0, 0x03,
|
||||
0x09, 0x00, 0x05, 0x00, 0x98, 0x30, 0x60, 0x0C, 0x18, 0x03, 0xC6, 0x80, 0x31, 0x60, 0x0C, 0x18,
|
||||
0xFF, 0xC7, 0xFF, 0x31, 0x60, 0x0C, 0x18, 0x03, 0xC6, 0x80, 0x31, 0x60, 0x0C, 0x18, 0x09, 0x00,
|
||||
0x02, 0x00, 0x88, 0xC6, 0x18, 0x63, 0x8C, 0x31, 0xC6, 0x18, 0x63, 0x0C, 0x03, 0x00, 0x05, 0x00,
|
||||
0x91, 0x06, 0x30, 0x80, 0x01, 0x0C, 0x60, 0x00, 0x03, 0x18, 0xC0, 0x00, 0x06, 0x10, 0xC1, 0x18,
|
||||
0xC6, 0x3F, 0x78, 0x08, 0x00, 0x05, 0x00, 0x8E, 0x06, 0xC7, 0x60, 0x18, 0x06, 0x63, 0x60, 0x06,
|
||||
0x6C, 0x80, 0x0F, 0xF0, 0x03, 0x66, 0xC0, 0x02, 0x18, 0x83, 0x06, 0xC3, 0x61, 0x30, 0x02, 0x0C,
|
||||
0x08, 0x00, 0x04, 0x00, 0x93, 0x18, 0xC0, 0x00, 0x06, 0x30, 0x80, 0x01, 0x0C, 0x60, 0x00, 0x03,
|
||||
0x18, 0xC0, 0x00, 0x06, 0x30, 0x80, 0x7F, 0xFC, 0x03, 0x07, 0x00, 0x06, 0x00, 0x9D, 0x60, 0x00,
|
||||
0xC7, 0x01, 0x8E, 0x03, 0x1E, 0x0F, 0x3C, 0x1A, 0x68, 0x34, 0xD8, 0xC8, 0xB0, 0x91, 0x31, 0x63,
|
||||
0x66, 0xC6, 0x6C, 0x8C, 0xD1, 0x18, 0xE3, 0x30, 0xC6, 0x61, 0x0C, 0xC3, 0x0B, 0x00, 0x05, 0x00,
|
||||
0x98, 0x30, 0x60, 0x1C, 0x18, 0x07, 0xC6, 0x83, 0xF1, 0x61, 0x6C, 0x18, 0x33, 0xC6, 0x9C, 0x31,
|
||||
0x66, 0x0C, 0x1B, 0xC3, 0xC7, 0xE0, 0x31, 0x70, 0x0C, 0x1C, 0x09, 0x00, 0x05, 0x00, 0x93, 0x80,
|
||||
0x07, 0xF8, 0x07, 0x83, 0xC3, 0xC0, 0x18, 0x30, 0x06, 0x88, 0x01, 0x66, 0x80, 0x19, 0x20, 0x06,
|
||||
0x0C, 0x03, 0xC3, 0x02, 0xE0, 0x82, 0x1F, 0xE0, 0x01, 0x09, 0x00, 0x05, 0x00, 0x95, 0xFE, 0xC0,
|
||||
0x7F, 0x18, 0x0C, 0x03, 0x63, 0x60, 0x0C, 0x8C, 0xC1, 0xF0, 0x0F, 0x3E, 0xC0, 0x00, 0x18, 0x00,
|
||||
0x03, 0x60, 0x00, 0x0C, 0x09, 0x00, 0x05, 0x00, 0x9B, 0xC0, 0x07, 0xF8, 0x07, 0x83, 0xC1, 0xC0,
|
||||
0x18, 0x30, 0x06, 0x88, 0x01, 0x62, 0x80, 0x19, 0x20, 0x06, 0x0C, 0x03, 0xC3, 0x60, 0xE0, 0x1F,
|
||||
0xF0, 0x07, 0x80, 0x03, 0xC0, 0x06, 0x00, 0x04, 0x00, 0x93, 0xC0, 0x1F, 0xFC, 0xC3, 0x60, 0x0C,
|
||||
0xC6, 0x60, 0x0C, 0xC6, 0x70, 0xFC, 0xC3, 0x1F, 0x8C, 0xC1, 0x30, 0x0C, 0xC6, 0x60, 0x02, 0x0C,
|
||||
0x07, 0x00, 0x05, 0x00, 0x94, 0x0F, 0xFC, 0xE3, 0x70, 0x06, 0x66, 0x00, 0x1C, 0x80, 0x0F, 0xE0,
|
||||
0x03, 0x70, 0x00, 0x66, 0x60, 0x06, 0xC6, 0x3F, 0xF0, 0x01, 0x07, 0x00, 0x04, 0x00, 0x94, 0xF0,
|
||||
0x7F, 0xFE, 0x07, 0x06, 0x60, 0x00, 0x06, 0x60, 0x00, 0x06, 0x60, 0x00, 0x06, 0x60, 0x00, 0x06,
|
||||
0x60, 0x00, 0x06, 0x60, 0x08, 0x00, 0x05, 0x00, 0x96, 0x03, 0x66, 0xC0, 0x0C, 0x98, 0x01, 0x33,
|
||||
0x60, 0x06, 0xCC, 0x80, 0x19, 0x30, 0x03, 0x66, 0xC0, 0x08, 0x18, 0x83, 0xC1, 0x1F, 0xF0, 0x01,
|
||||
0x08, 0x00, 0x04, 0x00, 0x96, 0x80, 0x01, 0x66, 0xC0, 0x0C, 0x18, 0x83, 0x61, 0x30, 0x0C, 0x03,
|
||||
0x63, 0x60, 0x0C, 0xCC, 0x00, 0x1B, 0x60, 0x03, 0x38, 0x00, 0x07, 0x60, 0x09, 0x00, 0x06, 0x00,
|
||||
0x9B, 0x80, 0xC1, 0x60, 0x06, 0x83, 0x19, 0x0E, 0x66, 0x78, 0x08, 0xE3, 0x31, 0x8C, 0xC4, 0x30,
|
||||
0x33, 0xC3, 0xCC, 0x04, 0x12, 0x1A, 0x78, 0x68, 0xE0, 0xE1, 0x81, 0x83, 0x03, 0x02, 0x0C, 0x02,
|
||||
0x30, 0x0C, 0x00, 0x05, 0x00, 0x96, 0x03, 0xC7, 0x60, 0x18, 0x06, 0xC6, 0x80, 0x0D, 0xF0, 0x00,
|
||||
0x1C, 0x80, 0x03, 0x78, 0x80, 0x1B, 0x30, 0x06, 0xC3, 0x60, 0x30, 0x06, 0x0E, 0x08, 0x00, 0x04,
|
||||
0x00, 0x94, 0x70, 0xE0, 0x06, 0xC6, 0x30, 0x0C, 0x83, 0x19, 0x98, 0x01, 0x0F, 0xF0, 0x00, 0x06,
|
||||
0x60, 0x00, 0x06, 0x60, 0x00, 0x06, 0x60, 0x08, 0x00, 0x04, 0x00, 0x95, 0xE0, 0x7F, 0xFE, 0x07,
|
||||
0x30, 0x80, 0x01, 0x18, 0xC0, 0x00, 0x06, 0x70, 0x00, 0x03, 0x18, 0xC0, 0x00, 0x0C, 0xE0, 0x7F,
|
||||
0xFE, 0x07, 0x07, 0x00, 0x8E, 0x80, 0xE7, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61, 0x18, 0x86, 0x61,
|
||||
0x18, 0x86, 0xE1, 0x78, 0x02, 0x00, 0x03, 0x00, 0x91, 0x10, 0x60, 0xC0, 0x00, 0x01, 0x06, 0x08,
|
||||
0x30, 0x60, 0x80, 0x00, 0x03, 0x04, 0x18, 0x30, 0x40, 0x80, 0x01, 0x04, 0x00, 0x8D, 0xE0, 0x39,
|
||||
0xC6, 0x18, 0x63, 0x8C, 0x31, 0xC6, 0x18, 0x63, 0x8C, 0xB9, 0x07, 0x00, 0x03, 0x00, 0x02, 0x18,
|
||||
0x84, 0x38, 0x2C, 0x64, 0x66, 0x46, 0x0C, 0x00, 0x13, 0x00, 0x81, 0xFE, 0x03, 0x04, 0x00, 0x83,
|
||||
0x00, 0x60, 0x30, 0x08, 0x0D, 0x00, 0x08, 0x00, 0x8F, 0xE0, 0x83, 0x3B, 0x86, 0x01, 0x08, 0x7E,
|
||||
0x38, 0x63, 0x10, 0x83, 0x18, 0x86, 0x3F, 0x78, 0x03, 0x07, 0x00, 0x02, 0x00, 0x94, 0x80, 0x01,
|
||||
0x0C, 0x60, 0x00, 0x03, 0xD8, 0xC3, 0x3F, 0x0E, 0x33, 0x98, 0xC1, 0x0C, 0x66, 0x30, 0x83, 0x39,
|
||||
0xCC, 0x3F, 0xF6, 0x08, 0x00, 0x07, 0x00, 0x8D, 0x80, 0x0F, 0x7F, 0x0C, 0x1B, 0x6C, 0x80, 0x01,
|
||||
0x06, 0x18, 0xC4, 0x30, 0x7F, 0xF8, 0x07, 0x00, 0x03, 0x00, 0x94, 0xC0, 0x00, 0x06, 0x30, 0x80,
|
||||
0xE1, 0x8D, 0x7F, 0x0E, 0x33, 0x98, 0xC1, 0x0C, 0x66, 0x30, 0x83, 0x31, 0x8C, 0x7F, 0x78, 0x03,
|
||||
0x07, 0x00, 0x08, 0x00, 0x8E, 0xC0, 0x83, 0x3F, 0x04, 0x31, 0x98, 0xFF, 0x0C, 0x60, 0x00, 0x03,
|
||||
0x30, 0x84, 0x3F, 0xF0, 0x08, 0x00, 0x02, 0x00, 0x8C, 0x1C, 0xCF, 0x60, 0xF8, 0x18, 0x0C, 0x06,
|
||||
0x83, 0xC1, 0x60, 0x30, 0x18, 0x0C, 0x05, 0x00, 0x08, 0x00, 0x94, 0xE0, 0x8D, 0x7F, 0x0E, 0x33,
|
||||
0x98, 0xC1, 0x0C, 0x66, 0x30, 0x83, 0x31, 0x8C, 0x7F, 0x78, 0x03, 0x18, 0x61, 0xF8, 0x83, 0x0F,
|
||||
0x02, 0x00, 0x02, 0x00, 0x95, 0x80, 0x01, 0x0C, 0x60, 0x00, 0x03, 0xD8, 0xC3, 0x3F, 0x0E, 0x31,
|
||||
0x98, 0xC1, 0x0C, 0x66, 0x30, 0x83, 0x19, 0xCC, 0x60, 0x06, 0x03, 0x07, 0x00, 0x8A, 0x00, 0x10,
|
||||
0x02, 0x00, 0x21, 0x84, 0x10, 0x42, 0x08, 0x21, 0x04, 0x03, 0x00, 0x8D, 0x00, 0x30, 0x06, 0x00,
|
||||
0x63, 0x8C, 0x31, 0xC6, 0x18, 0x63, 0x8C, 0x31, 0x77, 0x00, 0x02, 0x00, 0x95, 0x80, 0x01, 0x0C,
|
||||
0x60, 0x00, 0x03, 0x18, 0xC6, 0x18, 0x66, 0xB0, 0x83, 0x0F, 0x7C, 0x60, 0x06, 0x63, 0x18, 0xC3,
|
||||
0x30, 0x06, 0x03, 0x07, 0x00, 0x8A, 0x00, 0x10, 0x42, 0x08, 0x21, 0x84, 0x10, 0x42, 0x08, 0x21,
|
||||
0x04, 0x03, 0x00, 0x0D, 0x00, 0x98, 0x60, 0x8F, 0x87, 0xFF, 0x3F, 0x8E, 0xC3, 0x18, 0x0C, 0x63,
|
||||
0x30, 0x8C, 0xC1, 0x30, 0x06, 0xC3, 0x18, 0x0C, 0x63, 0x30, 0x8C, 0xC1, 0x30, 0x06, 0xC3, 0x0C,
|
||||
0x00, 0x08, 0x00, 0x8F, 0xD8, 0xC3, 0x3F, 0x0E, 0x31, 0x98, 0xC1, 0x0C, 0x66, 0x30, 0x83, 0x19,
|
||||
0xCC, 0x60, 0x06, 0x03, 0x07, 0x00, 0x08, 0x00, 0x8E, 0xC0, 0x83, 0x3F, 0x0C, 0x33, 0x98, 0x81,
|
||||
0x0C, 0x64, 0x20, 0x83, 0x31, 0x8C, 0x3B, 0xF0, 0x08, 0x00, 0x08, 0x00, 0x93, 0xD8, 0xC3, 0x3F,
|
||||
0x0E, 0x33, 0x98, 0xC1, 0x0C, 0x66, 0x30, 0x83, 0x19, 0xCC, 0x3B, 0xF6, 0x30, 0x80, 0x01, 0x0C,
|
||||
0x60, 0x03, 0x00, 0x08, 0x00, 0x94, 0xE0, 0x8D, 0x7F, 0x0E, 0x33, 0x98, 0xC1, 0x0C, 0x66, 0x30,
|
||||
0x83, 0x39, 0x8C, 0x7B, 0x78, 0x03, 0x18, 0xC0, 0x00, 0x06, 0x30, 0x02, 0x00, 0x05, 0x00, 0x89,
|
||||
0xD8, 0x7C, 0x0E, 0x83, 0xC1, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x05, 0x00, 0x07, 0x00, 0x8D, 0x80,
|
||||
0x07, 0x7F, 0x86, 0x19, 0xC0, 0x01, 0x3E, 0xC0, 0x01, 0x66, 0x18, 0x7F, 0x78, 0x07, 0x00, 0x02,
|
||||
0x00, 0x8C, 0x80, 0xC1, 0x60, 0xFC, 0x18, 0x0C, 0x06, 0x83, 0xC1, 0x60, 0x30, 0x78, 0x38, 0x05,
|
||||
0x00, 0x08, 0x00, 0x8F, 0x18, 0xCC, 0x60, 0x06, 0x33, 0x98, 0xC1, 0x0C, 0x66, 0x30, 0x83, 0x11,
|
||||
0x8E, 0x7F, 0x78, 0x03, 0x07, 0x00, 0x07, 0x00, 0x8D, 0x30, 0x98, 0x61, 0x86, 0x10, 0xC3, 0x0C,
|
||||
0x13, 0x68, 0xE0, 0x81, 0x03, 0x0C, 0x30, 0x07, 0x00, 0x0B, 0x00, 0x91, 0x08, 0x82, 0x8C, 0x63,
|
||||
0xC6, 0x31, 0xA3, 0x18, 0xD9, 0x84, 0x6D, 0xC3, 0xA2, 0xC1, 0x71, 0xE0, 0x38, 0x30, 0x02, 0x18,
|
||||
0x80, 0x0C, 0x0A, 0x00, 0x07, 0x00, 0x8E, 0x60, 0x98, 0x31, 0xCC, 0xE0, 0x81, 0x07, 0x0C, 0x78,
|
||||
0xE0, 0xC1, 0x8C, 0x71, 0x86, 0x01, 0x06, 0x00, 0x07, 0x00, 0x92, 0x30, 0x98, 0x61, 0x86, 0x18,
|
||||
0xC3, 0x0C, 0x13, 0x68, 0xE0, 0x81, 0x03, 0x0C, 0x30, 0x40, 0x80, 0x81, 0x03, 0x06, 0x02, 0x00,
|
||||
0x07, 0x00, 0x8E, 0xE0, 0x9F, 0x7F, 0xC0, 0x80, 0x01, 0x06, 0x0C, 0x18, 0x70, 0xC0, 0x80, 0x03,
|
||||
0xFE, 0x01, 0x06, 0x00, 0x88, 0x00, 0x10, 0x0C, 0x83, 0xC1, 0x60, 0x10, 0x08, 0x86, 0x02, 0xC1,
|
||||
0x84, 0x40, 0x20, 0x30, 0x18, 0x0C, 0x02, 0x06, 0x81, 0x02, 0x00, 0x02, 0x00, 0x8B, 0x42, 0x08,
|
||||
0x21, 0x84, 0x10, 0x42, 0x08, 0x21, 0x84, 0x10, 0x02, 0x00, 0x80, 0x80, 0x02, 0x81, 0x83, 0xC1,
|
||||
0x60, 0x30, 0x18, 0x03, 0x0C, 0x87, 0xC7, 0x60, 0x30, 0x18, 0x0C, 0x06, 0xC3, 0x30, 0x02, 0x00,
|
||||
0x10, 0x00, 0x86, 0x0E, 0xC2, 0xCF, 0x18, 0x1F, 0x00, 0x02, 0x10, 0x00,
|
||||
};
|
||||
// clang-format on
|
||||
|
@ -1,11 +1,11 @@
|
||||
// Copyright 2023 QMK -- generated source code only, font retains original copyright
|
||||
// Copyright 2024 QMK -- generated source code only, font retains original copyright
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// This file was auto-generated by `qmk painter-convert-font-image -i robotomono20.png -f mono4`
|
||||
// This file was auto-generated by `qmk painter-convert-font-image -i robotomono20.png -f mono2`
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <qp.h>
|
||||
|
||||
extern const uint32_t font_robotomono20_length;
|
||||
extern const uint8_t font_robotomono20[4904];
|
||||
extern const uint8_t font_robotomono20[2396];
|
||||
|
6
keyboards/eason/meow65/config.h
Normal file
6
keyboards/eason/meow65/config.h
Normal file
@ -0,0 +1,6 @@
|
||||
// Copyright 2022 Eason
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define WS2812_SPI_DRIVER SPID2
|
8
keyboards/eason/meow65/halconf.h
Normal file
8
keyboards/eason/meow65/halconf.h
Normal file
@ -0,0 +1,8 @@
|
||||
// Copyright 2022 Eason
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
|
||||
#include_next <halconf.h>
|
265
keyboards/eason/meow65/info.json
Normal file
265
keyboards/eason/meow65/info.json
Normal file
@ -0,0 +1,265 @@
|
||||
{
|
||||
"keyboard_name": "Meow65",
|
||||
"manufacturer": "Eason",
|
||||
"url": "",
|
||||
"maintainer": "Eason",
|
||||
"usb": {
|
||||
"vid": "0x68F4",
|
||||
"pid": "0x70A0",
|
||||
"device_version": "0.0.1",
|
||||
"force_nkro": true
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 2,
|
||||
"animations": {
|
||||
"breathing": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"snake": true,
|
||||
"knight": true,
|
||||
"christmas": true,
|
||||
"static_gradient": true,
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "B15",
|
||||
"driver": "spi"
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "C13"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"rows": [ "A15", "B3", "B4", "B5", "B6"],
|
||||
"cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "A8"]
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"processor": "STM32F103",
|
||||
"bootloader": "uf2boot",
|
||||
"layouts":{
|
||||
"LAYOUT_all": {
|
||||
"layout":[
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi": {
|
||||
"layout":[
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [1, 14], "x": 15, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 14], "x": 15, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 13, "y": 4},
|
||||
{"matrix": [4, 13], "x": 14, "y": 4},
|
||||
{"matrix": [4, 14], "x": 15, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
15
keyboards/eason/meow65/keymaps/default/keymap.c
Normal file
15
keyboards/eason/meow65/keymaps/default/keymap.c
Normal file
@ -0,0 +1,15 @@
|
||||
// Copyright 2022 Eason
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
15
keyboards/eason/meow65/keymaps/via/keymap.c
Normal file
15
keyboards/eason/meow65/keymaps/via/keymap.c
Normal file
@ -0,0 +1,15 @@
|
||||
// Copyright 2022 Eason
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
2
keyboards/eason/meow65/keymaps/via/rules.mk
Normal file
2
keyboards/eason/meow65/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
9
keyboards/eason/meow65/mcuconf.h
Normal file
9
keyboards/eason/meow65/mcuconf.h
Normal file
@ -0,0 +1,9 @@
|
||||
// Copyright 2022 Eason
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_SPI_USE_SPI2
|
||||
#define STM32_SPI_USE_SPI2 TRUE
|
27
keyboards/eason/meow65/readme.md
Normal file
27
keyboards/eason/meow65/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Meow65
|
||||
|
||||

|
||||
|
||||
A customizable hotswap 65% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [EASON](https://github.com/EasonQian1)
|
||||
* Hardware Supported: Meow65 PCB
|
||||
* Hardware Availability: [EASON](https://github.com/EasonQian1)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make eason/meow65:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make eason/meow65: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 Esc in the keyboard then replug
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT`
|
1
keyboards/eason/meow65/rules.mk
Normal file
1
keyboards/eason/meow65/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
@ -20,7 +20,8 @@
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4", "A3"],
|
||||
"rows": ["B6", "B5", "B4", "A15", "B3", "A0", "A2", "A1"]
|
||||
"rows": ["B6", "B5", "B4", "A15", "B3", "A0", "A2", "A1"],
|
||||
"ghost": true
|
||||
},
|
||||
"processor": "STM32F103",
|
||||
"url": "modelh.club",
|
||||
|
8
keyboards/keebio/irispad/info.json
Normal file
8
keyboards/keebio/irispad/info.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"manufacturer": "Keebio",
|
||||
"url": "https://keeb.io",
|
||||
"maintainer": "Keebio",
|
||||
"usb": {
|
||||
"vid": "0xCB10"
|
||||
}
|
||||
}
|
43
keyboards/keebio/irispad/keymaps/default/keymap.json
Normal file
43
keyboards/keebio/irispad/keymaps/default/keymap.json
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
"config": { "features": {"encoder_map": true, "tri_layer": true} },
|
||||
"keyboard": "keebio/irispad",
|
||||
"keymap": "default",
|
||||
"layout": "LAYOUT",
|
||||
"layers": [
|
||||
[
|
||||
"QK_GESC", "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" ,
|
||||
"KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" ,
|
||||
"KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G" ,
|
||||
"KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "TL_UPPR",
|
||||
"KC_LGUI", "TL_LOWR", "KC_ENT"
|
||||
],
|
||||
[
|
||||
"KC_TILD", "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC",
|
||||
"KC_GRV" , "_______", "KC_UP" , "_______", "QK_BOOT", "_______",
|
||||
"KC_DEL" , "KC_LEFT", "KC_DOWN", "KC_RGHT", "_______", "KC_LBRC",
|
||||
"RGB_MOD", "EE_CLR" , "_______", "_______", "_______", "KC_LCBR", "KC_LPRN",
|
||||
"_______", "_______", "KC_DEL"
|
||||
],
|
||||
[
|
||||
"KC_F6" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" ,
|
||||
"KC_F12", "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" ,
|
||||
"RGB_MOD", "KC_MPRV", "KC_MNXT", "KC_VOLU", "KC_PGUP", "KC_UNDS",
|
||||
"KC_MUTE", "KC_MSTP", "KC_MPLY", "KC_VOLD", "KC_PGDN", "KC_MINS", "KC_LPRN",
|
||||
"_______", "_______", "_______"
|
||||
]
|
||||
],
|
||||
"encoders": [
|
||||
[
|
||||
{"ccw": "KC_PGUP", "cw": "KC_PGDN"},
|
||||
{"ccw": "KC_VOLD", "cw": "KC_VOLU"}
|
||||
],
|
||||
[
|
||||
{"ccw": "_______", "cw": "_______"},
|
||||
{"ccw": "_______", "cw": "_______"}
|
||||
],
|
||||
[
|
||||
{"ccw": "_______", "cw": "_______"},
|
||||
{"ccw": "_______", "cw": "_______"}
|
||||
]
|
||||
]
|
||||
}
|
43
keyboards/keebio/irispad/keymaps/via/keymap.json
Normal file
43
keyboards/keebio/irispad/keymaps/via/keymap.json
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
"config": { "features": {"encoder_map": true, "via": true} },
|
||||
"keyboard": "keebio/irispad",
|
||||
"keymap": "via",
|
||||
"layout": "LAYOUT",
|
||||
"layers": [
|
||||
[
|
||||
"QK_GESC", "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5" ,
|
||||
"KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T" ,
|
||||
"KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G" ,
|
||||
"KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "TL_UPPR",
|
||||
"KC_LGUI", "TL_LOWR", "KC_ENT"
|
||||
],
|
||||
[
|
||||
"KC_TILD", "KC_EXLM", "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC",
|
||||
"KC_GRV" , "_______", "KC_UP" , "_______", "QK_BOOT", "_______",
|
||||
"KC_DEL" , "KC_LEFT", "KC_DOWN", "KC_RGHT", "_______", "KC_LBRC",
|
||||
"RGB_MOD", "EE_CLR" , "_______", "_______", "_______", "KC_LCBR", "KC_LPRN",
|
||||
"_______", "_______", "KC_DEL"
|
||||
],
|
||||
[
|
||||
"KC_F6" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" ,
|
||||
"KC_F12", "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_F11" ,
|
||||
"RGB_MOD", "KC_MPRV", "KC_MNXT", "KC_VOLU", "KC_PGUP", "KC_UNDS",
|
||||
"KC_MUTE", "KC_MSTP", "KC_MPLY", "KC_VOLD", "KC_PGDN", "KC_MINS", "KC_LPRN",
|
||||
"_______", "_______", "_______"
|
||||
]
|
||||
],
|
||||
"encoders": [
|
||||
[
|
||||
{"ccw": "KC_PGUP", "cw": "KC_PGDN"},
|
||||
{"ccw": "KC_VOLD", "cw": "KC_VOLU"}
|
||||
],
|
||||
[
|
||||
{"ccw": "_______", "cw": "_______"},
|
||||
{"ccw": "_______", "cw": "_______"}
|
||||
],
|
||||
[
|
||||
{"ccw": "_______", "cw": "_______"},
|
||||
{"ccw": "_______", "cw": "_______"}
|
||||
]
|
||||
]
|
||||
}
|
21
keyboards/keebio/irispad/readme.md
Normal file
21
keyboards/keebio/irispad/readme.md
Normal file
@ -0,0 +1,21 @@
|
||||
# Irispad
|
||||
|
||||
An ergonomic gamepad based off of the Iris and sold by Keebio. [More info at Keebio](https://keeb.io).
|
||||
|
||||
* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges)
|
||||
* Hardware Supported: RP2040
|
||||
* Hardware Availability: [Keebio](https://keeb.io)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make keebio/irispad/rev8:default
|
||||
|
||||
Example of flashing this keyboard:
|
||||
|
||||
make keebio/irispad/rev8:default:flash
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/newbs_getting_started) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
||||
|
||||
A build guide for this keyboard can be found here: [Iris Build Guide](https://docs.keeb.io/iris-rev6-build-guide)
|
||||
|
||||
Note: The Irispad PCB is a repurposed Iris Rev. 8 PCB from a batch that had all of the diodes flipped, so if you would like to use a regular Iris Rev. 8 PCB, you will need to change `ROW2COL` to `COL2ROW` in `keyboard.json`.
|
11
keyboards/keebio/irispad/rev8/config.h
Normal file
11
keyboards/keebio/irispad/rev8/config.h
Normal file
@ -0,0 +1,11 @@
|
||||
// Copyright 2024 Danny Nguyen (danny@keeb.io)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
|
||||
|
||||
#define I2C_DRIVER I2CD2
|
||||
#define I2C1_SDA_PIN GP10
|
||||
#define I2C1_SCL_PIN GP11
|
151
keyboards/keebio/irispad/rev8/info.json
Normal file
151
keyboards/keebio/irispad/rev8/info.json
Normal file
@ -0,0 +1,151 @@
|
||||
{
|
||||
"keyboard_name": "Irispad Rev. 8",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "ROW2COL",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "GP14", "pin_b": "GP15"},
|
||||
{"pin_a": "GP26", "pin_b": "GP25"}
|
||||
]
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP2", "GP3", "GP29", "GP27", "GP6", "GP5"],
|
||||
"rows": ["GP0", "GP1", "GP7", "GP16", "GP28"]
|
||||
},
|
||||
"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,
|
||||
"digital_rain": true,
|
||||
"dual_beacon": true,
|
||||
"gradient_left_right": true,
|
||||
"gradient_up_down": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"jellybean_raindrops": true,
|
||||
"multisplash": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_rain": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"solid_multisplash": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_splash": true,
|
||||
"splash": true,
|
||||
"typing_heatmap": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 5, "flags": 4},
|
||||
{"x": 18, "y": 5, "flags": 2},
|
||||
{"matrix": [0, 1], "x": 37, "y": 5, "flags": 4},
|
||||
{"matrix": [0, 2], "x": 76, "y": 2, "flags": 4},
|
||||
{"x": 91, "y": 1, "flags": 2},
|
||||
{"matrix": [0, 3], "x": 110, "y": 0, "flags": 4},
|
||||
{"matrix": [0, 4], "x": 146, "y": 5, "flags": 4},
|
||||
{"x": 165, "y": 3, "flags": 2},
|
||||
{"matrix": [0, 5], "x": 183, "y": 3, "flags": 4},
|
||||
{"matrix": [1, 5], "x": 183, "y": 17, "flags": 4},
|
||||
{"matrix": [1, 4], "x": 137, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 3], "x": 110, "y": 13, "flags": 4},
|
||||
{"matrix": [1, 2], "x": 73, "y": 15, "flags": 4},
|
||||
{"matrix": [1, 1], "x": 37, "y": 18, "flags": 4},
|
||||
{"matrix": [1, 0], "x": 0, "y": 18, "flags": 4},
|
||||
{"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 1], "x": 37, "y": 32, "flags": 4},
|
||||
{"matrix": [2, 2], "x": 73, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 3], "x": 110, "y": 27, "flags": 4},
|
||||
{"matrix": [2, 4], "x": 137, "y": 28, "flags": 4},
|
||||
{"matrix": [2, 5], "x": 183, "y": 30, "flags": 4},
|
||||
{"matrix": [3, 5], "x": 183, "y": 43, "flags": 4},
|
||||
{"matrix": [3, 4], "x": 146, "y": 42, "flags": 4},
|
||||
{"matrix": [3, 3], "x": 110, "y": 40, "flags": 4},
|
||||
{"x": 91, "y": 50, "flags": 2},
|
||||
{"matrix": [3, 2], "x": 73, "y": 42, "flags": 4},
|
||||
{"matrix": [3, 1], "x": 37, "y": 45, "flags": 4},
|
||||
{"x": 18, "y": 43, "flags": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 45, "flags": 4},
|
||||
{"matrix": [4, 5], "x": 224, "y": 52, "flags": 4},
|
||||
{"matrix": [4, 4], "x": 206, "y": 64, "flags": 4},
|
||||
{"x": 183, "y": 58, "flags": 2},
|
||||
{"matrix": [4, 3], "x": 165, "y": 58, "flags": 4},
|
||||
{"matrix": [4, 2], "x": 128, "y": 47, "flags": 4}
|
||||
],
|
||||
"max_brightness": 180,
|
||||
"sleep": true
|
||||
},
|
||||
"usb": {
|
||||
"device_version": "8.0.0",
|
||||
"pid": "0x8356"
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "vendor",
|
||||
"pin": "GP9"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0.375},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0.375},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0.125},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0.125},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0.25},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1.375},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1.375},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1.125},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1.125},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1.25},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2.375},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2.375},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2.125},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2.125},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3.375},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3.375},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3.125},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4, "y": 3.125},
|
||||
{"matrix": [3, 5], "x": 5, "y": 3.25},
|
||||
{"matrix": [4, 5], "x": 6.15, "y": 3.75},
|
||||
{"matrix": [4, 2], "x": 3.5, "y": 4.25},
|
||||
{"matrix": [4, 3], "x": 4.5, "y": 4.375},
|
||||
{"matrix": [4, 4], "x": 5.6, "y": 4.75}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
1
keyboards/keebio/irispad/rev8/rules.mk
Normal file
1
keyboards/keebio/irispad/rev8/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
SERIAL_DRIVER = vendor
|
18
keyboards/moky/moky67/config.h
Normal file
18
keyboards/moky/moky67/config.h
Normal file
@ -0,0 +1,18 @@
|
||||
// Copyright 2023 VertorWang (@itarze)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
/* SPI */
|
||||
#define SPI_DRIVER SPIDQ
|
||||
#define SPI_SCK_PIN B3
|
||||
#define SPI_MOSI_PIN B5
|
||||
#define SPI_MISO_PIN B4
|
||||
|
||||
/* Flash */
|
||||
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12
|
||||
|
||||
/* RGB Driver */
|
||||
#define WS2812_SPI_DRIVER SPIDM2
|
||||
#define WS2812_SPI_MOSI_PAL_MODE 0
|
||||
#define WS2812_SPI_SCK_PAL_MODE 0
|
10
keyboards/moky/moky67/halconf.h
Normal file
10
keyboards/moky/moky67/halconf.h
Normal file
@ -0,0 +1,10 @@
|
||||
// Copyright 2023 VertorWang (@itarze)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
#define SPI_USE_WAIT TRUE
|
||||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
|
||||
#include_next <halconf.h>
|
233
keyboards/moky/moky67/info.json
Normal file
233
keyboards/moky/moky67/info.json
Normal file
@ -0,0 +1,233 @@
|
||||
{
|
||||
"manufacturer": "moky",
|
||||
"keyboard_name": "moky67",
|
||||
"url": "",
|
||||
"processor": "WB32FQ95",
|
||||
"bootloader": "wb32-dfu",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"vid": "0xBB4F",
|
||||
"pid": "0x0002",
|
||||
"suspend_wakeup_delay": 1000
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true,
|
||||
"encoder": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["C0", "C1", "C2", "C3", "A6", "B10", "B11", "B12", "B13", "B14", "A10", "C6", "C7", "C8", "C9", "A8", "C4"],
|
||||
"rows": ["A1", "A2", "A3", "A4", "C13"]
|
||||
},
|
||||
"eeprom": {
|
||||
"wear_leveling": {
|
||||
"backing_size": 4096,
|
||||
"driver": "spi_flash"
|
||||
}
|
||||
},
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "B6", "pin_b": "B7"}
|
||||
]
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "spi",
|
||||
"pin": "B15"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"driver": "ws2812",
|
||||
"max_brightness": 100,
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_rain": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"layout": [
|
||||
{"flags": 4, "matrix": [2, 16], "x": 210 , "y": 32 },
|
||||
{"flags": 4, "matrix": [1, 16], "x": 210 , "y": 18 },
|
||||
{"flags": 4, "matrix": [0, 13], "x": 183 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 12], "x": 163 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 11], "x": 149 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 10], "x": 136 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 9], "x": 122 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 8], "x": 109 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 7], "x": 95 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 6], "x": 81 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 5], "x": 68 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 4], "x": 54 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 3], "x": 41 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 2], "x": 27 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 1], "x": 14 , "y": 4 },
|
||||
{"flags": 4, "matrix": [0, 0], "x": 0 , "y": 4 },
|
||||
{"flags": 4, "matrix": [1, 0], "x": 3 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 1], "x": 20 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 2], "x": 34 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 3], "x": 48 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 4], "x": 61 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 5], "x": 75 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 6], "x": 88 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 7], "x": 102 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 8], "x": 115 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 9], "x": 129 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 10], "x": 143 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 11], "x": 156 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 12], "x": 170 , "y": 18 },
|
||||
{"flags": 4, "matrix": [1, 13], "x": 187 , "y": 18 },
|
||||
{"flags": 4, "matrix": [2, 13], "x": 182 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 11], "x": 160 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 10], "x": 146 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 9], "x": 132 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 8], "x": 119 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 7], "x": 105 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 6], "x": 92 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 5], "x": 78 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 4], "x": 64 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 3], "x": 51 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 2], "x": 37 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 1], "x": 24 , "y": 32 },
|
||||
{"flags": 4, "matrix": [2, 0], "x": 5 , "y": 32 },
|
||||
{"flags": 4, "matrix": [3, 0], "x": 8 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 1], "x": 31 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 2], "x": 44 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 3], "x": 58 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 4], "x": 71 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 5], "x": 85 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 6], "x": 98 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 7], "x": 112 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 8], "x": 126 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 9], "x": 139 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 10], "x": 153 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 13], "x": 171 , "y": 46 },
|
||||
{"flags": 4, "matrix": [3, 15], "x": 193 , "y": 50 },
|
||||
{"flags": 4, "matrix": [4, 16], "x": 207 , "y": 64 },
|
||||
{"flags": 4, "matrix": [4, 15], "x": 193 , "y": 64 },
|
||||
{"flags": 4, "matrix": [4, 14], "x": 180 , "y": 64 },
|
||||
{"flags": 4, "matrix": [4, 13], "x": 163 , "y": 60 },
|
||||
{"flags": 4, "matrix": [4, 10], "x": 149 , "y": 60 },
|
||||
{"flags": 4, "matrix": [4, 9], "x": 136 , "y": 60 },
|
||||
{"flags": 4, "matrix": [4, 6], "x": 87 , "y": 60 },
|
||||
{"flags": 4, "matrix": [4, 2], "x": 36 , "y": 60 },
|
||||
{"flags": 4, "matrix": [4, 1], "x": 19 , "y": 60 },
|
||||
{"flags": 4, "matrix": [4, 0], "x": 2 , "y": 60 },
|
||||
{"flags": 4, "matrix": [0, 16], "x": 210 , "y": 4 }
|
||||
],
|
||||
"sleep": true
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 16], "x": 15.5, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 16], "x": 15.5, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [2, 16], "x": 15.5, "y": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 1], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 15], "x": 14.25, "y": 3.25},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 9], "x": 10, "y": 4},
|
||||
{"matrix": [4, 10], "x": 11, "y": 4},
|
||||
{"matrix": [4, 13], "x": 12, "y": 4},
|
||||
{"matrix": [4, 14], "x": 13.25, "y": 4.25},
|
||||
{"matrix": [4, 15], "x": 14.25, "y": 4.25},
|
||||
{"matrix": [4, 16], "x": 15.25, "y": 4.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
50
keyboards/moky/moky67/keymaps/default/keymap.c
Normal file
50
keyboards/moky/moky67/keymaps/default/keymap.c
Normal file
@ -0,0 +1,50 @@
|
||||
// Copyright 2023 VertorWang (@itarze)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, _______,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCRL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = LAYOUT( /* Base */
|
||||
KC_GRV, KC_MYCM, KC_WHOM, KC_MAIL, KC_CALC, KC_MSEL, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______,
|
||||
_______, TO(0), TO(2), _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
|
||||
_______, GU_TOGG, _______, EE_CLR, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI),
|
||||
|
||||
[2] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_BRMD, KC_BRMU, KC_F3, _______, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, 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_SCRL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[3] = LAYOUT( /* FN */
|
||||
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, _______, _______,
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______,
|
||||
_______, TO(0), TO(2), _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
|
||||
_______, _______, _______, EE_CLR, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI),
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
|
||||
[1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
|
||||
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
|
||||
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
|
||||
};
|
||||
|
||||
#endif
|
1
keyboards/moky/moky67/keymaps/default/rules.mk
Normal file
1
keyboards/moky/moky67/keymaps/default/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
50
keyboards/moky/moky67/keymaps/via/keymap.c
Normal file
50
keyboards/moky/moky67/keymaps/via/keymap.c
Normal file
@ -0,0 +1,50 @@
|
||||
// Copyright 2023 VertorWang (@itarze)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, _______,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_SCRL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = LAYOUT( /* Base */
|
||||
KC_GRV, KC_MYCM, KC_WHOM, KC_MAIL, KC_CALC, KC_MSEL, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______,
|
||||
_______, TO(0), TO(2), _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
|
||||
_______, GU_TOGG, _______, EE_CLR, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI),
|
||||
|
||||
[2] = LAYOUT( /* Base */
|
||||
KC_ESC, KC_BRMD, KC_BRMU, KC_F3, _______, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, 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_SCRL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[3] = LAYOUT( /* FN */
|
||||
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, _______, _______,
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______,
|
||||
_______, TO(0), TO(2), _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
|
||||
_______, _______, _______, EE_CLR, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI),
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
#ifdef ENCODER_MAP_ENABLE
|
||||
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
|
||||
[1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
|
||||
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
|
||||
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
|
||||
};
|
||||
|
||||
#endif
|
2
keyboards/moky/moky67/keymaps/via/rules.mk
Normal file
2
keyboards/moky/moky67/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
29
keyboards/moky/moky67/mcuconf.h
Normal file
29
keyboards/moky/moky67/mcuconf.h
Normal file
@ -0,0 +1,29 @@
|
||||
/* Copyright (C) 2023 Westberry Technology Corp., Ltd
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef WB32_GPT_TIM1_IRQ_PRIORITY
|
||||
#define WB32_GPT_TIM1_IRQ_PRIORITY 3
|
||||
|
||||
#undef WB32_SPI_USE_QSPI
|
||||
#define WB32_SPI_USE_QSPI TRUE
|
||||
|
||||
#undef WB32_SPI_USE_SPIM2
|
||||
#define WB32_SPI_USE_SPIM2 TRUE
|
||||
|
26
keyboards/moky/moky67/readme.md
Normal file
26
keyboards/moky/moky67/readme.md
Normal file
@ -0,0 +1,26 @@
|
||||
# moky67
|
||||

|
||||
|
||||
An in-switch RGB LED keyboard with RGB underglow.
|
||||
|
||||
* Keyboard Maintainer: [Vertor](https://github.com/VertorWang)
|
||||
* Hardware Supported: moky67
|
||||
* Hardware Availability: Private GB
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make moky/moky67:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make moky/moky67:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/moky/moky67/rules.mk
Normal file
1
keyboards/moky/moky67/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
30
keyboards/projectd/75/iso/config.h
Normal file
30
keyboards/projectd/75/iso/config.h
Normal file
@ -0,0 +1,30 @@
|
||||
/* Copyright 2023 GSKY <gskyGit@gsky.com.tw>
|
||||
*
|
||||
* 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
|
||||
|
||||
/* External spi flash */
|
||||
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14
|
||||
|
||||
/* SPI Config for LED Driver */
|
||||
#define SPI_DRIVER SPIDQ
|
||||
#define SPI_SCK_PIN A5
|
||||
#define SPI_MOSI_PIN A7
|
||||
#define SPI_MISO_PIN A6
|
||||
|
||||
#define AW20216S_CS_PIN_1 A15
|
||||
#define AW20216S_CS_PIN_2 B15
|
||||
#define AW20216S_EN_PIN C13
|
23
keyboards/projectd/75/iso/halconf.h
Normal file
23
keyboards/projectd/75/iso/halconf.h
Normal file
@ -0,0 +1,23 @@
|
||||
/* Copyright (C) 2023 Westberry Technology (ChangZhou) Corp., Ltd
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
#define SPI_USE_WAIT TRUE
|
||||
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
|
||||
|
||||
#include_next <halconf.h>
|
287
keyboards/projectd/75/iso/info.json
Normal file
287
keyboards/projectd/75/iso/info.json
Normal file
@ -0,0 +1,287 @@
|
||||
{
|
||||
"manufacturer": "ProjectD",
|
||||
"keyboard_name": "ProjectD 75% ISO",
|
||||
"maintainer": "Gsky",
|
||||
"bootloader": "wb32-dfu",
|
||||
"bootmagic": {
|
||||
"matrix": [1, 3]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"dynamic_keymap": {
|
||||
"layer_count": 10
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
|
||||
"rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10"]
|
||||
},
|
||||
"processor": "WB32FQ95",
|
||||
"qmk": {
|
||||
"tap_keycode_delay": 10,
|
||||
"locking": {
|
||||
"enabled": true,
|
||||
"resync": true
|
||||
}
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"alphas_mods": true,
|
||||
"gradient_up_down": true,
|
||||
"gradient_left_right": true,
|
||||
"breathing": true,
|
||||
"band_sat": true,
|
||||
"band_val": true,
|
||||
"band_pinwheel_sat": true,
|
||||
"band_pinwheel_val": true,
|
||||
"band_spiral_sat": true,
|
||||
"band_spiral_val": true,
|
||||
"cycle_all": true,
|
||||
"cycle_left_right": true,
|
||||
"cycle_up_down": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_pinwheel": true,
|
||||
"cycle_spiral": true,
|
||||
"dual_beacon": true,
|
||||
"rainbow_beacon": true,
|
||||
"rainbow_pinwheels": true,
|
||||
"raindrops": true,
|
||||
"jellybean_raindrops": true,
|
||||
"hue_breathing": true,
|
||||
"hue_pendulum": true,
|
||||
"hue_wave": true,
|
||||
"pixel_fractal": true,
|
||||
"pixel_flow": true,
|
||||
"pixel_rain": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"solid_reactive_wide": true,
|
||||
"solid_reactive_multiwide": true,
|
||||
"solid_reactive_cross": true,
|
||||
"solid_reactive_multicross": true,
|
||||
"solid_reactive_nexus": true,
|
||||
"solid_reactive_multinexus": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_multisplash": true
|
||||
},
|
||||
"center_point": [78, 20],
|
||||
"driver": "aw20216s",
|
||||
"sleep": true,
|
||||
"layout": [
|
||||
{ "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 },
|
||||
{ "flags": 4, "matrix": [2, 6], "x": 12.5, "y": 0 },
|
||||
{ "flags": 4, "matrix": [3, 6], "x": 22.5, "y": 0 },
|
||||
{ "flags": 4, "matrix": [3, 1], "x": 32.5, "y": 0 },
|
||||
{ "flags": 4, "matrix": [3, 3], "x": 42.5, "y": 0 },
|
||||
{ "flags": 4, "matrix": [0, 7], "x": 55, "y": 0 },
|
||||
{ "flags": 4, "matrix": [6, 3], "x": 65, "y": 0 },
|
||||
{ "flags": 4, "matrix": [7, 1], "x": 75, "y": 0 },
|
||||
{ "flags": 4, "matrix": [7, 6], "x": 85, "y": 0 },
|
||||
{ "flags": 4, "matrix": [10, 6], "x": 97.5, "y": 0 },
|
||||
{ "flags": 4, "matrix": [10, 7], "x": 107.5, "y": 0 },
|
||||
{ "flags": 4, "matrix": [10, 3], "x": 117.5, "y": 0 },
|
||||
{ "flags": 4, "matrix": [10, 5], "x": 127.5, "y": 0 },
|
||||
{ "flags": 4, "matrix": [9, 7], "x": 140, "y": 0 },
|
||||
{ "flags": 4, "matrix": [6, 5], "x": 155, "y": 0 },
|
||||
|
||||
{ "flags": 4, "matrix": [1, 6], "x": 0, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [1, 7], "x": 10, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [2, 7], "x": 20, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [3, 7], "x": 30, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [4, 7], "x": 40, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [4, 6], "x": 50, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [5, 6], "x": 60, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [5, 7], "x": 70, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [6, 7], "x": 80, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [7, 7], "x": 90, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [8, 7], "x": 100, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [8, 6], "x": 110, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [6, 6], "x": 120, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [10, 1], "x": 130, "y": 12.5 },
|
||||
{ "flags": 4, "matrix": [0, 2], "x": 155, "y": 12.5 },
|
||||
|
||||
{ "flags": 4, "matrix": [1, 1], "x": 0, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [1, 0], "x": 15, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [2, 0], "x": 25, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [3, 0], "x": 35, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [4, 0], "x": 45, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [4, 1], "x": 55, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [5, 1], "x": 65, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [5, 0], "x": 75, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [6, 0], "x": 85, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [7, 0], "x": 95, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [8, 0], "x": 105, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [8, 1], "x": 115, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [6, 1], "x": 125, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [1, 5], "x": 155.5, "y": 22.5 },
|
||||
|
||||
{ "flags": 8, "matrix": [2, 1], "x": 0, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [1, 2], "x": 17.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [2, 2], "x": 27.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [3, 2], "x": 37.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [4, 2], "x": 47.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [4, 3], "x": 57.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [5, 3], "x": 67.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [5, 2], "x": 77.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [6, 2], "x": 87.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [7, 2], "x": 97.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [8, 2], "x": 107.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [8, 3], "x": 117.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [10, 2], "x": 127.5, "y": 32.5 },
|
||||
{ "flags": 4, "matrix": [10, 4], "x": 137.5, "y": 22.5 },
|
||||
{ "flags": 4, "matrix": [2, 5], "x": 155.5, "y": 32.5 },
|
||||
|
||||
{ "flags": 4, "matrix": [0, 0], "x": 0, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [0, 1], "x": 12.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [1, 4], "x": 22.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [2, 4], "x": 32.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [3, 4], "x": 42.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [4, 4], "x": 52.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [4, 5], "x": 62.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [5, 5], "x": 72.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [5, 4], "x": 82.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [6, 4], "x": 92.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [7, 4], "x": 102.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [8, 5], "x": 112.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [9, 1], "x": 122.5, "y": 42.5 },
|
||||
{ "flags": 4, "matrix": [3, 5], "x": 142.5, "y": 45 },
|
||||
{ "flags": 4, "matrix": [7, 5], "x": 155, "y": 42.5 },
|
||||
|
||||
{ "flags": 4, "matrix": [0, 6], "x": 0, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [9, 0], "x": 12.5, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [9, 3], "x": 25, "y": 52.5 },
|
||||
{ "flags": 4, "x": 61.5, "y": 52.5 },
|
||||
{ "flags": 4, "x": 62.5, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [9, 4], "x": 65, "y": 52.5 },
|
||||
{ "flags": 4, "x": 67.5, "y": 52.5 },
|
||||
{ "flags": 4, "x": 68.5, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [9, 5], "x": 100, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [9, 2], "x": 110, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [0, 4], "x": 120, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [0, 3], "x": 132.5, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [7, 3], "x": 142.5, "y": 52.5 },
|
||||
{ "flags": 4, "matrix": [0, 5], "x": 152.5, "y": 52.5 }
|
||||
]
|
||||
},
|
||||
"url": "",
|
||||
"usb": {
|
||||
"device_version": "0.0.2",
|
||||
"pid": "0x0011",
|
||||
"vid": "0x3233"
|
||||
},
|
||||
"eeprom": {
|
||||
"driver": "wear_leveling",
|
||||
"wear_leveling": {
|
||||
"driver": "spi_flash",
|
||||
"backing_size": 4096
|
||||
}
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "matrix": [1, 3], "x": 0, "y": 0 },
|
||||
{ "label": "F1", "matrix": [2, 6], "x": 1.25, "y": 0 },
|
||||
{ "label": "F2", "matrix": [3, 6], "x": 2.25, "y": 0 },
|
||||
{ "label": "F3", "matrix": [3, 1], "x": 3.25, "y": 0 },
|
||||
{ "label": "F4", "matrix": [3, 3], "x": 4.25, "y": 0 },
|
||||
{ "label": "F5", "matrix": [0, 7], "x": 5.5, "y": 0 },
|
||||
{ "label": "F6", "matrix": [6, 3], "x": 6.5, "y": 0 },
|
||||
{ "label": "F7", "matrix": [7, 1], "x": 7.5, "y": 0 },
|
||||
{ "label": "F8", "matrix": [7, 6], "x": 8.5, "y": 0 },
|
||||
{ "label": "F9", "matrix": [10, 6], "x": 9.75, "y": 0 },
|
||||
{ "label": "F10", "matrix": [10, 7], "x": 10.75, "y": 0 },
|
||||
{ "label": "F11", "matrix": [10, 3], "x": 11.75, "y": 0 },
|
||||
{ "label": "F12", "matrix": [10, 5], "x": 12.75, "y": 0 },
|
||||
{ "label": "PrintScreen", "matrix": [9, 7], "x": 14, "y": 0 },
|
||||
{ "label": "Delete", "matrix": [6, 5], "x": 15.5, "y": 0 },
|
||||
|
||||
{ "label": "`", "matrix": [1, 6], "x": 0, "y": 1.25 },
|
||||
{ "label": "1", "matrix": [1, 7], "x": 1, "y": 1.25 },
|
||||
{ "label": "2", "matrix": [2, 7], "x": 2, "y": 1.25 },
|
||||
{ "label": "3", "matrix": [3, 7], "x": 3, "y": 1.25 },
|
||||
{ "label": "4", "matrix": [4, 7], "x": 4, "y": 1.25 },
|
||||
{ "label": "5", "matrix": [4, 6], "x": 5, "y": 1.25 },
|
||||
{ "label": "6", "matrix": [5, 6], "x": 6, "y": 1.25 },
|
||||
{ "label": "7", "matrix": [5, 7], "x": 7, "y": 1.25 },
|
||||
{ "label": "8", "matrix": [6, 7], "x": 8, "y": 1.25 },
|
||||
{ "label": "9", "matrix": [7, 7], "x": 9, "y": 1.25 },
|
||||
{ "label": "0", "matrix": [8, 7], "x": 10, "y": 1.25 },
|
||||
{ "label": "-", "matrix": [8, 6], "x": 11, "y": 1.25 },
|
||||
{ "label": "=", "matrix": [6, 6], "x": 12, "y": 1.25 },
|
||||
{ "label": "Backspace", "matrix": [10, 1], "w": 2, "x": 13, "y": 1.25 },
|
||||
{ "label": "Home", "matrix": [0, 2], "x": 15.5, "y": 1.25 },
|
||||
|
||||
{ "label": "Tab", "matrix": [1, 1], "w": 1.5, "x": 0, "y": 2.25 },
|
||||
{ "label": "Q", "matrix": [1, 0], "x": 1.5, "y": 2.25 },
|
||||
{ "label": "W", "matrix": [2, 0], "x": 2.5, "y": 2.25 },
|
||||
{ "label": "E", "matrix": [3, 0], "x": 3.5, "y": 2.25 },
|
||||
{ "label": "R", "matrix": [4, 0], "x": 4.5, "y": 2.25 },
|
||||
{ "label": "T", "matrix": [4, 1], "x": 5.5, "y": 2.25 },
|
||||
{ "label": "Y", "matrix": [5, 1], "x": 6.5, "y": 2.25 },
|
||||
{ "label": "U", "matrix": [5, 0], "x": 7.5, "y": 2.25 },
|
||||
{ "label": "I", "matrix": [6, 0], "x": 8.5, "y": 2.25 },
|
||||
{ "label": "O", "matrix": [7, 0], "x": 9.5, "y": 2.25 },
|
||||
{ "label": "P", "matrix": [8, 0], "x": 10.5, "y": 2.25 },
|
||||
{ "label": "[", "matrix": [8, 1], "x": 11.5, "y": 2.25 },
|
||||
{ "label": "]", "matrix": [6, 1], "x": 12.5, "y": 2.25 },
|
||||
{ "label": "PGUP", "matrix": [1, 5], "x": 15.5, "y": 2.25 },
|
||||
|
||||
{ "label": "Caps Lock", "matrix": [2, 1], "w": 1.75, "x": 0, "y": 3.25 },
|
||||
{ "label": "A", "matrix": [1, 2], "x": 1.75, "y": 3.25 },
|
||||
{ "label": "S", "matrix": [2, 2], "x": 2.75, "y": 3.25 },
|
||||
{ "label": "D", "matrix": [3, 2], "x": 3.75, "y": 3.25 },
|
||||
{ "label": "F", "matrix": [4, 2], "x": 4.75, "y": 3.25 },
|
||||
{ "label": "G", "matrix": [4, 3], "x": 5.75, "y": 3.25 },
|
||||
{ "label": "H", "matrix": [5, 3], "x": 6.75, "y": 3.25 },
|
||||
{ "label": "J", "matrix": [5, 2], "x": 7.75, "y": 3.25 },
|
||||
{ "label": "K", "matrix": [6, 2], "x": 8.75, "y": 3.25 },
|
||||
{ "label": "L", "matrix": [7, 2], "x": 9.75, "y": 3.25 },
|
||||
{ "label": ";", "matrix": [8, 2], "x": 10.75, "y": 3.25 },
|
||||
{ "label": "'", "matrix": [8, 3], "x": 11.75, "y": 3.25 },
|
||||
{ "label": "|", "matrix": [10, 2], "x": 12.75, "y": 3.25 },
|
||||
{ "label": "ENTER", "matrix": [10, 4], "w": 1.25, "h": 2, "x": 13.75, "y": 2.25 },
|
||||
{ "label": "PGDN", "matrix": [2, 5], "x": 15.5, "y": 3.25 },
|
||||
|
||||
{ "label": "L Shift", "matrix": [0, 0], "w": 1.25, "x": 0, "y": 4.25 },
|
||||
{ "label": "|", "matrix": [0, 1], "x": 1.25, "y": 4.25 },
|
||||
{ "label": "Z", "matrix": [1, 4], "x": 2.25, "y": 4.25 },
|
||||
{ "label": "X", "matrix": [2, 4], "x": 3.25, "y": 4.25 },
|
||||
{ "label": "C", "matrix": [3, 4], "x": 4.25, "y": 4.25 },
|
||||
{ "label": "V", "matrix": [4, 4], "x": 5.25, "y": 4.25 },
|
||||
{ "label": "B", "matrix": [4, 5], "x": 6.25, "y": 4.25 },
|
||||
{ "label": "N", "matrix": [5, 5], "x": 7.25, "y": 4.25 },
|
||||
{ "label": "M", "matrix": [5, 4], "x": 8.25, "y": 4.25 },
|
||||
{ "label": ",", "matrix": [6, 4], "x": 9.25, "y": 4.25 },
|
||||
{ "label": ".", "matrix": [7, 4], "x": 10.25, "y": 4.25 },
|
||||
{ "label": "/", "matrix": [8, 5], "x": 11.25, "y": 4.25 },
|
||||
{ "label": "R Shift", "matrix": [9, 1], "w": 1.75, "x": 12.25, "y": 4.25 },
|
||||
{ "label": "Up", "matrix": [3, 5], "x": 14.25, "y": 4.5 },
|
||||
{ "label": "End", "matrix": [7, 5], "x": 15.5, "y": 4.25 },
|
||||
|
||||
{ "label": "L Ctrl", "matrix": [0, 6], "w": 1.25, "x": 0, "y": 5.25 },
|
||||
{ "label": "L Win", "matrix": [9, 0], "w": 1.25, "x": 1.25, "y": 5.25 },
|
||||
{ "label": "L Alt", "matrix": [9, 3], "w": 1.25, "x": 2.5, "y": 5.25 },
|
||||
{ "label": "Space", "matrix": [9, 4], "w": 6.25, "x": 3.75, "y": 5.25 },
|
||||
{ "label": "R Alt", "matrix": [9, 5], "x": 10, "y": 5.25 },
|
||||
{ "label": "FN", "matrix": [9, 2], "x": 11, "y": 5.25 },
|
||||
{ "label": "R Ctrl", "matrix": [0, 4], "x": 12, "y": 5.25 },
|
||||
{ "label": "Left", "matrix": [0, 3], "x": 13.25, "y": 5.5 },
|
||||
{ "label": "Down", "matrix": [7, 3], "x": 14.25, "y": 5.5 },
|
||||
{ "label": "Right", "matrix": [0, 5], "x": 15.25, "y": 5.5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
206
keyboards/projectd/75/iso/iso.c
Normal file
206
keyboards/projectd/75/iso/iso.c
Normal file
@ -0,0 +1,206 @@
|
||||
/* Copyright 2023 GSKY <gskyGit@gsky.com.tw>
|
||||
*
|
||||
* 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 "iso.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
const aw20216s_led_t g_aw20216s_leds[AW20216S_LED_COUNT] = {
|
||||
/* Refer to IS31 manual for these locations
|
||||
* driver
|
||||
* | R location
|
||||
* | | G location
|
||||
* | | | B location
|
||||
* | | | | */
|
||||
//{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, k00, Esc
|
||||
|
||||
{0, SW1_CS1, SW1_CS2, SW1_CS3}, // Esc
|
||||
{0, SW2_CS1, SW2_CS2, SW2_CS3}, // F1
|
||||
{0, SW3_CS1, SW3_CS2, SW3_CS3}, // F2
|
||||
{0, SW4_CS1, SW4_CS2, SW4_CS3}, // F3
|
||||
{0, SW5_CS1, SW5_CS2, SW5_CS3}, // F4
|
||||
{0, SW6_CS1, SW6_CS2, SW6_CS3}, // F5
|
||||
{0, SW7_CS1, SW7_CS2, SW7_CS3}, // F6
|
||||
{0, SW8_CS1, SW8_CS2, SW8_CS3}, // F7
|
||||
{0, SW9_CS1, SW9_CS2, SW9_CS3}, // F8
|
||||
{0, SW10_CS1, SW10_CS2, SW10_CS3}, // F9
|
||||
{0, SW11_CS1, SW11_CS2, SW11_CS3}, // F10
|
||||
{0, SW12_CS1, SW12_CS2, SW12_CS3}, // F11
|
||||
{1, SW1_CS1, SW1_CS2, SW1_CS3}, // F12
|
||||
{1, SW1_CS4, SW1_CS5, SW1_CS6}, // Printscreen
|
||||
{1, SW3_CS4, SW3_CS5, SW3_CS6}, // Delete
|
||||
|
||||
{0, SW1_CS4, SW1_CS5, SW1_CS6}, // `
|
||||
{0, SW2_CS4, SW2_CS5, SW2_CS6}, // 1
|
||||
{0, SW3_CS4, SW3_CS5, SW3_CS6}, // 2
|
||||
{0, SW4_CS4, SW4_CS5, SW4_CS6}, // 3
|
||||
{0, SW5_CS4, SW5_CS5, SW5_CS6}, // 4
|
||||
{0, SW6_CS4, SW6_CS5, SW6_CS6}, // 5
|
||||
{0, SW7_CS4, SW7_CS5, SW7_CS6}, // 6
|
||||
{0, SW8_CS4, SW8_CS5, SW8_CS6}, // 7
|
||||
{0, SW9_CS4, SW9_CS5, SW9_CS6}, // 8
|
||||
{0, SW10_CS4, SW10_CS5, SW10_CS6}, // 9
|
||||
{0, SW11_CS4, SW11_CS5, SW11_CS6}, // 0
|
||||
{0, SW12_CS4, SW12_CS5, SW12_CS6}, // -
|
||||
{1, SW5_CS1, SW5_CS2, SW5_CS3}, // =
|
||||
{1, SW7_CS1, SW7_CS2, SW7_CS3}, // Backspace
|
||||
{1, SW5_CS4, SW5_CS5, SW5_CS6}, // Home
|
||||
|
||||
{0, SW1_CS7, SW1_CS8, SW1_CS9}, // Tab
|
||||
{0, SW2_CS7, SW2_CS8, SW2_CS9}, // Q
|
||||
{0, SW3_CS7, SW3_CS8, SW3_CS9}, // W
|
||||
{0, SW4_CS7, SW4_CS8, SW4_CS9}, // E
|
||||
{0, SW5_CS7, SW5_CS8, SW5_CS9}, // R
|
||||
{0, SW6_CS7, SW6_CS8, SW6_CS9}, // T
|
||||
{0, SW7_CS7, SW7_CS8, SW7_CS9}, // Y
|
||||
{0, SW8_CS7, SW8_CS8, SW8_CS9}, // U
|
||||
{0, SW9_CS7, SW9_CS8, SW9_CS9}, // I
|
||||
{0, SW10_CS7, SW10_CS8, SW10_CS9}, // O
|
||||
{0, SW11_CS7, SW11_CS8, SW11_CS9}, // P
|
||||
{0, SW12_CS7, SW12_CS8, SW12_CS9}, // [
|
||||
{1, SW8_CS1, SW8_CS2, SW8_CS3}, // ]
|
||||
{1, SW4_CS4, SW4_CS5, SW4_CS6}, // PGUP
|
||||
|
||||
{0, SW1_CS10, SW1_CS11, SW1_CS12}, // Caps Lock
|
||||
{0, SW2_CS10, SW2_CS11, SW2_CS12}, // A
|
||||
{0, SW3_CS10, SW3_CS11, SW3_CS12}, // S
|
||||
{0, SW4_CS10, SW4_CS11, SW4_CS12}, // D
|
||||
{0, SW5_CS10, SW5_CS11, SW5_CS12}, // F
|
||||
{0, SW6_CS10, SW6_CS11, SW6_CS12}, // G
|
||||
{0, SW7_CS10, SW7_CS11, SW7_CS12}, // H
|
||||
{0, SW8_CS10, SW8_CS11, SW8_CS12}, // J
|
||||
{0, SW9_CS10, SW9_CS11, SW9_CS12}, // K
|
||||
{0, SW10_CS10, SW10_CS11, SW10_CS12}, // L
|
||||
{0, SW11_CS10, SW11_CS11, SW11_CS12}, // ;
|
||||
{0, SW12_CS10, SW12_CS11, SW12_CS12}, // '
|
||||
{1, SW9_CS1, SW9_CS2, SW9_CS3}, // ||
|
||||
{1, SW11_CS1, SW11_CS2, SW11_CS3}, // Enter
|
||||
{1, SW7_CS4, SW7_CS5, SW7_CS6}, // PGDN
|
||||
|
||||
{0, SW1_CS13, SW1_CS14, SW1_CS15}, // L Shift
|
||||
{0, SW12_CS13, SW12_CS14, SW12_CS15}, // |
|
||||
{0, SW2_CS13, SW2_CS14, SW2_CS15}, // Z
|
||||
{0, SW3_CS13, SW3_CS14, SW3_CS15}, // X
|
||||
{0, SW4_CS13, SW4_CS14, SW4_CS15}, // C
|
||||
{0, SW5_CS13, SW5_CS14, SW5_CS15}, // V
|
||||
{0, SW6_CS13, SW6_CS14, SW6_CS15}, // B
|
||||
{0, SW7_CS13, SW7_CS14, SW7_CS15}, // N
|
||||
{0, SW8_CS13, SW8_CS14, SW8_CS15}, // M
|
||||
{0, SW9_CS13, SW9_CS14, SW9_CS15}, // ,
|
||||
{0, SW10_CS13, SW10_CS14, SW10_CS15}, // .
|
||||
{0, SW11_CS13, SW11_CS14, SW11_CS15}, // "/""
|
||||
{1, SW8_CS4, SW8_CS5, SW8_CS6}, // R Shift
|
||||
{1, SW9_CS4, SW9_CS5, SW9_CS6}, // Up
|
||||
{1, SW6_CS4, SW6_CS5, SW6_CS6}, // END
|
||||
|
||||
{0, SW1_CS16, SW1_CS17, SW1_CS18}, // L Ctrl
|
||||
{0, SW2_CS16, SW2_CS17, SW2_CS18}, // L Win
|
||||
{0, SW3_CS16, SW3_CS17, SW3_CS18}, // L Alt
|
||||
{0, SW4_CS16, SW4_CS17, SW4_CS18}, // LED1
|
||||
{0, SW5_CS16, SW5_CS17, SW5_CS18}, // LED2
|
||||
{0, SW6_CS16, SW6_CS17, SW6_CS18}, // Space
|
||||
{0, SW7_CS16, SW7_CS17, SW7_CS18}, // LED3
|
||||
{0, SW8_CS16, SW8_CS17, SW8_CS18}, // LED4
|
||||
{0, SW9_CS16, SW9_CS17, SW9_CS18}, // R Alt
|
||||
{0, SW10_CS16, SW10_CS17, SW10_CS18}, // FN
|
||||
{0, SW12_CS16, SW12_CS17, SW12_CS18}, // R Ctrl
|
||||
|
||||
{1, SW10_CS4, SW10_CS5, SW10_CS6}, // Left
|
||||
{1, SW11_CS4, SW11_CS5, SW11_CS6}, // Down
|
||||
{1, SW5_CS10, SW5_CS11, SW5_CS12}, // Right
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef EEPROM_ENABLE
|
||||
|
||||
#include "spi_master.h"
|
||||
|
||||
void spi_init(void) {
|
||||
static bool is_initialised = false;
|
||||
if (!is_initialised) {
|
||||
is_initialised = true;
|
||||
|
||||
// Try releasing special pins for a short time
|
||||
gpio_set_pin_input(SPI_SCK_PIN);
|
||||
gpio_set_pin_input(SPI_MOSI_PIN);
|
||||
gpio_set_pin_input(SPI_MISO_PIN);
|
||||
|
||||
chThdSleepMilliseconds(10);
|
||||
|
||||
palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_ALTERNATE(SPI_SCK_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST | PAL_WB32_CURRENT_LEVEL3);
|
||||
palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_ALTERNATE(SPI_MOSI_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
|
||||
palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_ALTERNATE(SPI_MISO_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
|
||||
if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (host_keyboard_led_state().caps_lock) {
|
||||
RGB_MATRIX_INDICATOR_SET_COLOR(44, 255, 255, 255);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_user(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
switch (keycode) {
|
||||
|
||||
case RGB_R:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_sethsv(0, 255, 255);
|
||||
rgb_matrix_mode(1);
|
||||
}
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
case RGB_G:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_sethsv(85, 255, 255);
|
||||
rgb_matrix_mode(1);
|
||||
}
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
case RGB_B:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_sethsv(170, 255, 255);
|
||||
rgb_matrix_mode(1);
|
||||
}
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
case RGB_W:
|
||||
if (record->event.pressed) {
|
||||
rgb_matrix_sethsv(0, 0, 255);
|
||||
rgb_matrix_mode(1);
|
||||
}
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
case SW_cy:
|
||||
rgb_matrix_sethsv(0, 255, 255);
|
||||
rgb_matrix_mode(13);
|
||||
return false; /* Skip all further processing of this key */
|
||||
|
||||
|
||||
default:
|
||||
return true; /* Process all other keycodes normally */
|
||||
}
|
||||
};
|
27
keyboards/projectd/75/iso/iso.h
Normal file
27
keyboards/projectd/75/iso/iso.h
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright 2023 GSKY <gskyGit@gsky.com.tw>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
enum my_keycodes {
|
||||
RGB_R = QK_KB,
|
||||
RGB_G,
|
||||
RGB_B,
|
||||
RGB_W,
|
||||
SW_cy,
|
||||
};
|
46
keyboards/projectd/75/iso/keymaps/default/keymap.c
Normal file
46
keyboards/projectd/75/iso/keymaps/default/keymap.c
Normal file
@ -0,0 +1,46 @@
|
||||
/* Copyright 2023 GSKY <gskyGit@gsky.com.tw>
|
||||
*
|
||||
* 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
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[0] = 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_PSCR, KC_DEL,
|
||||
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_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_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
[1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
|
||||
_______, _______, _______, _______, MO(2), _______, _______, RGB_SPD, RGB_VAD, RGB_SPI),
|
||||
[2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_R, RGB_G, RGB_B, RGB_W, SW_cy, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
46
keyboards/projectd/75/iso/keymaps/via/keymap.c
Normal file
46
keyboards/projectd/75/iso/keymaps/via/keymap.c
Normal file
@ -0,0 +1,46 @@
|
||||
/* Copyright 2023 GSKY <gskyGit@gsky.com.tw>
|
||||
*
|
||||
* 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
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: Base Layer (Default Layer)
|
||||
*/
|
||||
[0] = 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_PSCR, KC_DEL,
|
||||
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_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_PGUP,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
[1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, RGB_TOG, RGB_MOD, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______,
|
||||
_______, _______, _______, _______, MO(2), _______, _______, RGB_SPD, RGB_VAD, RGB_SPI),
|
||||
[2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_R, RGB_G, RGB_B, RGB_W, SW_cy, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
1
keyboards/projectd/75/iso/keymaps/via/rules.mk
Normal file
1
keyboards/projectd/75/iso/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
25
keyboards/projectd/75/iso/mcuconf.h
Normal file
25
keyboards/projectd/75/iso/mcuconf.h
Normal file
@ -0,0 +1,25 @@
|
||||
/* Copyright (C) 2023 Westberry Technology (ChangZhou) Corp., Ltd
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef WB32_SPI_USE_QSPI
|
||||
#define WB32_SPI_USE_QSPI TRUE
|
||||
|
||||
#undef WB32_SPI_USE_SPIM2
|
||||
#define WB32_SPI_USE_SPIM2 TRUE
|
25
keyboards/projectd/75/iso/readme.md
Normal file
25
keyboards/projectd/75/iso/readme.md
Normal file
@ -0,0 +1,25 @@
|
||||
# ProjectD 75% ISO
|
||||
|
||||

|
||||
|
||||
A 75% keyboard with the WestBerry Q95 microcontroller integrated into PCB.
|
||||
|
||||
* Keyboard Maintainer: [GSKY](https://github.com/gksygithub)
|
||||
* Hardware Supported: ProjectD 75% ISO PCB
|
||||
* Hardware Availability: [GSKY](https://github.com/gskygithub/projectd_75_iso)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make projectd/75/iso:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make projectd/75/iso:default:flash
|
||||
|
||||
To reset the board into bootloader mode, do one of the following:
|
||||
|
||||
* Hold the Reset switch mounted under the space key after the USB cable is connected
|
||||
* Hold the Esc key while connecting the USB cable (also erases persistent settings)
|
||||
* Fn+Alt+Tab will reset the board to bootloader mode
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
1
keyboards/projectd/75/iso/rules.mk
Normal file
1
keyboards/projectd/75/iso/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
159
keyboards/rot13labs/h4ckb0ard/info.json
Normal file
159
keyboards/rot13labs/h4ckb0ard/info.json
Normal file
@ -0,0 +1,159 @@
|
||||
{
|
||||
"manufacturer": "rot13labs",
|
||||
"keyboard_name": "H4CKB0ARD",
|
||||
"maintainer": "c0ldbru",
|
||||
"bootloader": "usbasploader",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgb_matrix": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["C0", "C1", "C2", "C3", "C4", "C5", "D0", "D1", "B5", "D7", "D6", "D4"],
|
||||
"rows": ["B0", "B1", "B2", "B3"]
|
||||
},
|
||||
"processor": "atmega328p",
|
||||
"usb": {
|
||||
"pid": "0xBABE",
|
||||
"vid": "0xBEEF",
|
||||
"device_version": "13.3.7",
|
||||
"no_startup_check": true
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "B4"
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"animations": {
|
||||
"cycle_up_down": true,
|
||||
"jellybean_raindrops": true,
|
||||
"cycle_out_in": true,
|
||||
"cycle_out_in_dual": true,
|
||||
"pixel_fractal": true,
|
||||
"rainbow_moving_chevron": true,
|
||||
"cycle_pinwheel": true,
|
||||
"pixel_rain": true,
|
||||
"dual_beacon": true,
|
||||
"hue_breathing": true,
|
||||
"typing_heatmap": true,
|
||||
"digital_rain": true,
|
||||
"solid_reactive_simple": true,
|
||||
"solid_reactive": true,
|
||||
"splash": true,
|
||||
"multisplash": true,
|
||||
"solid_splash": true,
|
||||
"solid_reactive_cross": true
|
||||
},
|
||||
"driver": "ws2812",
|
||||
"default": {
|
||||
"animation": "cycle_up_down"
|
||||
},
|
||||
"layout": [
|
||||
{"flags": 4, "matrix": [0, 11], "x": 0, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 10], "x": 1, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 9], "x": 2, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 8], "x": 3, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 7], "x": 4, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 6], "x": 5, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 5], "x": 6, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 4], "x": 7, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 3], "x": 8, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 2], "x": 9, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 1], "x": 10, "y": 0},
|
||||
{"flags": 4, "matrix": [0, 0], "x": 11, "y": 0},
|
||||
|
||||
{"flags": 4, "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 1], "x": 1.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 2], "x": 2.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 3], "x": 3.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 4], "x": 4.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 5], "x": 5.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 6], "x": 6.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 7], "x": 7.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 8], "x": 8.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 9], "x": 9.25, "y": 1},
|
||||
{"flags": 4, "matrix": [1, 11], "x": 10.25, "y": 1},
|
||||
|
||||
{"flags": 4, "matrix": [2, 11], "x": 0, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 10], "x": 1.75, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 8], "x": 2.75, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 7], "x": 3.75, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 6], "x": 4.75, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 4], "x": 6.75, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 3], "x": 7.75, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 2], "x": 8.75, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 1], "x": 10.5, "y": 2},
|
||||
{"flags": 4, "matrix": [2, 0], "x": 11.5, "y": 2},
|
||||
|
||||
{"flags": 4, "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"flags": 4, "matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"flags": 4, "matrix": [3, 2], "x": 2.5, "y": 3},
|
||||
{"flags": 4, "matrix": [3, 4], "x": 3.5, "y": 3},
|
||||
{"flags": 4, "matrix": [3, 6], "x": 5.75, "y": 3},
|
||||
{"flags": 4, "matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"flags": 4, "matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"flags": 4, "matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"flags": 4, "matrix": [3, 11], "x": 11.5, "y": 3}
|
||||
],
|
||||
"max_brightness": 100
|
||||
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0, "w": 1.5},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
|
||||
{"matrix": [1, 1], "x": 1.25, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.25, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.25, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.25, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.25, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.25, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.25, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.25, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.25, "y": 1},
|
||||
{"matrix": [1, 11], "x": 10.25, "y": 1, "w": 2.25},
|
||||
|
||||
{"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, "w": 1.75},
|
||||
{"matrix": [2, 10], "x": 10.5, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.5, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 2], "x": 2.5, "y": 3},
|
||||
{"matrix": [3, 4], "x": 3.5, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 6], "x": 5.75, "y": 3, "w": 2.75},
|
||||
{"matrix": [3, 8], "x": 8.5, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.5, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.5, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.5, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
45
keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c
Executable file
45
keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c
Executable file
@ -0,0 +1,45 @@
|
||||
/* Copyright 2024 rot13labs
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RCTL, KC_UP, DF(1),
|
||||
KC_LCTL, KC_LGUI, MO(2), KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
/* FN - symbols & audio controls */
|
||||
[1] = LAYOUT(
|
||||
KC_ESC, KC_MINS, KC_EQL, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_LBRC, KC_RBRC, KC_BSLS, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, KC_VOLU, DF(2),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT),
|
||||
|
||||
/* ALT - numbers */
|
||||
[2] = LAYOUT(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RCTL, KC_UP, DF(3),
|
||||
KC_LCTL, KC_LGUI, _______, MO(3), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||
|
||||
/* SPC - RGB control layer */
|
||||
[3] = LAYOUT(
|
||||
KC_ESC, KC_Q, RGB_M_SW, KC_E, RGB_M_R, KC_T, KC_Y, RGB_SPD, RGB_SPI, RGB_RMOD, RGB_MOD, KC_DEL,
|
||||
KC_TAB, KC_A, RGB_M_P, KC_D, KC_F, KC_G, KC_H, RGB_SAD, RGB_SAI, RGB_TOG, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, RGB_M_B, KC_N, KC_M, KC_RCTL, RGB_VAI, DF(0),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, _______, RGB_HUD, RGB_VAD, RGB_HUI),
|
||||
};
|
19
keyboards/rot13labs/h4ckb0ard/readme.md
Normal file
19
keyboards/rot13labs/h4ckb0ard/readme.md
Normal file
@ -0,0 +1,19 @@
|
||||
# h4ckb0ard
|
||||
|
||||

|
||||
|
||||
A 40% keyboard for hackers using the c0ldbru layout, designed to minimize space without requiring users to buy extra keycaps just to use less.
|
||||
|
||||
* Keyboard Maintainer: [c0ldbru](https://github.com/c0ldbru)
|
||||
* Hardware Supported: h4ckb0ard // atmega328p
|
||||
* Hardware Availability: [rot13labs](https://rot13labs.com)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make rot13labs/h4ckb0ard:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
You can enter the bootloader to flash on new firmware by holding down the ESC key while plugging the h4ckb0ard in.
|
1
keyboards/rot13labs/h4ckb0ard/rules.mk
Normal file
1
keyboards/rot13labs/h4ckb0ard/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
92
keyboards/sleepy_craft_studios/sleepy_keeb/info.json
Normal file
92
keyboards/sleepy_craft_studios/sleepy_keeb/info.json
Normal file
@ -0,0 +1,92 @@
|
||||
{
|
||||
"manufacturer": "Sleepy Craft Studios",
|
||||
"keyboard_name": "sleepy_keeb",
|
||||
"maintainer": "Sleepy Craft Studios",
|
||||
"development_board": "promicro",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D7", "E6", "B4", "B5", "F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
|
||||
"rows": ["D1", "D0", "D4", "C6"]
|
||||
},
|
||||
"rgblight": {
|
||||
"animations": {
|
||||
"alternating": true,
|
||||
"breathing": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"static_gradient": true,
|
||||
"twinkle": true
|
||||
},
|
||||
"led_count": 17
|
||||
},
|
||||
"url": "https://sleepycraftstudios.com/downloads/sleepy-keeb",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x0001",
|
||||
"vid": "0x7373"
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D2"
|
||||
},
|
||||
"community_layouts": ["planck_mit"],
|
||||
"layouts": {
|
||||
"LAYOUT_planck_mit": {
|
||||
"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": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11, "y": 2},
|
||||
{"matrix": [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, 6], "x": 5, "y": 3, "w": 2},
|
||||
{"matrix": [3, 7], "x": 7, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11, "y": 3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
// Copyright 2024 Sleepy Craft Studios
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum keeb_layers {
|
||||
_BASE,
|
||||
_RAISE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_UP, KC_DOWN, KC_LEFT, KC_RGHT
|
||||
),
|
||||
[_RAISE] = LAYOUT_planck_mit(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_MOD,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
[_FN] = LAYOUT_planck_mit(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RGB_TOG,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
};
|
@ -0,0 +1,31 @@
|
||||
// Copyright 2024 Sleepy Craft Studios
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum keeb_layers {
|
||||
_BASE,
|
||||
_RAISE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_planck_mit(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_UP, KC_DOWN, KC_LEFT, KC_RGHT
|
||||
),
|
||||
[_RAISE] = LAYOUT_planck_mit(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_MOD,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
[_FN] = LAYOUT_planck_mit(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RGB_TOG,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
};
|
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
27
keyboards/sleepy_craft_studios/sleepy_keeb/readme.md
Normal file
27
keyboards/sleepy_craft_studios/sleepy_keeb/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Sleepy Keeb
|
||||
|
||||

|
||||
|
||||
The Sleepy Keeb is a hand-wired keyboard based on the 4x12 Planck layout. The Sleepy Keeb integrates hot-swap socket and diode holders into the plate for easier building.
|
||||
|
||||
- Keyboard Maintainer: [Sleepy Craft Studios](https://github.com/sleepy-craft-studios)
|
||||
- Hardware Supported: Pro Micro development board (and clones/adapations of)
|
||||
- Hardware Availability: [Sleepy Craft Studios Shop](https://sleepycraftstudios.com/shop) for kits and full builds, [Sleepy Craft Studios Downloads](https://sleepycraftstudios.com/downloads) for CC-BY-SA-NC licensed stl files for 3D printing.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make sleepy_keeb:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make sleepy_keeb:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
- **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
- **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/sleepy_craft_studios/sleepy_keeb/rules.mk
Normal file
1
keyboards/sleepy_craft_studios/sleepy_keeb/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
19
keyboards/vertex/cycle7/config.h
Normal file
19
keyboards/vertex/cycle7/config.h
Normal file
@ -0,0 +1,19 @@
|
||||
/* Copyright 2022 Eason
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#define WS2812_SPI_DRIVER SPID2
|
||||
#define WS2812_SPI_MOSI_PAL_MODE 5
|
21
keyboards/vertex/cycle7/halconf.h
Normal file
21
keyboards/vertex/cycle7/halconf.h
Normal file
@ -0,0 +1,21 @@
|
||||
/* Copyright 2022 Eason
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_SPI TRUE
|
||||
|
||||
#include_next <halconf.h>
|
739
keyboards/vertex/cycle7/info.json
Normal file
739
keyboards/vertex/cycle7/info.json
Normal file
@ -0,0 +1,739 @@
|
||||
{
|
||||
"keyboard_name": "Cycle7",
|
||||
"manufacturer": "vertex",
|
||||
"maintainer": "Eason",
|
||||
"usb": {
|
||||
"vid": "0x9A94",
|
||||
"pid": "0x9F70",
|
||||
"device_version": "0.0.1",
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"rgblight": true
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 1,
|
||||
"animations": {
|
||||
"breathing": true,
|
||||
"rainbow_mood": true,
|
||||
"rainbow_swirl": true,
|
||||
"snake": true,
|
||||
"knight": true,
|
||||
"christmas": true,
|
||||
"static_gradient": true,
|
||||
"rgb_test": true,
|
||||
"alternating": true,
|
||||
"twinkle": true
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "B15",
|
||||
"driver": "spi"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"rows": [ "A8", "A9", "A10", "B3", "A15"],
|
||||
"cols": [ "A3", "A2", "A1", "A0", "C15", "C14", "B9", "B8", "B7", "B6", "A7", "A6", "A5", "A4", "B5", "B4"]
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"processor": "STM32F103",
|
||||
"bootloader": "uf2boot",
|
||||
"community_layouts": [
|
||||
"tkl_nofrow_ansi",
|
||||
"tkl_nofrow_iso"
|
||||
],
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "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": [4, 7], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 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, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_nofrow_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [4, 7], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_nofrow_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_nofrow_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_nofrow_iso_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [4, 7], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [4, 7], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_nofrow_ansi_tsangan": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_nofrow_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, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [4, 7], "x": 14, "y": 0},
|
||||
{"matrix": [0, 14], "x": 15.25, "y": 0},
|
||||
{"matrix": [0, 15], "x": 16.25, "y": 0},
|
||||
{"matrix": [2, 14], "x": 17.25, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 14], "x": 15.25, "y": 1},
|
||||
{"matrix": [1, 15], "x": 16.25, "y": 1},
|
||||
{"matrix": [2, 15], "x": 17.25, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [3, 15], "x": 16.25, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 14], "x": 15.25, "y": 4},
|
||||
{"matrix": [4, 15], "x": 16.25, "y": 4},
|
||||
{"matrix": [3, 14], "x": 17.25, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
27
keyboards/vertex/cycle7/keymaps/default/keymap.c
Normal file
27
keyboards/vertex/cycle7/keymaps/default/keymap.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright 2022 vertex
|
||||
*
|
||||
* 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_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_1, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LSFT, KC_SLSH, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
27
keyboards/vertex/cycle7/keymaps/via/keymap.c
Normal file
27
keyboards/vertex/cycle7/keymaps/via/keymap.c
Normal file
@ -0,0 +1,27 @@
|
||||
/* Copyright 2022 vertex
|
||||
*
|
||||
* 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_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_1, KC_INS, KC_HOME, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LSFT, KC_SLSH, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
};
|
2
keyboards/vertex/cycle7/keymaps/via/rules.mk
Normal file
2
keyboards/vertex/cycle7/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
22
keyboards/vertex/cycle7/mcuconf.h
Normal file
22
keyboards/vertex/cycle7/mcuconf.h
Normal file
@ -0,0 +1,22 @@
|
||||
/* Copyright 2022 Eason
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
|
||||
#undef STM32_SPI_USE_SPI2
|
||||
#define STM32_SPI_USE_SPI2 TRUE
|
25
keyboards/vertex/cycle7/readme.md
Normal file
25
keyboards/vertex/cycle7/readme.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Cycle7
|
||||
|
||||

|
||||
|
||||
* A customizable hotswap 70% keyboard.
|
||||
|
||||
* Keyboard Maintainer: [EASON](https://github.com/EasonQian1)
|
||||
* Hardware Supported: Cycle7 PCB
|
||||
* Hardware Availability: [EASON](https://github.com/EasonQian1)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make vertex/cycle7:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make vertex/cycle7: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 ESC in the keyboard then replug
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT`
|
1
keyboards/vertex/cycle7/rules.mk
Normal file
1
keyboards/vertex/cycle7/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
54
keyboards/viktus/tx_roundup_pad/info.json
Normal file
54
keyboards/viktus/tx_roundup_pad/info.json
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"manufacturer": "Viktus Design LLC",
|
||||
"keyboard_name": "TX Roundup Pad",
|
||||
"maintainer": "BlindAssassin111",
|
||||
"build": {
|
||||
"lto": true
|
||||
},
|
||||
"development_board": "promicro",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F7", "F6", "F5", "F4"],
|
||||
"rows": ["B5", "B4", "E6", "D7", "C6", "D4"]
|
||||
},
|
||||
"url": "https://viktus.design",
|
||||
"usb": {
|
||||
"device_version": "1.0.0",
|
||||
"pid": "0x5458",
|
||||
"vid": "0x5644"
|
||||
},
|
||||
"community_layouts": [ "numpad_6x4" ],
|
||||
"layouts": {
|
||||
"LAYOUT_numpad_6x4": {
|
||||
"layout": [
|
||||
{"label": "K00", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "K01", "matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"label": "K02", "matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"label": "K03", "matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"label": "K10", "matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"label": "K11", "matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"label": "K12", "matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"label": "K13", "matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"label": "K20", "matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"label": "K21", "matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"label": "K22", "matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"label": "K30", "matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"label": "K31", "matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"label": "K32", "matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"label": "K23", "matrix": [2, 3], "x": 3, "y": 2, "h": 2},
|
||||
{"label": "K40", "matrix": [4, 0], "x": 0, "y": 4},
|
||||
{"label": "K41", "matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"label": "K42", "matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"label": "K51", "matrix": [5, 1], "x": 0, "y": 5, "w": 2},
|
||||
{"label": "K52", "matrix": [5, 2], "x": 2, "y": 5},
|
||||
{"label": "K53", "matrix": [5, 3], "x": 3, "y": 4, "h": 2}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
28
keyboards/viktus/tx_roundup_pad/keymaps/default/keymap.c
Normal file
28
keyboards/viktus/tx_roundup_pad/keymaps/default/keymap.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright 2024 Viktus Design LLC
|
||||
*
|
||||
* 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_numpad_6x4(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4,
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
)
|
||||
};
|
28
keyboards/viktus/tx_roundup_pad/keymaps/via/keymap.c
Normal file
28
keyboards/viktus/tx_roundup_pad/keymaps/via/keymap.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* Copyright 2024 Viktus Design LLC
|
||||
*
|
||||
* 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_numpad_6x4(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4,
|
||||
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT
|
||||
)
|
||||
};
|
1
keyboards/viktus/tx_roundup_pad/keymaps/via/rules.mk
Normal file
1
keyboards/viktus/tx_roundup_pad/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
27
keyboards/viktus/tx_roundup_pad/readme.md
Normal file
27
keyboards/viktus/tx_roundup_pad/readme.md
Normal file
@ -0,0 +1,27 @@
|
||||
# TX Roundup Pad
|
||||
|
||||

|
||||
|
||||
The PCB badge for the April 27, 2024 Texas Roundup meet in Dallas, Tx.
|
||||
|
||||
- Keyboard Maintainer: BlindAssassin111
|
||||
- Hardware Supported: TX Roundup Pad Badge PCB
|
||||
- Hardware Availability: At meetup only
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make viktus/tx_roundup_pad:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make viktus/tx_roundup_pad:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
1
keyboards/viktus/tx_roundup_pad/rules.mk
Normal file
1
keyboards/viktus/tx_roundup_pad/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
@ -35,4 +35,4 @@ def userspace_compile(cli):
|
||||
if len(keyboard_keymap_targets) > 0:
|
||||
build_targets.extend(search_keymap_targets(keyboard_keymap_targets))
|
||||
|
||||
mass_compile_targets(list(set(build_targets)), cli.args.clean, cli.args.dry_run, cli.config.userspace_compile.no_temp, cli.config.userspace_compile.parallel, **build_environment(cli.args.env))
|
||||
return mass_compile_targets(list(set(build_targets)), cli.args.clean, cli.args.dry_run, cli.config.userspace_compile.no_temp, cli.config.userspace_compile.parallel, **build_environment(cli.args.env))
|
||||
|
@ -222,8 +222,8 @@ def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str
|
||||
continue
|
||||
valid_keymaps = filter(filter_class.apply, valid_keymaps)
|
||||
|
||||
value_str = f", {{fg_cyan}}{value}{{fg_reset}})" if value is not None else ""
|
||||
cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}}{value_str}...')
|
||||
value_str = f", {{fg_cyan}}{value}{{fg_reset}}" if value is not None else ""
|
||||
cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}}{value_str})...')
|
||||
|
||||
elif equals_match is not None:
|
||||
key = equals_match.group('key')
|
||||
|
@ -12,29 +12,29 @@ from qmk.json_encoders import UserspaceJSONEncoder
|
||||
|
||||
|
||||
def qmk_userspace_paths():
|
||||
test_dirs = {}
|
||||
test_dirs = set()
|
||||
|
||||
# If we're already in a directory with a qmk.json and a keyboards or layouts directory, interpret it as userspace
|
||||
if environ.get('ORIG_CWD') is not None:
|
||||
current_dir = Path(environ['ORIG_CWD'])
|
||||
while len(current_dir.parts) > 1:
|
||||
if (current_dir / 'qmk.json').is_file():
|
||||
test_dirs[current_dir] = True
|
||||
test_dirs.add(current_dir)
|
||||
current_dir = current_dir.parent
|
||||
|
||||
# If we have a QMK_USERSPACE environment variable, use that
|
||||
if environ.get('QMK_USERSPACE') is not None:
|
||||
current_dir = Path(environ['QMK_USERSPACE'])
|
||||
current_dir = Path(environ['QMK_USERSPACE']).expanduser()
|
||||
if current_dir.is_dir():
|
||||
test_dirs[current_dir] = True
|
||||
test_dirs.add(current_dir)
|
||||
|
||||
# If someone has configured a directory, use that
|
||||
if cli.config.user.overlay_dir is not None:
|
||||
current_dir = Path(cli.config.user.overlay_dir)
|
||||
current_dir = Path(cli.config.user.overlay_dir).expanduser().resolve()
|
||||
if current_dir.is_dir():
|
||||
test_dirs[current_dir] = True
|
||||
test_dirs.add(current_dir)
|
||||
|
||||
return list(test_dirs.keys())
|
||||
return list(test_dirs)
|
||||
|
||||
|
||||
def qmk_userspace_validate(path):
|
||||
|
@ -711,15 +711,16 @@ static bool pointing_handlers_master(matrix_row_t master_matrix[], matrix_row_t
|
||||
}
|
||||
# endif
|
||||
static uint32_t last_update = 0;
|
||||
static uint32_t last_cpi_update = 0;
|
||||
static uint16_t last_cpi = 0;
|
||||
report_mouse_t temp_state;
|
||||
uint16_t temp_cpi;
|
||||
bool okay = read_if_checksum_mismatch(GET_POINTING_CHECKSUM, GET_POINTING_DATA, &last_update, &temp_state, &split_shmem->pointing.report, sizeof(temp_state));
|
||||
if (okay) pointing_device_set_shared_report(temp_state);
|
||||
temp_cpi = pointing_device_get_shared_cpi();
|
||||
if (temp_cpi && last_cpi != temp_cpi) {
|
||||
if (temp_cpi) {
|
||||
split_shmem->pointing.cpi = temp_cpi;
|
||||
okay = transport_write(PUT_POINTING_CPI, &split_shmem->pointing.cpi, sizeof(split_shmem->pointing.cpi));
|
||||
okay = send_if_condition(PUT_POINTING_CPI, &last_cpi_update, last_cpi != temp_cpi, &split_shmem->pointing.cpi, sizeof(split_shmem->pointing.cpi));
|
||||
if (okay) {
|
||||
last_cpi = temp_cpi;
|
||||
}
|
||||
|
19
tests/housekeeping/config.h
Normal file
19
tests/housekeeping/config.h
Normal file
@ -0,0 +1,19 @@
|
||||
/* Copyright 2024 leep-frog
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "test_common.h"
|
18
tests/housekeeping/test.mk
Normal file
18
tests/housekeeping/test.mk
Normal file
@ -0,0 +1,18 @@
|
||||
# Copyright 2024 leep-frog
|
||||
#
|
||||
# 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/>.
|
||||
|
||||
# --------------------------------------------------------------------------------
|
||||
# Keep this file, even if it is empty, as a marker that this folder contains tests
|
||||
# --------------------------------------------------------------------------------
|
68
tests/housekeeping/test_housekeeping.cpp
Normal file
68
tests/housekeeping/test_housekeeping.cpp
Normal file
@ -0,0 +1,68 @@
|
||||
/* Copyright 2024 leep-frog
|
||||
*
|
||||
* 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 "keyboard_report_util.hpp"
|
||||
#include "keycode.h"
|
||||
#include "test_common.hpp"
|
||||
#include "action_tapping.h"
|
||||
#include "test_keymap_key.hpp"
|
||||
|
||||
using testing::_;
|
||||
|
||||
class HousekeepingMock {
|
||||
public:
|
||||
virtual ~HousekeepingMock() {}
|
||||
|
||||
// mock methods
|
||||
MOCK_METHOD0(housekeeping_task_kb, void(void));
|
||||
MOCK_METHOD0(housekeeping_task_user, void(void));
|
||||
};
|
||||
|
||||
class Housekeeping : public TestFixture {
|
||||
public:
|
||||
Housekeeping() {
|
||||
_housekeepingMock.reset(new ::testing::NiceMock<HousekeepingMock>());
|
||||
}
|
||||
virtual ~Housekeeping() {
|
||||
_housekeepingMock.reset();
|
||||
}
|
||||
|
||||
static std::unique_ptr<HousekeepingMock> _housekeepingMock;
|
||||
};
|
||||
|
||||
std::unique_ptr<HousekeepingMock> Housekeeping::_housekeepingMock;
|
||||
|
||||
extern "C" {
|
||||
void housekeeping_task_kb(void) {
|
||||
if (Housekeeping::_housekeepingMock) {
|
||||
Housekeeping::_housekeepingMock->housekeeping_task_kb();
|
||||
}
|
||||
}
|
||||
|
||||
void housekeeping_task_user(void) {
|
||||
if (Housekeeping::_housekeepingMock) {
|
||||
Housekeeping::_housekeepingMock->housekeeping_task_user();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(Housekeeping, Works) {
|
||||
TestDriver driver;
|
||||
|
||||
EXPECT_CALL(*_housekeepingMock, housekeeping_task_kb()).Times(1);
|
||||
EXPECT_CALL(*_housekeepingMock, housekeeping_task_user()).Times(1);
|
||||
run_one_scan_loop();
|
||||
}
|
@ -58,7 +58,8 @@ void TestFixture::TearDownTestCase() {}
|
||||
TestFixture::TestFixture() {
|
||||
m_this = this;
|
||||
timer_clear();
|
||||
test_logger.info() << "tapping term is " << +GET_TAPPING_TERM(KC_TRANSPARENT, &(keyrecord_t){}) << "ms" << std::endl;
|
||||
keyrecord_t empty_keyrecord = {0};
|
||||
test_logger.info() << "tapping term is " << +GET_TAPPING_TERM(KC_TRANSPARENT, &empty_keyrecord) << "ms" << std::endl;
|
||||
}
|
||||
|
||||
TestFixture::~TestFixture() {
|
||||
@ -175,6 +176,7 @@ void TestFixture::idle_for(unsigned time) {
|
||||
test_logger.trace() << +time << " keyboard task " << (time > 1 ? "loops" : "loop") << std::endl;
|
||||
for (unsigned i = 0; i < time; i++) {
|
||||
keyboard_task();
|
||||
housekeeping_task();
|
||||
advance_time(1);
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ _qmk_install_prepare() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
brew update && brew upgrade --formulae --ignore-pinned
|
||||
brew update && brew upgrade --formulae
|
||||
}
|
||||
|
||||
_qmk_install() {
|
||||
|
Loading…
Reference in New Issue
Block a user