@ -1,20 +0,0 @@ | |||
// Copyright %YEAR% %REAL_NAME% (@%USER_NAME%) | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#pragma once | |||
/* | |||
* Feature disable options | |||
* These options are also useful to firmware size reduction. | |||
*/ | |||
/* disable debug print */ | |||
//#define NO_DEBUG | |||
/* disable print */ | |||
//#define NO_PRINT | |||
/* disable action features */ | |||
//#define NO_ACTION_LAYER | |||
//#define NO_ACTION_TAPPING | |||
//#define NO_ACTION_ONESHOT |
@ -0,0 +1,367 @@ | |||
# QMK Breaking Changes - 2024 February 25 Changelog | |||
## Notable Features :id=notable-features | |||
_0.24.0_ is mainly a maintenance release of QMK Firmware -- as per last few breaking changes cycles, there have been a lot of behind-the-scenes changes, mainly: | |||
* continued purge of user keymaps | |||
* migration of RGB matrix configuration into `info.json` files | |||
* standardisation of `LAYOUT` naming | |||
* keyboard relocations | |||
* addressing technical debt | |||
## Changes Requiring User Action :id=changes-requiring-user-action | |||
### Windows Driver Changes ([QMK Toolbox 0.3.0 Release](https://github.com/qmk/qmk_toolbox/releases/tag/0.3.0)) | |||
Flashing keyboards that target `atmel-dfu` or `qmk-dfu` on Windows using `qmk flash` or QMK Toolbox have traditionally used _libusb_ for access to the DFU USB device. Since QMK Toolbox 0.3.0, this has changed to WinUSB. | |||
If you update QMK Toolbox or update QMK MSYS, you may find that flashing Atmel DFU keyboards no longer functions as intended. If you strike such issues when flashing new firmware, you will need to replace the _libusb_ driver with _WinUSB_ using Zadig. You can follow the [Recovering from Installation to Wrong Device](driver_installation_zadig.md#recovering-from-installation-to-wrong-device) instructions to replace the driver associated with the Atmel DFU bootloader, skipping the section about removal as Zadig will safely replace the driver instead. Please ensure your keyboard is in bootloader mode and has _libusb_ as the existing driver before attempting to use Zadig to replace the driver. If instead you see _HidUsb_ you're not in bootloader mode and should not continue with driver replacement. | |||
### Updated Keyboard Codebases :id=updated-keyboard-codebases | |||
One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](newbs_external_userspace.md) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository. | |||
| Old Keyboard Name | New Keyboard Name | | |||
|-------------------------|---------------------------------| | |||
| enter67 | kezewa/enter67 | | |||
| enter80 | kezewa/enter80 | | |||
| epoch80 | kbdfans/epoch80 | | |||
| eu_isolation | p3d/eu_isolation | | |||
| flygone60/rev3 | shandoncodes/flygone60/rev3 | | |||
| hub16 | joshajohnson/hub16 | | |||
| hub20 | joshajohnson/hub20 | | |||
| jm60 | kbdfans/jm60 | | |||
| kira75 | kira/kira75 | | |||
| kira80 | kira/kira80 | | |||
| kmac | kbdmania/kmac | | |||
| kmac_pad | kbdmania/kmac_pad | | |||
| kudox/columner | kumaokobo/kudox/columner | | |||
| kudox/rev1 | kumaokobo/kudox/rev1 | | |||
| kudox/rev2 | kumaokobo/kudox/rev2 | | |||
| kudox/rev3 | kumaokobo/kudox/rev3 | | |||
| kudox_full/rev1 | kumaokobo/kudox_full/rev1 | | |||
| kudox_game | kumaokobo/kudox_game | | |||
| kudox_game/rev1 | kumaokobo/kudox_game/rev1 | | |||
| kudox_game/rev2 | kumaokobo/kudox_game/rev2 | | |||
| laser_ninja/pumpkin_pad | laser_ninja/pumpkinpad | | |||
| late9/rev1 | rookiebwoy/late9/rev1 | | |||
| lefty | smoll/lefty | | |||
| lefty/rev1 | smoll/lefty/rev1 | | |||
| lefty/rev2 | smoll/lefty/rev2 | | |||
| lpad | laneware/lpad | | |||
| lw67 | laneware/lw67 | | |||
| lw75 | laneware/lw75 | | |||
| macro1 | laneware/macro1 | | |||
| macro3 | handwired/macro3 | | |||
| miniaxe | kagizaraya/miniaxe | | |||
| mino/hotswap | shandoncodes/mino/hotswap | | |||
| mino_plus/hotswap | shandoncodes/mino_plus/hotswap | | |||
| mino_plus/soldered | shandoncodes/mino_plus/soldered | | |||
| mnk1800s | monokei/mnk1800s | | |||
| mnk50 | monokei/mnk50 | | |||
| mnk75 | monokei/mnk75 | | |||
| moonlander | zsa/moonlander | | |||
| neopad/rev1 | rookiebwoy/neopad/rev1 | | |||
| pico/65keys | kumaokobo/pico/65keys | | |||
| pico/70keys | kumaokobo/pico/70keys | | |||
| pw88 | smoll/pw88 | | |||
| q4z | p3d/q4z | | |||
| raindrop | laneware/raindrop | | |||
| redox_w | redox/wireless | | |||
| riot_pad | shandoncodes/riot_pad | | |||
| spacey | p3d/spacey | | |||
| synapse | p3d/synapse | | |||
| tw40 | p3d/tw40 | | |||
| w1_at | geonworks/w1_at | | |||
| z12 | zigotica/z12 | | |||
| z34 | zigotica/z34 | | |||
## Notable core changes :id=notable-core | |||
### Renaming Arduino-style GPIO pin functions ([#23085](https://github.com/qmk/qmk_firmware/pull/23085), [#23093](https://github.com/qmk/qmk_firmware/pull/23093)) :id=gpio-rename | |||
QMK has long used Arduino-style GPIO naming conventions. This has been confusing for users, as over time they've had new variations added, as well as users mistakenly thinking that QMK supports the rest of the Arduino ecosystem. | |||
The decision was made to rename the GPIO manipulation functions with ones matching QMK Firmware's code styling. | |||
| Old | New | | |||
|------------------------------|---------------------------------------| | |||
| `setPinInput(pin)` | `gpio_set_pin_input(pin)` | | |||
| `setPinInputHigh(pin)` | `gpio_set_pin_input_high(pin)` | | |||
| `setPinInputLow(pin)` | `gpio_set_pin_input_low(pin)` | | |||
| `setPinOutput(pin)` | `gpio_set_pin_output(pin)` | | |||
| `setPinOutputPushPull(pin)` | `gpio_set_pin_output_push_pull(pin)` | | |||
| `setPinOutputOpenDrain(pin)` | `gpio_set_pin_output_open_drain(pin)` | | |||
| `writePinHigh(pin)` | `gpio_write_pin_high(pin)` | | |||
| `writePinLow(pin)` | `gpio_write_pin_low(pin)` | | |||
| `writePin(pin, level)` | `gpio_write_pin(pin, level)` | | |||
| `readPin(pin)` | `gpio_read_pin(pin)` | | |||
| `togglePin(pin)` | `gpio_toggle_pin(pin)` | | |||
### I2C driver API Changes ([#22905](https://github.com/qmk/qmk_firmware/pull/22905)) | |||
Much like the GPIO refactoring, I2C APIs were also updated to conform to QMK naming standards. This is largely irrelevant to people using subsystem abstractions such as touchpads or RGB lighting, and only affects people manually communicating with other peripherals. | |||
| Old API | New API | | |||
|--------------------|--------------------------| | |||
| `i2c_readReg()` | `i2c_read_register()` | | |||
| `i2c_readReg16()` | `i2c_read_register16()` | | |||
| `i2c_writeReg()` | `i2c_write_register()` | | |||
| `i2c_writeReg16()` | `i2c_write_register16()` | | |||
### Renaming _Bootmagic Lite_ => _Bootmagic_ ([#22970](https://github.com/qmk/qmk_firmware/pull/22970), [#22979](https://github.com/qmk/qmk_firmware/pull/22979)) :id=bootmagic-rename | |||
Bootmagic "Lite" had no real meaning once the historical Bootmagic "Full" was deprecated and removed. Any references to _Bootmagic Lite_ should now just refer to _Bootmagic_. We hope we got the majority of the code and the documentation, so if you find any more, let us know! | |||
### Threshold for automatic mouse layer activation ([#21398](https://github.com/qmk/qmk_firmware/pull/21398)) :id=auto-mouse-layer | |||
In some cases, accidental automatic activation of the mouse layer made it difficult to continue typing, such as when brushing across a trackball. `AUTO_MOUSE_THRESHOLD` is now a configurable option in `config.h` which allows for specifying what the movement threshold is before automatically activating the mouse layer. | |||
### DIP Switch Mapping ([#22543](https://github.com/qmk/qmk_firmware/pull/22543)) :id=dip-switch-map | |||
Much like Encoder Mapping, DIP Switch Mapping allows for specifying a table of actions to execute when a DIP switch state changes. See the [DIP Switch Documentation](feature_dip_switch.md#dip-switch-map) for more information. | |||
```c | |||
#if defined(DIP_SWITCH_MAP_ENABLE) | |||
const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = { | |||
DIP_SWITCH_OFF_ON(DF(0), DF(1)), | |||
DIP_SWITCH_OFF_ON(EC_NORM, EC_SWAP) | |||
}; | |||
#endif | |||
``` | |||
### Quantum Painter updates ([#18521](https://github.com/qmk/qmk_firmware/pull/18521), [#20645](https://github.com/qmk/qmk_firmware/pull/20645), [#22358](https://github.com/qmk/qmk_firmware/pull/22358)) :id=qp-updates | |||
Quantum Painter picked up support for the following: | |||
* ILI9486 displays | |||
* SSD1306 displays, including smaller OLEDs | |||
* Native panel pixel format support for fonts | |||
Quantum Painter now supports the majority of common OLED panels supported by the basic OLED driver, so if you're using an ARM-based board you may find Quantum Painter a much more feature-rich API in comparison. | |||
## Full changelist :id=full-changelist | |||
Core: | |||
* [Driver] ILI9486 on Quantum Painter ([#18521](https://github.com/qmk/qmk_firmware/pull/18521)) | |||
* Insert delay between shifted chars in send_string_with_delay ([#19280](https://github.com/qmk/qmk_firmware/pull/19280)) | |||
* [QP] Native palette support for fonts ([#20645](https://github.com/qmk/qmk_firmware/pull/20645)) | |||
* I2C driver cleanup ([#21273](https://github.com/qmk/qmk_firmware/pull/21273)) | |||
* Add option for auto mouse movement threshold ([#21398](https://github.com/qmk/qmk_firmware/pull/21398)) | |||
* Add Canadian French input locale ([#21456](https://github.com/qmk/qmk_firmware/pull/21456)) | |||
* Add encoder abstraction. ([#21548](https://github.com/qmk/qmk_firmware/pull/21548)) | |||
* Converted RGB matrix to use last_input_activity_elapsed(). ([#21687](https://github.com/qmk/qmk_firmware/pull/21687)) | |||
* Ignore space cadet key release when caps word is active ([#21721](https://github.com/qmk/qmk_firmware/pull/21721)) | |||
* Add OS detection callbacks ([#21777](https://github.com/qmk/qmk_firmware/pull/21777)) | |||
* joystick weights ([#21883](https://github.com/qmk/qmk_firmware/pull/21883)) | |||
* Add RGB matrix & LED Matrix support for IS31FL3729 ([#21944](https://github.com/qmk/qmk_firmware/pull/21944)) | |||
* dac_additive: Decouple the buffer length from the waveform length ([#22276](https://github.com/qmk/qmk_firmware/pull/22276)) | |||
* Add missing rgb matrix default parameters ([#22281](https://github.com/qmk/qmk_firmware/pull/22281)) | |||
* Remove console out endpoint ([#22304](https://github.com/qmk/qmk_firmware/pull/22304)) | |||
* Add ADC support STM32L4xx and STM32G4xx series MCUs ([#22341](https://github.com/qmk/qmk_firmware/pull/22341)) | |||
* Add QP support for smaller OLED displays and SSD1306 ([#22358](https://github.com/qmk/qmk_firmware/pull/22358)) | |||
* Add Imera converter ([#22419](https://github.com/qmk/qmk_firmware/pull/22419)) | |||
* LED drivers: refactor page selection ([#22518](https://github.com/qmk/qmk_firmware/pull/22518)) | |||
* Rework RGBLight driver system ([#22529](https://github.com/qmk/qmk_firmware/pull/22529)) | |||
* Add `APA102_LED_COUNT` define ([#22530](https://github.com/qmk/qmk_firmware/pull/22530)) | |||
* Add latam spanish headers ([#22542](https://github.com/qmk/qmk_firmware/pull/22542)) | |||
* Keymap introspection for Dip Switches ([#22543](https://github.com/qmk/qmk_firmware/pull/22543)) | |||
* Add basic presence check for cirque trackpad. ([#22546](https://github.com/qmk/qmk_firmware/pull/22546)) | |||
* Rename `RGBLED_NUM` -> `RGBLIGHT_LED_COUNT` ([#22570](https://github.com/qmk/qmk_firmware/pull/22570)) | |||
* LED drivers: change "TWI" to "I2C" ([#22617](https://github.com/qmk/qmk_firmware/pull/22617)) | |||
* LED drivers: extract IS31FL3742A from IS31COMMON ([#22620](https://github.com/qmk/qmk_firmware/pull/22620)) | |||
* Align Dip Switch feature ([#22625](https://github.com/qmk/qmk_firmware/pull/22625)) | |||
* LED/RGB Matrix: add header for drivers ([#22628](https://github.com/qmk/qmk_firmware/pull/22628)) | |||
* LED drivers: extract IS31FL3743A from IS31COMMON ([#22635](https://github.com/qmk/qmk_firmware/pull/22635)) | |||
* LED drivers: extract IS31FL3745 from IS31COMMON ([#22636](https://github.com/qmk/qmk_firmware/pull/22636)) | |||
* LED drivers: extract IS31FL3746A from IS31COMMON ([#22637](https://github.com/qmk/qmk_firmware/pull/22637)) | |||
* Update keyboard LED driver configs ([#22638](https://github.com/qmk/qmk_firmware/pull/22638)) | |||
* Solid reactive: improve fading effect ([#22656](https://github.com/qmk/qmk_firmware/pull/22656)) | |||
* Remove redundant RGB/LED matrix eeconfig init ([#22673](https://github.com/qmk/qmk_firmware/pull/22673)) | |||
* Remove redundant rgblight eeconfig init ([#22674](https://github.com/qmk/qmk_firmware/pull/22674)) | |||
* Remove redundant steno eeconfig init ([#22680](https://github.com/qmk/qmk_firmware/pull/22680)) | |||
* Rename `LED_DISABLE_WHEN_USB_SUSPENDED` -> `LED_MATRIX_SLEEP` ([#22681](https://github.com/qmk/qmk_firmware/pull/22681)) | |||
* Rename `RGB_DISABLE_WHEN_USB_SUSPENDED` -> `RGB_MATRIX_SLEEP` ([#22682](https://github.com/qmk/qmk_firmware/pull/22682)) | |||
* Align VUSB suspend protocol logic ([#22688](https://github.com/qmk/qmk_firmware/pull/22688)) | |||
* [Audio] Enable Complementary output for PWM Hardware driver ([#22726](https://github.com/qmk/qmk_firmware/pull/22726)) | |||
* Remove redundant audio eeconfig init ([#22736](https://github.com/qmk/qmk_firmware/pull/22736)) | |||
* Align location of tap dance keycode ([#22742](https://github.com/qmk/qmk_firmware/pull/22742)) | |||
* Align `SPLIT_HAND_MATRIX_GRID` left/right logic with `SPLIT_HAND_PIN` ([#22775](https://github.com/qmk/qmk_firmware/pull/22775)) | |||
* [CI] Regenerate Files ([#22795](https://github.com/qmk/qmk_firmware/pull/22795)) | |||
* Remove IS31FLCOMMON code ([#22800](https://github.com/qmk/qmk_firmware/pull/22800)) | |||
* Cirque reachable calibration aide ([#22803](https://github.com/qmk/qmk_firmware/pull/22803)) | |||
* LED drivers: rename "simple" to "mono" ([#22814](https://github.com/qmk/qmk_firmware/pull/22814)) | |||
* is31fl3733: change `write_register()` return type to `void` ([#22824](https://github.com/qmk/qmk_firmware/pull/22824)) | |||
* snled27351: change `write_register()` return type to `void` ([#22825](https://github.com/qmk/qmk_firmware/pull/22825)) | |||
* apa102: cleanups ([#22826](https://github.com/qmk/qmk_firmware/pull/22826)) | |||
* Remove PWM advanced check for WS2812 driver ([#22830](https://github.com/qmk/qmk_firmware/pull/22830)) | |||
* Allow ChibiOS `SIO` driver for `UART` driver ([#22839](https://github.com/qmk/qmk_firmware/pull/22839)) | |||
* LED drivers: more formatting ([#22865](https://github.com/qmk/qmk_firmware/pull/22865)) | |||
* LED drivers: change `write_pwm_buffer()` return type to `void` ([#22869](https://github.com/qmk/qmk_firmware/pull/22869)) | |||
* [CI] Regenerate Files ([#22872](https://github.com/qmk/qmk_firmware/pull/22872)) | |||
* LED drivers: switch to i2c_writeReg() ([#22878](https://github.com/qmk/qmk_firmware/pull/22878)) | |||
* LED drivers: remove `write_pwm_buffer()` from public API ([#22884](https://github.com/qmk/qmk_firmware/pull/22884)) | |||
* i2c: rename read/write register functions ([#22905](https://github.com/qmk/qmk_firmware/pull/22905)) | |||
* LED drivers: update I2C API usage ([#22951](https://github.com/qmk/qmk_firmware/pull/22951)) | |||
* LED drivers: create structs to hold PWM/scaling buffers ([#22955](https://github.com/qmk/qmk_firmware/pull/22955)) | |||
* Migrate and remove deprecated debug utils ([#22961](https://github.com/qmk/qmk_firmware/pull/22961)) | |||
* Remove call to removed i2c function in azoteq driver ([#22966](https://github.com/qmk/qmk_firmware/pull/22966)) | |||
* Tidy up print/debug logging headers ([#22969](https://github.com/qmk/qmk_firmware/pull/22969)) | |||
* Begin removal of bootmagic lite terminology ([#22970](https://github.com/qmk/qmk_firmware/pull/22970)) | |||
* LED drivers: place I2C addresses into an array ([#22975](https://github.com/qmk/qmk_firmware/pull/22975)) | |||
* Removal of bootmagic lite terminology ([#22979](https://github.com/qmk/qmk_firmware/pull/22979)) | |||
* Init pins for Analog Joystick sensor ([#22985](https://github.com/qmk/qmk_firmware/pull/22985)) | |||
* Workaround for G431 eeprom emulation ([#23002](https://github.com/qmk/qmk_firmware/pull/23002)) | |||
* is31fl3741: split PWM and scaling buffers ([#23049](https://github.com/qmk/qmk_firmware/pull/23049)) | |||
* LED drivers: update PWM register defines for `g_<driver>_leds` ([#23052](https://github.com/qmk/qmk_firmware/pull/23052)) | |||
* LED drivers: add support for shutdown pin ([#23058](https://github.com/qmk/qmk_firmware/pull/23058)) | |||
* AW20216S: combine EN pin defines ([#23067](https://github.com/qmk/qmk_firmware/pull/23067)) | |||
* Update naming convention for GPIO control macros ([#23085](https://github.com/qmk/qmk_firmware/pull/23085)) | |||
* Update GPIO macro usages in core ([#23093](https://github.com/qmk/qmk_firmware/pull/23093)) | |||
* OS Detection - Entire file should not be wrapped with ifdef ([#23108](https://github.com/qmk/qmk_firmware/pull/23108)) | |||
* IS31FL3729 updates ([#23109](https://github.com/qmk/qmk_firmware/pull/23109)) | |||
* Nix shell updates (Nixpkgs 2024-02-23, QMK CLI 1.1.5) ([#23143](https://github.com/qmk/qmk_firmware/pull/23143)) | |||
CLI: | |||
* [Refactor] `qmk find` ([#21096](https://github.com/qmk/qmk_firmware/pull/21096)) | |||
* [Refactor] Break `QGFImageFile`'s `_save` function into smaller pieces ([#21124](https://github.com/qmk/qmk_firmware/pull/21124)) | |||
* [Enhancement] Prepare for `SyntaxWarning` ([#22562](https://github.com/qmk/qmk_firmware/pull/22562)) | |||
* Flag invalid keyboard features during lint ([#22832](https://github.com/qmk/qmk_firmware/pull/22832)) | |||
Submodule updates: | |||
* chore(chibios-contrib): sync with chibios-21.11.x ([#22560](https://github.com/qmk/qmk_firmware/pull/22560)) | |||
Keyboards: | |||
* Move `redox_w` into `redox` ([#21448](https://github.com/qmk/qmk_firmware/pull/21448)) | |||
* null ST110R2.1 (SaikouType) basic support with layouts ([#21623](https://github.com/qmk/qmk_firmware/pull/21623)) | |||
* New keyboard addition: Orthograph ([#21770](https://github.com/qmk/qmk_firmware/pull/21770)) | |||
* Add Olly JF Rev.2 ([#21775](https://github.com/qmk/qmk_firmware/pull/21775)) | |||
* Cleanup Satisfaction75 Firmware and add new revisions ([#22082](https://github.com/qmk/qmk_firmware/pull/22082)) | |||
* Migrate dynamic_keymap.layer_count < 4 where requried ([#22091](https://github.com/qmk/qmk_firmware/pull/22091)) | |||
* Bastard Keyboards: Add support for Dilemma v2 (3x5+3) ([#22185](https://github.com/qmk/qmk_firmware/pull/22185)) | |||
* Karn: correct layout data ([#22201](https://github.com/qmk/qmk_firmware/pull/22201)) | |||
* zk3mod : added OLED ([#22303](https://github.com/qmk/qmk_firmware/pull/22303)) | |||
* Adds support for the Iron180 V2 PCBs ([#22314](https://github.com/qmk/qmk_firmware/pull/22314)) | |||
* Add 5x13 and 6x13 ortho community layouts ([#22315](https://github.com/qmk/qmk_firmware/pull/22315)) | |||
* Cipulot refactoring ([#22368](https://github.com/qmk/qmk_firmware/pull/22368)) | |||
* Remove era/klein ([#22384](https://github.com/qmk/qmk_firmware/pull/22384)) | |||
* consolidate firmware folder in smoll parent folder ([#22401](https://github.com/qmk/qmk_firmware/pull/22401)) | |||
* `keycapsss/plaid_pad`: switch to encoder map ([#22474](https://github.com/qmk/qmk_firmware/pull/22474)) | |||
* Add EE-AT and move W1-AT under geonworks ([#22526](https://github.com/qmk/qmk_firmware/pull/22526)) | |||
* refactor: projectcain/vault35 ([#22558](https://github.com/qmk/qmk_firmware/pull/22558)) | |||
* Update Q5 ([#22575](https://github.com/qmk/qmk_firmware/pull/22575)) | |||
* Update Q7 ([#22577](https://github.com/qmk/qmk_firmware/pull/22577)) | |||
* Update Q8 ([#22578](https://github.com/qmk/qmk_firmware/pull/22578)) | |||
* Update Q9 ([#22579](https://github.com/qmk/qmk_firmware/pull/22579)) | |||
* Remove "empty" files ([#22603](https://github.com/qmk/qmk_firmware/pull/22603)) | |||
* Rename Pumpkin Pad to Pumkinpad ([#22651](https://github.com/qmk/qmk_firmware/pull/22651)) | |||
* Noodlepad Additions and Updates ([#22701](https://github.com/qmk/qmk_firmware/pull/22701)) | |||
* Refactor: move miniaxe into kagizaraya ([#22708](https://github.com/qmk/qmk_firmware/pull/22708)) | |||
* Refactor: move keyboards into zigotica folder ([#22709](https://github.com/qmk/qmk_firmware/pull/22709)) | |||
* Refactor: move keyboards into laneware folder ([#22710](https://github.com/qmk/qmk_firmware/pull/22710)) | |||
* Refactor: move keyboards into kezewa ([#22712](https://github.com/qmk/qmk_firmware/pull/22712)) | |||
* Refactor: move keyboards into kbdmania folder ([#22714](https://github.com/qmk/qmk_firmware/pull/22714)) | |||
* Refactor: move keyboards into monokei folder ([#22715](https://github.com/qmk/qmk_firmware/pull/22715)) | |||
* Refactor: move keyboards into kumaokobo ([#22719](https://github.com/qmk/qmk_firmware/pull/22719)) | |||
* Updating NCC1701KB and adding via support ([#22721](https://github.com/qmk/qmk_firmware/pull/22721)) | |||
* Move Moonlander to ZSA folder ([#22740](https://github.com/qmk/qmk_firmware/pull/22740)) | |||
* Refactor: group shandoncodes keyboards ([#22743](https://github.com/qmk/qmk_firmware/pull/22743)) | |||
* Refactor: group rookiebwoy keyboards ([#22745](https://github.com/qmk/qmk_firmware/pull/22745)) | |||
* Default folder correction for kumaokobo ([#22750](https://github.com/qmk/qmk_firmware/pull/22750)) | |||
* Default folder correction for rookiebwoy ([#22753](https://github.com/qmk/qmk_firmware/pull/22753)) | |||
* Refactor: move macro3 into handwired folder ([#22759](https://github.com/qmk/qmk_firmware/pull/22759)) | |||
* Refactor: group kira keyboards ([#22760](https://github.com/qmk/qmk_firmware/pull/22760)) | |||
* Refactor: group hub keyboards ([#22762](https://github.com/qmk/qmk_firmware/pull/22762)) | |||
* Refactor: move p3d keyboards ([#22763](https://github.com/qmk/qmk_firmware/pull/22763)) | |||
* Refactor: group kbdfans keyboards ([#22764](https://github.com/qmk/qmk_firmware/pull/22764)) | |||
* Remove incorrect use of WS2812_PIO_USE_PIO1 ([#22771](https://github.com/qmk/qmk_firmware/pull/22771)) | |||
* Migrate LED Matrix config to info.json ([#22792](https://github.com/qmk/qmk_firmware/pull/22792)) | |||
* Migrate RGB Matrix config to info.json - [0-9] ([#22797](https://github.com/qmk/qmk_firmware/pull/22797)) | |||
* Migrate RGB Matrix config to info.json - A ([#22798](https://github.com/qmk/qmk_firmware/pull/22798)) | |||
* Late9 keymaps update, added VIA support ([#22801](https://github.com/qmk/qmk_firmware/pull/22801)) | |||
* Migrate RGB Matrix config to info.json - B ([#22806](https://github.com/qmk/qmk_firmware/pull/22806)) | |||
* Migrate RGB Matrix config to info.json - C ([#22807](https://github.com/qmk/qmk_firmware/pull/22807)) | |||
* Migrate RGB Matrix config to info.json - EF ([#22808](https://github.com/qmk/qmk_firmware/pull/22808)) | |||
* Migrate RGB Matrix config to info.json - D ([#22811](https://github.com/qmk/qmk_firmware/pull/22811)) | |||
* H87g2 updates ([#22819](https://github.com/qmk/qmk_firmware/pull/22819)) | |||
* WT boards: extract `g_is31fl3736_leds` from wt_mono_backlight ([#22823](https://github.com/qmk/qmk_firmware/pull/22823)) | |||
* Migrate RGB Matrix config to info.json - G ([#22859](https://github.com/qmk/qmk_firmware/pull/22859)) | |||
* Use existing columns for 3x5 layout ([#22860](https://github.com/qmk/qmk_firmware/pull/22860)) | |||
* Migrate RGB Matrix config to info.json - H ([#22861](https://github.com/qmk/qmk_firmware/pull/22861)) | |||
* Migrate RGB Matrix config to info.json - J ([#22862](https://github.com/qmk/qmk_firmware/pull/22862)) | |||
* Migrate RGB Matrix config to info.json - I ([#22863](https://github.com/qmk/qmk_firmware/pull/22863)) | |||
* Migrate RGB Matrix config to info.json - L ([#22864](https://github.com/qmk/qmk_firmware/pull/22864)) | |||
* Migrate RGB Matrix config to info.json - NOPQ ([#22866](https://github.com/qmk/qmk_firmware/pull/22866)) | |||
* Migrate RGB Matrix config to info.json - XZY ([#22879](https://github.com/qmk/qmk_firmware/pull/22879)) | |||
* Zed65/no_backlight/cor65 correct data layout ([#22898](https://github.com/qmk/qmk_firmware/pull/22898)) | |||
* Migrate RGB Matrix config to info.json - M ([#22908](https://github.com/qmk/qmk_firmware/pull/22908)) | |||
* Migrate RGB Matrix config to info.json - RS ([#22909](https://github.com/qmk/qmk_firmware/pull/22909)) | |||
* Migrate RGB Matrix config to info.json - TUVW ([#22910](https://github.com/qmk/qmk_firmware/pull/22910)) | |||
* Migrate RGB Matrix config to info.json - K ([#22911](https://github.com/qmk/qmk_firmware/pull/22911)) | |||
* Remove `LAYOUTS_HAS_RGB` ([#22917](https://github.com/qmk/qmk_firmware/pull/22917)) | |||
* Migrate lighting defaults to info.json ([#22920](https://github.com/qmk/qmk_firmware/pull/22920)) | |||
* Ensure LTO is enabled as a `info.json` build config option ([#22932](https://github.com/qmk/qmk_firmware/pull/22932)) | |||
* refactor(keyboard): quokka ([#22942](https://github.com/qmk/qmk_firmware/pull/22942)) | |||
* Sango Keyboard ([#22971](https://github.com/qmk/qmk_firmware/pull/22971)) | |||
* Add FS streampad ([#22991](https://github.com/qmk/qmk_firmware/pull/22991)) | |||
* Remove always enabled effects from lighting animation list ([#22992](https://github.com/qmk/qmk_firmware/pull/22992)) | |||
* Migrate RGB Matrix config to info.json - keychron ([#22998](https://github.com/qmk/qmk_firmware/pull/22998)) | |||
* Migrate RGB Matrix config to info.json - Misc ([#23000](https://github.com/qmk/qmk_firmware/pull/23000)) | |||
* Remove ee_hands config from ferris/sweep firmware ([#23029](https://github.com/qmk/qmk_firmware/pull/23029)) | |||
* Migrate dip switch config to info.json - keychron ([#23037](https://github.com/qmk/qmk_firmware/pull/23037)) | |||
* [unicorne] Add a layout alias ([#23056](https://github.com/qmk/qmk_firmware/pull/23056)) | |||
* nacly/sodium62: Update vid, pid, and add via keymap ([#23063](https://github.com/qmk/qmk_firmware/pull/23063)) | |||
* LED drivers: update keyboard LED configs ([#23073](https://github.com/qmk/qmk_firmware/pull/23073)) | |||
* Remove invalid keyboard level features ([#23074](https://github.com/qmk/qmk_firmware/pull/23074)) | |||
* Migrate WEAR_LEVELING_* to info.json ([#23077](https://github.com/qmk/qmk_firmware/pull/23077)) | |||
* [Keymap Removal] keyboard with most keymaps ([#23081](https://github.com/qmk/qmk_firmware/pull/23081)) | |||
* Remove obvious user keymaps, keyboards/{v,x,y,z}* edition. ([#23083](https://github.com/qmk/qmk_firmware/pull/23083)) | |||
* Remove obvious user keymaps, keyboards/{s,t}* edition. ([#23084](https://github.com/qmk/qmk_firmware/pull/23084)) | |||
* [Keymap Removal] keyboard with most keymaps ([#23092](https://github.com/qmk/qmk_firmware/pull/23092)) | |||
* Fiuxup takashicompany/heavy_left ([#23094](https://github.com/qmk/qmk_firmware/pull/23094)) | |||
* Remove obvious user keymaps, keyboards/{i,j,k}* edition ([#23102](https://github.com/qmk/qmk_firmware/pull/23102)) | |||
* Manual user keymap removal ([#23104](https://github.com/qmk/qmk_firmware/pull/23104)) | |||
* Manual user keymap removal ([#23119](https://github.com/qmk/qmk_firmware/pull/23119)) | |||
* Migrate `RGBLED_NUM` -> `RGBLIGHT_LED_COUNT` in remaining non-user keymaps ([#23128](https://github.com/qmk/qmk_firmware/pull/23128)) | |||
Keyboard fixes: | |||
* Fix VID and PID for AnnePro2 ([#22263](https://github.com/qmk/qmk_firmware/pull/22263)) | |||
* fix(kikoslab/kl90): Fix firmware to support encoder knobs properly ([#22649](https://github.com/qmk/qmk_firmware/pull/22649)) | |||
* fix: improper usage of keyboard/user-level functions ([#22652](https://github.com/qmk/qmk_firmware/pull/22652)) | |||
* Temporary fix for mechlovin/olly/octagon ([#22796](https://github.com/qmk/qmk_firmware/pull/22796)) | |||
* Keychron Q11 usb poweron fix ([#22799](https://github.com/qmk/qmk_firmware/pull/22799)) | |||
* capsunlocked/cu80/v2: Fix invalid RGB matrix config ([#22873](https://github.com/qmk/qmk_firmware/pull/22873)) | |||
* Fix typo in Redox config ([#22899](https://github.com/qmk/qmk_firmware/pull/22899)) | |||
* Fixup doio/kb16 ([#22921](https://github.com/qmk/qmk_firmware/pull/22921)) | |||
* Fixup takashicompany/minizone ([#22922](https://github.com/qmk/qmk_firmware/pull/22922)) | |||
* Fixup sofle ([#22934](https://github.com/qmk/qmk_firmware/pull/22934)) | |||
* Fix Issue with RGB Matrix not understanding the split keyboard ([#22997](https://github.com/qmk/qmk_firmware/pull/22997)) | |||
* Fixup sawnsprojects/krush60 ([#23095](https://github.com/qmk/qmk_firmware/pull/23095)) | |||
* Fixup kbd67/rev1 ([#23096](https://github.com/qmk/qmk_firmware/pull/23096)) | |||
* Fixup boardsource/equals ([#23106](https://github.com/qmk/qmk_firmware/pull/23106)) | |||
* Fixup inett_studio/sq80 ([#23121](https://github.com/qmk/qmk_firmware/pull/23121)) | |||
* Add LED/RGB Matrix drivers to info.json schema ([#23127](https://github.com/qmk/qmk_firmware/pull/23127)) | |||
* Fix for multiple AMUX usage ([#23155](https://github.com/qmk/qmk_firmware/pull/23155)) | |||
Bugs: | |||
* MIDI sustain effect fix on qmk 0.22.2 ([#22114](https://github.com/qmk/qmk_firmware/pull/22114)) | |||
* Prevent `qmk migrate` processing unparsed info.json values ([#22374](https://github.com/qmk/qmk_firmware/pull/22374)) | |||
* Remove redundant backlight eeconfig init ([#22675](https://github.com/qmk/qmk_firmware/pull/22675)) | |||
* pointing_device ifdef indentation fix ([#22802](https://github.com/qmk/qmk_firmware/pull/22802)) | |||
* Ensure LED config is extracted when feature is disabled ([#22809](https://github.com/qmk/qmk_firmware/pull/22809)) | |||
* Generate true/false for _DEFAULT_ON options ([#22829](https://github.com/qmk/qmk_firmware/pull/22829)) | |||
* is31fl3733: fix driver sync backwards compatibility defines ([#22851](https://github.com/qmk/qmk_firmware/pull/22851)) | |||
* LED drivers: misc formatting and typos ([#22857](https://github.com/qmk/qmk_firmware/pull/22857)) | |||
* Allow generation of both LED and RGB Matrix config ([#22896](https://github.com/qmk/qmk_firmware/pull/22896)) | |||
* LED drivers: remove PWM register offsets ([#22897](https://github.com/qmk/qmk_firmware/pull/22897)) | |||
* `qmk format-json`: Force Unix line endings and ensure LF at EOF ([#22901](https://github.com/qmk/qmk_firmware/pull/22901)) | |||
* Fix cirque connected check ([#22948](https://github.com/qmk/qmk_firmware/pull/22948)) | |||
* Fix joystick initialization ([#22953](https://github.com/qmk/qmk_firmware/pull/22953)) | |||
* Workaround for `make test:all DEBUG=1` ([#23047](https://github.com/qmk/qmk_firmware/pull/23047)) | |||
* Fix unit test execution ([#23048](https://github.com/qmk/qmk_firmware/pull/23048)) | |||
* Fix git-submodule running in wrong location ([#23059](https://github.com/qmk/qmk_firmware/pull/23059)) | |||
* WS2812 bitbang: prefix for `NOP_FUDGE` define ([#23110](https://github.com/qmk/qmk_firmware/pull/23110)) | |||
* Fix make clean test:os_detection ([#23112](https://github.com/qmk/qmk_firmware/pull/23112)) | |||
* Fix pmw33xx sensor corruption on get-cpi call ([#23116](https://github.com/qmk/qmk_firmware/pull/23116)) | |||
* Ensure `qmk generate-compilation-database` copies to userspace as well. ([#23129](https://github.com/qmk/qmk_firmware/pull/23129)) |
@ -0,0 +1,168 @@ | |||
// Copyright 2024 QMK | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#include "is31fl3236-mono.h" | |||
#include "i2c_master.h" | |||
#include "gpio.h" | |||
#define IS31FL3236_PWM_REGISTER_COUNT 36 | |||
#define IS31FL3236_LED_CONTROL_REGISTER_COUNT 36 | |||
#ifndef IS31FL3236_I2C_TIMEOUT | |||
# define IS31FL3236_I2C_TIMEOUT 100 | |||
#endif | |||
#ifndef IS31FL3236_I2C_PERSISTENCE | |||
# define IS31FL3236_I2C_PERSISTENCE 0 | |||
#endif | |||
#ifndef IS31FL3236_PWM_FREQUENCY | |||
# define IS31FL3236_PWM_FREQUENCY IS31FL3236_PWM_FREQUENCY_3K_HZ // OFS - IS31FL3236A only | |||
#endif | |||
const uint8_t i2c_addresses[IS31FL3236_DRIVER_COUNT] = { | |||
IS31FL3236_I2C_ADDRESS_1, | |||
#ifdef IS31FL3236_I2C_ADDRESS_2 | |||
IS31FL3236_I2C_ADDRESS_2, | |||
# ifdef IS31FL3236_I2C_ADDRESS_3 | |||
IS31FL3236_I2C_ADDRESS_3, | |||
# ifdef IS31FL3236_I2C_ADDRESS_4 | |||
IS31FL3236_I2C_ADDRESS_4, | |||
# endif | |||
# endif | |||
#endif | |||
}; | |||
typedef struct is31fl3236_driver_t { | |||
uint8_t pwm_buffer[IS31FL3236_PWM_REGISTER_COUNT]; | |||
bool pwm_buffer_dirty; | |||
uint8_t led_control_buffer[IS31FL3236_LED_CONTROL_REGISTER_COUNT]; | |||
bool led_control_buffer_dirty; | |||
} PACKED is31fl3236_driver_t; | |||
is31fl3236_driver_t driver_buffers[IS31FL3236_DRIVER_COUNT] = {{ | |||
.pwm_buffer = {0}, | |||
.pwm_buffer_dirty = false, | |||
.led_control_buffer = {0}, | |||
.led_control_buffer_dirty = false, | |||
}}; | |||
void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data) { | |||
#if IS31FL3236_I2C_PERSISTENCE > 0 | |||
for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) { | |||
if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; | |||
} | |||
#else | |||
i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT); | |||
#endif | |||
} | |||
void is31fl3236_write_pwm_buffer(uint8_t index) { | |||
#if IS31FL3236_I2C_PERSISTENCE > 0 | |||
for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) { | |||
if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; | |||
} | |||
#else | |||
i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT); | |||
#endif | |||
} | |||
void is31fl3236_init_drivers(void) { | |||
i2c_init(); | |||
#if defined(IS31FL3236_SDB_PIN) | |||
gpio_set_pin_output(IS31FL3236_SDB_PIN); | |||
gpio_write_pin_high(IS31FL3236_SDB_PIN); | |||
#endif | |||
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { | |||
is31fl3236_init(i); | |||
} | |||
for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) { | |||
is31fl3236_set_led_control_register(i, true); | |||
} | |||
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { | |||
is31fl3236_update_led_control_registers(i); | |||
} | |||
} | |||
void is31fl3236_init(uint8_t index) { | |||
// In case we ever want to reinitialize (?) | |||
is31fl3236_write_register(index, IS31FL3236_REG_RESET, 0x00); | |||
// Turn off software shutdown | |||
is31fl3236_write_register(index, IS31FL3236_REG_SHUTDOWN, 0x01); | |||
// Set all PWM values to zero | |||
for (uint8_t i = 0; i < IS31FL3236_PWM_REGISTER_COUNT; i++) { | |||
is31fl3236_write_register(index, IS31FL3236_REG_PWM + i, 0x00); | |||
} | |||
// turn off all LEDs in the LED control register | |||
for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) { | |||
is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, 0x00); | |||
} | |||
// Set PWM frequency (IS31FL3236A) | |||
is31fl3236_write_register(index, IS31FL3236_REG_PWM_FREQUENCY, IS31FL3236_PWM_FREQUENCY); | |||
// Load PWM registers and LED Control register data | |||
is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01); | |||
} | |||
void is31fl3236_set_value(int index, uint8_t value) { | |||
is31fl3236_led_t led; | |||
if (index < IS31FL3236_LED_COUNT) { | |||
memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led)); | |||
if (driver_buffers[led.driver].pwm_buffer[led.v] == value) { | |||
return; | |||
} | |||
driver_buffers[led.driver].pwm_buffer[led.v] = value; | |||
driver_buffers[led.driver].pwm_buffer_dirty = true; | |||
} | |||
} | |||
void is31fl3236_set_value_all(uint8_t value) { | |||
for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) { | |||
is31fl3236_set_value(i, value); | |||
} | |||
} | |||
void is31fl3236_set_led_control_register(uint8_t index, bool value) { | |||
is31fl3236_led_t led; | |||
memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led)); | |||
driver_buffers[led.driver].led_control_buffer[led.v] = value ? 0x01 : 0x00; | |||
driver_buffers[led.driver].led_control_buffer_dirty = true; | |||
} | |||
void is31fl3236_update_pwm_buffers(uint8_t index) { | |||
if (driver_buffers[index].pwm_buffer_dirty) { | |||
is31fl3236_write_pwm_buffer(index); | |||
// Load PWM registers and LED Control register data | |||
is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01); | |||
driver_buffers[index].pwm_buffer_dirty = false; | |||
} | |||
} | |||
void is31fl3236_update_led_control_registers(uint8_t index) { | |||
if (driver_buffers[index].led_control_buffer_dirty) { | |||
for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) { | |||
is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, driver_buffers[index].led_control_buffer[i]); | |||
} | |||
driver_buffers[index].led_control_buffer_dirty = false; | |||
} | |||
} | |||
void is31fl3236_flush(void) { | |||
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { | |||
is31fl3236_update_pwm_buffers(i); | |||
} | |||
} |
@ -0,0 +1,101 @@ | |||
// Copyright 2024 QMK | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#pragma once | |||
#include <stdint.h> | |||
#include <stdbool.h> | |||
#include "progmem.h" | |||
#include "util.h" | |||
#define IS31FL3236_REG_SHUTDOWN 0x00 | |||
#define IS31FL3236_REG_PWM 0x01 | |||
#define IS31FL3236_REG_UPDATE 0x25 | |||
#define IS31FL3236_REG_LED_CONTROL 0x26 | |||
#define IS31FL3236_REG_GLOBAL_CONTROL 0x4A | |||
#define IS31FL3236_REG_PWM_FREQUENCY 0x4B | |||
#define IS31FL3236_REG_RESET 0x4F | |||
#define IS31FL3236_I2C_ADDRESS_GND 0x3C | |||
#define IS31FL3236_I2C_ADDRESS_SCL 0x3D | |||
#define IS31FL3236_I2C_ADDRESS_SDA 0x3E | |||
#define IS31FL3236_I2C_ADDRESS_VCC 0x3F | |||
#if defined(LED_MATRIX_IS31FL3236) | |||
# define IS31FL3236_LED_COUNT LED_MATRIX_LED_COUNT | |||
#endif | |||
#if defined(IS31FL3236_I2C_ADDRESS_4) | |||
# define IS31FL3236_DRIVER_COUNT 4 | |||
#elif defined(IS31FL3236_I2C_ADDRESS_3) | |||
# define IS31FL3236_DRIVER_COUNT 3 | |||
#elif defined(IS31FL3236_I2C_ADDRESS_2) | |||
# define IS31FL3236_DRIVER_COUNT 2 | |||
#elif defined(IS31FL3236_I2C_ADDRESS_1) | |||
# define IS31FL3236_DRIVER_COUNT 1 | |||
#endif | |||
typedef struct is31fl3236_led_t { | |||
uint8_t driver : 2; | |||
uint8_t v; | |||
} PACKED is31fl3236_led_t; | |||
extern const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT]; | |||
void is31fl3236_init_drivers(void); | |||
void is31fl3236_init(uint8_t index); | |||
void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data); | |||
void is31fl3236_set_value(int index, uint8_t value); | |||
void is31fl3236_set_value_all(uint8_t value); | |||
void is31fl3236_set_led_control_register(uint8_t index, bool value); | |||
void is31fl3236_update_pwm_buffers(uint8_t index); | |||
void is31fl3236_update_led_control_registers(uint8_t index); | |||
void is31fl3236_flush(void); | |||
#define IS31FL3236_PWM_FREQUENCY_3K_HZ 0b0 | |||
#define IS31FL3236_PWM_FREQUENCY_22K_HZ 0b1 | |||
#define OUT1 0x00 | |||
#define OUT2 0x01 | |||
#define OUT3 0x02 | |||
#define OUT4 0x03 | |||
#define OUT5 0x04 | |||
#define OUT6 0x05 | |||
#define OUT7 0x06 | |||
#define OUT8 0x07 | |||
#define OUT9 0x08 | |||
#define OUT10 0x09 | |||
#define OUT11 0x0A | |||
#define OUT12 0x0B | |||
#define OUT13 0x0C | |||
#define OUT14 0x0D | |||
#define OUT15 0x0E | |||
#define OUT16 0x0F | |||
#define OUT17 0x10 | |||
#define OUT18 0x11 | |||
#define OUT19 0x12 | |||
#define OUT20 0x13 | |||
#define OUT21 0x14 | |||
#define OUT22 0x15 | |||
#define OUT23 0x16 | |||
#define OUT24 0x17 | |||
#define OUT25 0x18 | |||
#define OUT26 0x19 | |||
#define OUT27 0x1A | |||
#define OUT28 0x1B | |||
#define OUT29 0x1C | |||
#define OUT30 0x1D | |||
#define OUT31 0x1E | |||
#define OUT32 0x1F | |||
#define OUT33 0x20 | |||
#define OUT34 0x21 | |||
#define OUT35 0x22 | |||
#define OUT36 0x23 |
@ -0,0 +1,172 @@ | |||
// Copyright 2024 QMK | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#include "is31fl3236.h" | |||
#include "i2c_master.h" | |||
#include "gpio.h" | |||
#define IS31FL3236_PWM_REGISTER_COUNT 36 | |||
#define IS31FL3236_LED_CONTROL_REGISTER_COUNT 36 | |||
#ifndef IS31FL3236_I2C_TIMEOUT | |||
# define IS31FL3236_I2C_TIMEOUT 100 | |||
#endif | |||
#ifndef IS31FL3236_I2C_PERSISTENCE | |||
# define IS31FL3236_I2C_PERSISTENCE 0 | |||
#endif | |||
#ifndef IS31FL3236_PWM_FREQUENCY | |||
# define IS31FL3236_PWM_FREQUENCY IS31FL3236_PWM_FREQUENCY_3K_HZ // OFS - IS31FL3236A only | |||
#endif | |||
const uint8_t i2c_addresses[IS31FL3236_DRIVER_COUNT] = { | |||
IS31FL3236_I2C_ADDRESS_1, | |||
#ifdef IS31FL3236_I2C_ADDRESS_2 | |||
IS31FL3236_I2C_ADDRESS_2, | |||
# ifdef IS31FL3236_I2C_ADDRESS_3 | |||
IS31FL3236_I2C_ADDRESS_3, | |||
# ifdef IS31FL3236_I2C_ADDRESS_4 | |||
IS31FL3236_I2C_ADDRESS_4, | |||
# endif | |||
# endif | |||
#endif | |||
}; | |||
typedef struct is31fl3236_driver_t { | |||
uint8_t pwm_buffer[IS31FL3236_PWM_REGISTER_COUNT]; | |||
bool pwm_buffer_dirty; | |||
uint8_t led_control_buffer[IS31FL3236_LED_CONTROL_REGISTER_COUNT]; | |||
bool led_control_buffer_dirty; | |||
} PACKED is31fl3236_driver_t; | |||
is31fl3236_driver_t driver_buffers[IS31FL3236_DRIVER_COUNT] = {{ | |||
.pwm_buffer = {0}, | |||
.pwm_buffer_dirty = false, | |||
.led_control_buffer = {0}, | |||
.led_control_buffer_dirty = false, | |||
}}; | |||
void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data) { | |||
#if IS31FL3236_I2C_PERSISTENCE > 0 | |||
for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) { | |||
if (i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; | |||
} | |||
#else | |||
i2c_write_register(i2c_addresses[index] << 1, reg, &data, 1, IS31FL3236_I2C_TIMEOUT); | |||
#endif | |||
} | |||
void is31fl3236_write_pwm_buffer(uint8_t index) { | |||
#if IS31FL3236_I2C_PERSISTENCE > 0 | |||
for (uint8_t i = 0; i < IS31FL3236_I2C_PERSISTENCE; i++) { | |||
if (i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT) == I2C_STATUS_SUCCESS) break; | |||
} | |||
#else | |||
i2c_write_register(i2c_addresses[index] << 1, IS31FL3236_REG_PWM, driver_buffers[index].pwm_buffer, 36, IS31FL3236_I2C_TIMEOUT); | |||
#endif | |||
} | |||
void is31fl3236_init_drivers(void) { | |||
i2c_init(); | |||
#if defined(IS31FL3236_SDB_PIN) | |||
gpio_set_pin_output(IS31FL3236_SDB_PIN); | |||
gpio_write_pin_high(IS31FL3236_SDB_PIN); | |||
#endif | |||
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { | |||
is31fl3236_init(i); | |||
} | |||
for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) { | |||
is31fl3236_set_led_control_register(i, true, true, true); | |||
} | |||
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { | |||
is31fl3236_update_led_control_registers(i); | |||
} | |||
} | |||
void is31fl3236_init(uint8_t index) { | |||
// In case we ever want to reinitialize (?) | |||
is31fl3236_write_register(index, IS31FL3236_REG_RESET, 0x00); | |||
// Turn off software shutdown | |||
is31fl3236_write_register(index, IS31FL3236_REG_SHUTDOWN, 0x01); | |||
// Set all PWM values to zero | |||
for (uint8_t i = 0; i < IS31FL3236_PWM_REGISTER_COUNT; i++) { | |||
is31fl3236_write_register(index, IS31FL3236_REG_PWM + i, 0x00); | |||
} | |||
// turn off all LEDs in the LED control register | |||
for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) { | |||
is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, 0x00); | |||
} | |||
// Set PWM frequency (IS31FL3236A) | |||
is31fl3236_write_register(index, IS31FL3236_REG_PWM_FREQUENCY, IS31FL3236_PWM_FREQUENCY); | |||
// Load PWM registers and LED Control register data | |||
is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01); | |||
} | |||
void is31fl3236_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | |||
is31fl3236_led_t led; | |||
if (index < IS31FL3236_LED_COUNT) { | |||
memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led)); | |||
if (driver_buffers[led.driver].pwm_buffer[led.r] == red && driver_buffers[led.driver].pwm_buffer[led.g] == green && driver_buffers[led.driver].pwm_buffer[led.b] == blue) { | |||
return; | |||
} | |||
driver_buffers[led.driver].pwm_buffer[led.r] = red; | |||
driver_buffers[led.driver].pwm_buffer[led.g] = green; | |||
driver_buffers[led.driver].pwm_buffer[led.b] = blue; | |||
driver_buffers[led.driver].pwm_buffer_dirty = true; | |||
} | |||
} | |||
void is31fl3236_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { | |||
for (uint8_t i = 0; i < IS31FL3236_LED_COUNT; i++) { | |||
is31fl3236_set_color(i, red, green, blue); | |||
} | |||
} | |||
void is31fl3236_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { | |||
is31fl3236_led_t led; | |||
memcpy_P(&led, (&g_is31fl3236_leds[index]), sizeof(led)); | |||
driver_buffers[led.driver].led_control_buffer[led.r] = red ? 0x01 : 0x00; | |||
driver_buffers[led.driver].led_control_buffer[led.g] = green ? 0x01 : 0x00; | |||
driver_buffers[led.driver].led_control_buffer[led.b] = blue ? 0x01 : 0x00; | |||
driver_buffers[led.driver].led_control_buffer_dirty = true; | |||
} | |||
void is31fl3236_update_pwm_buffers(uint8_t index) { | |||
if (driver_buffers[index].pwm_buffer_dirty) { | |||
is31fl3236_write_pwm_buffer(index); | |||
// Load PWM registers and LED Control register data | |||
is31fl3236_write_register(index, IS31FL3236_REG_UPDATE, 0x01); | |||
driver_buffers[index].pwm_buffer_dirty = false; | |||
} | |||
} | |||
void is31fl3236_update_led_control_registers(uint8_t index) { | |||
if (driver_buffers[index].led_control_buffer_dirty) { | |||
for (uint8_t i = 0; i < IS31FL3236_LED_CONTROL_REGISTER_COUNT; i++) { | |||
is31fl3236_write_register(index, IS31FL3236_REG_LED_CONTROL + i, driver_buffers[index].led_control_buffer[i]); | |||
} | |||
driver_buffers[index].led_control_buffer_dirty = false; | |||
} | |||
} | |||
void is31fl3236_flush(void) { | |||
for (uint8_t i = 0; i < IS31FL3236_DRIVER_COUNT; i++) { | |||
is31fl3236_update_pwm_buffers(i); | |||
} | |||
} |
@ -0,0 +1,103 @@ | |||
// Copyright 2024 QMK | |||
// SPDX-License-Identifier: GPL-2.0-or-later | |||
#pragma once | |||
#include <stdint.h> | |||
#include <stdbool.h> | |||
#include "progmem.h" | |||
#include "util.h" | |||
#define IS31FL3236_REG_SHUTDOWN 0x00 | |||
#define IS31FL3236_REG_PWM 0x01 | |||
#define IS31FL3236_REG_UPDATE 0x25 | |||
#define IS31FL3236_REG_LED_CONTROL 0x26 | |||
#define IS31FL3236_REG_GLOBAL_CONTROL 0x4A | |||
#define IS31FL3236_REG_PWM_FREQUENCY 0x4B | |||
#define IS31FL3236_REG_RESET 0x4F | |||
#define IS31FL3236_I2C_ADDRESS_GND 0x3C | |||
#define IS31FL3236_I2C_ADDRESS_SCL 0x3D | |||
#define IS31FL3236_I2C_ADDRESS_SDA 0x3E | |||
#define IS31FL3236_I2C_ADDRESS_VCC 0x3F | |||
#if defined(RGB_MATRIX_IS31FL3236) | |||
# define IS31FL3236_LED_COUNT RGB_MATRIX_LED_COUNT | |||
#endif | |||
#if defined(IS31FL3236_I2C_ADDRESS_4) | |||
# define IS31FL3236_DRIVER_COUNT 4 | |||
#elif defined(IS31FL3236_I2C_ADDRESS_3) | |||
# define IS31FL3236_DRIVER_COUNT 3 | |||
#elif defined(IS31FL3236_I2C_ADDRESS_2) | |||
# define IS31FL3236_DRIVER_COUNT 2 | |||
#elif defined(IS31FL3236_I2C_ADDRESS_1) | |||
# define IS31FL3236_DRIVER_COUNT 1 | |||
#endif | |||
typedef struct is31fl3236_led_t { | |||
uint8_t driver : 2; | |||
uint8_t r; | |||
uint8_t g; | |||
uint8_t b; | |||
} PACKED is31fl3236_led_t; | |||
extern const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT]; | |||
void is31fl3236_init_drivers(void); | |||
void is31fl3236_init(uint8_t index); | |||
void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data); | |||
void is31fl3236_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); | |||
void is31fl3236_set_color_all(uint8_t red, uint8_t green, uint8_t blue); | |||
void is31fl3236_set_led_control_register(uint8_t index, bool red, bool green, bool blue); | |||
void is31fl3236_update_pwm_buffers(uint8_t index); | |||
void is31fl3236_update_led_control_registers(uint8_t index); | |||
void is31fl3236_flush(void); | |||
#define IS31FL3236_PWM_FREQUENCY_3K_HZ 0b0 | |||
#define IS31FL3236_PWM_FREQUENCY_22K_HZ 0b1 | |||
#define OUT1 0x00 | |||
#define OUT2 0x01 | |||
#define OUT3 0x02 | |||
#define OUT4 0x03 | |||
#define OUT5 0x04 | |||
#define OUT6 0x05 | |||
#define OUT7 0x06 | |||
#define OUT8 0x07 | |||
#define OUT9 0x08 | |||
#define OUT10 0x09 | |||
#define OUT11 0x0A | |||
#define OUT12 0x0B | |||
#define OUT13 0x0C | |||
#define OUT14 0x0D | |||
#define OUT15 0x0E | |||
#define OUT16 0x0F | |||
#define OUT17 0x10 | |||
#define OUT18 0x11 | |||
#define OUT19 0x12 | |||
#define OUT20 0x13 | |||
#define OUT21 0x14 | |||
#define OUT22 0x15 | |||
#define OUT23 0x16 | |||
#define OUT24 0x17 | |||
#define OUT25 0x18 | |||
#define OUT26 0x19 | |||
#define OUT27 0x1A | |||
#define OUT28 0x1B | |||
#define OUT29 0x1C | |||
#define OUT30 0x1D | |||
#define OUT31 0x1E | |||
#define OUT32 0x1F | |||
#define OUT33 0x20 | |||
#define OUT34 0x21 | |||
#define OUT35 0x22 | |||
#define OUT36 0x23 |
@ -1,57 +0,0 @@ | |||
{ | |||
"keyboard_name": "TutelPad", | |||
"manufacturer": "ItsFiremanSam", | |||
"url": "", | |||
"maintainer": "ItsFiremanSam", | |||
"usb": { | |||
"vid": "0xCB00", | |||
"pid": "0xF09F", | |||
"device_version": "0.0.1" | |||
}, | |||
"bootmagic": { | |||
"matrix": [1, 0] | |||
}, | |||
"rgblight": { | |||
"hue_steps": 10, | |||
"led_count": 4, | |||
"sleep": true, | |||
"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": "D3" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"matrix_pins": { | |||
"direct": [ | |||
["E6", "D7", "B1", "B3"], | |||
["B5", "B4", "B2", "B6"] | |||
] | |||
}, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 3, "y": 0, "matrix": [0, 3]}, | |||
{"x": 0, "y": 1, "matrix": [1, 0]}, | |||
{"x": 1, "y": 1, "matrix": [1, 1]}, | |||
{"x": 2, "y": 1, "matrix": [1, 2]}, | |||
{"x": 3, "y": 1, "matrix": [1, 3]} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,67 @@ | |||
{ | |||
"keyboard_name": "TutelPad", | |||
"manufacturer": "ItsFiremanSam", | |||
"url": "", | |||
"maintainer": "ItsFiremanSam", | |||
"usb": { | |||
"vid": "0xCB00", | |||
"pid": "0xF09F", | |||
"device_version": "0.0.1" | |||
}, | |||
"bootmagic": { | |||
"matrix": [1, 0] | |||
}, | |||
"rgblight": { | |||
"hue_steps": 10, | |||
"led_count": 4, | |||
"sleep": true, | |||
"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": "D3" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": false, | |||
"nkro": false, | |||
"oled": true, | |||
"rgblight": true | |||
}, | |||
"matrix_pins": { | |||
"direct": [ | |||
["E6", "D7", "B1", "B3"], | |||
["B5", "B4", "B2", "B6"] | |||
] | |||
}, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 3, "y": 0, "matrix": [0, 3]}, | |||
{"x": 0, "y": 1, "matrix": [1, 0]}, | |||
{"x": 1, "y": 1, "matrix": [1, 1]}, | |||
{"x": 2, "y": 1, "matrix": [1, 2]}, | |||
{"x": 3, "y": 1, "matrix": [1, 3]} | |||
] | |||
} | |||
} | |||
} |
@ -1,13 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = no # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | |||
AUDIO_ENABLE = no # Audio output | |||
OLED_ENABLE = yes |
@ -1,535 +0,0 @@ | |||
{ | |||
"keyboard_name": "1UP RGB Underglow PCB", | |||
"manufacturer": "1upkeyboards", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x6F75", | |||
"pid": "0x7267", | |||
"device_version": "0.0.1" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4"], | |||
"rows": ["D0", "D1", "D2", "D3", "D5"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"backlight": { | |||
"pin": "B6", | |||
"levels": 5 | |||
}, | |||
"rgblight": { | |||
"saturation_steps": 8, | |||
"brightness_steps": 8, | |||
"led_count": 16, | |||
"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": "E2" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "atmel-dfu", | |||
"community_layouts": ["60_ansi", "60_iso", "60_ansi_split_bs_rshift", "60_hhkb"], | |||
"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": [0, 14], "x": 14, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2}, | |||
{"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "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, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
}, | |||
"LAYOUT_60_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, 14], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, | |||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
}, | |||
"LAYOUT_60_iso": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2}, | |||
{"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 2.75}, | |||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
}, | |||
"LAYOUT_60_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": [0, 14], "x": 14, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "x": 14, "y": 3}, | |||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, | |||
{"matrix": [4, 1], "x": 1.5, "y": 4}, | |||
{"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, | |||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 6}, | |||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, | |||
{"matrix": [4, 11], "x": 11.5, "y": 4}, | |||
{"matrix": [4, 13], "x": 12.5, "y": 4}, | |||
{"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} | |||
] | |||
}, | |||
"LAYOUT_60_ansi_split_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, 14], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "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, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
}, | |||
"LAYOUT_60_ansi_tsangan_split_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, 14], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "x": 14, "y": 3}, | |||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, | |||
{"matrix": [4, 1], "x": 1.5, "y": 4}, | |||
{"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4}, | |||
{"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} | |||
] | |||
}, | |||
"LAYOUT_60_hhkb": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13, "y": 0}, | |||
{"matrix": [0, 14], "x": 14, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "x": 14, "y": 3}, | |||
{"matrix": [4, 1], "x": 1.5, "y": 4}, | |||
{"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,545 @@ | |||
{ | |||
"keyboard_name": "1UP RGB Underglow PCB", | |||
"manufacturer": "1upkeyboards", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x6F75", | |||
"pid": "0x7267", | |||
"device_version": "0.0.1" | |||
}, | |||
"features": { | |||
"backlight": true, | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": true, | |||
"rgblight": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["F0", "F1", "E6", "C7", "C6", "B7", "D4", "B1", "B0", "B5", "B4", "D7", "D6", "B3", "F4"], | |||
"rows": ["D0", "D1", "D2", "D3", "D5"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"backlight": { | |||
"pin": "B6", | |||
"levels": 5 | |||
}, | |||
"rgblight": { | |||
"saturation_steps": 8, | |||
"brightness_steps": 8, | |||
"led_count": 16, | |||
"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": "E2" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "atmel-dfu", | |||
"community_layouts": ["60_ansi", "60_iso", "60_ansi_split_bs_rshift", "60_hhkb"], | |||
"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": [0, 14], "x": 14, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2}, | |||
{"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "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, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
}, | |||
"LAYOUT_60_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, 14], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, | |||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
}, | |||
"LAYOUT_60_iso": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2}, | |||
{"matrix": [2, 14], "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, 13], "x": 12.25, "y": 3, "w": 2.75}, | |||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
}, | |||
"LAYOUT_60_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": [0, 14], "x": 14, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "x": 14, "y": 3}, | |||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, | |||
{"matrix": [4, 1], "x": 1.5, "y": 4}, | |||
{"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, | |||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 6}, | |||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, | |||
{"matrix": [4, 11], "x": 11.5, "y": 4}, | |||
{"matrix": [4, 13], "x": 12.5, "y": 4}, | |||
{"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} | |||
] | |||
}, | |||
"LAYOUT_60_ansi_split_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, 14], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "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, 3], "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, 13], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
}, | |||
"LAYOUT_60_ansi_tsangan_split_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, 14], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "x": 14, "y": 3}, | |||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, | |||
{"matrix": [4, 1], "x": 1.5, "y": 4}, | |||
{"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4}, | |||
{"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} | |||
] | |||
}, | |||
"LAYOUT_60_hhkb": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13, "y": 0}, | |||
{"matrix": [0, 14], "x": 14, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 2], "x": 1.5, "y": 1}, | |||
{"matrix": [1, 3], "x": 2.5, "y": 1}, | |||
{"matrix": [1, 4], "x": 3.5, "y": 1}, | |||
{"matrix": [1, 5], "x": 4.5, "y": 1}, | |||
{"matrix": [1, 6], "x": 5.5, "y": 1}, | |||
{"matrix": [1, 7], "x": 6.5, "y": 1}, | |||
{"matrix": [1, 8], "x": 7.5, "y": 1}, | |||
{"matrix": [1, 9], "x": 8.5, "y": 1}, | |||
{"matrix": [1, 10], "x": 9.5, "y": 1}, | |||
{"matrix": [1, 11], "x": 10.5, "y": 1}, | |||
{"matrix": [1, 12], "x": 11.5, "y": 1}, | |||
{"matrix": [1, 13], "x": 12.5, "y": 1}, | |||
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [2, 2], "x": 1.75, "y": 2}, | |||
{"matrix": [2, 3], "x": 2.75, "y": 2}, | |||
{"matrix": [2, 4], "x": 3.75, "y": 2}, | |||
{"matrix": [2, 5], "x": 4.75, "y": 2}, | |||
{"matrix": [2, 6], "x": 5.75, "y": 2}, | |||
{"matrix": [2, 7], "x": 6.75, "y": 2}, | |||
{"matrix": [2, 8], "x": 7.75, "y": 2}, | |||
{"matrix": [2, 9], "x": 8.75, "y": 2}, | |||
{"matrix": [2, 10], "x": 9.75, "y": 2}, | |||
{"matrix": [2, 11], "x": 10.75, "y": 2}, | |||
{"matrix": [2, 12], "x": 11.75, "y": 2}, | |||
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [3, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [3, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [3, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [3, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [3, 8], "x": 8.25, "y": 3}, | |||
{"matrix": [3, 9], "x": 9.25, "y": 3}, | |||
{"matrix": [3, 10], "x": 10.25, "y": 3}, | |||
{"matrix": [3, 11], "x": 11.25, "y": 3}, | |||
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, | |||
{"matrix": [3, 14], "x": 14, "y": 3}, | |||
{"matrix": [4, 1], "x": 1.5, "y": 4}, | |||
{"matrix": [4, 3], "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, 13], "x": 12.5, "y": 4} | |||
] | |||
} | |||
} | |||
} |
@ -1,12 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = yes # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | |||
AUDIO_ENABLE = no | |||
RGBLIGHT_ENABLE = yes |
@ -1,133 +0,0 @@ | |||
{ | |||
"keyboard_name": "super16", | |||
"manufacturer": "1upkeyboards", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x6F75", | |||
"pid": "0x5516", | |||
"device_version": "0.0.1" | |||
}, | |||
"ws2812": { | |||
"pin": "D3" | |||
}, | |||
"rgblight": { | |||
"saturation_steps": 8, | |||
"brightness_steps": 8, | |||
"led_count": 16, | |||
"sleep": true, | |||
"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 | |||
} | |||
}, | |||
"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, | |||
"rainbow_moving_chevron": true, | |||
"cycle_out_in": true, | |||
"cycle_out_in_dual": true, | |||
"cycle_pinwheel": true, | |||
"cycle_spiral": true, | |||
"dual_beacon": true, | |||
"rainbow_beacon": true, | |||
"rainbow_pinwheels": true, | |||
"raindrops": true, | |||
"jellybean_raindrops": true, | |||
"hue_breathing": true, | |||
"hue_pendulum": true, | |||
"hue_wave": true, | |||
"pixel_rain": true, | |||
"pixel_flow": true, | |||
"pixel_fractal": 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 | |||
}, | |||
"driver": "ws2812" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["D4", "C6", "F6", "F7"], | |||
"rows": ["D1", "D0", "F4", "F5"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["ortho_4x4", "numpad_4x4"], | |||
"layouts": { | |||
"LAYOUT_ortho_4x4": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||
{"matrix": [3, 3], "x": 3, "y": 3} | |||
] | |||
}, | |||
"LAYOUT_numpad_4x4": { | |||
"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, "h": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2, "h": 2}, | |||
{"matrix": [3, 1], "x": 0, "y": 3, "w": 2}, | |||
{"matrix": [3, 2], "x": 2, "y": 3} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,142 @@ | |||
{ | |||
"keyboard_name": "super16", | |||
"manufacturer": "1upkeyboards", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x6F75", | |||
"pid": "0x5516", | |||
"device_version": "0.0.1" | |||
}, | |||
"ws2812": { | |||
"pin": "D3" | |||
}, | |||
"rgblight": { | |||
"saturation_steps": 8, | |||
"brightness_steps": 8, | |||
"led_count": 16, | |||
"sleep": true, | |||
"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 | |||
} | |||
}, | |||
"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, | |||
"rainbow_moving_chevron": true, | |||
"cycle_out_in": true, | |||
"cycle_out_in_dual": true, | |||
"cycle_pinwheel": true, | |||
"cycle_spiral": true, | |||
"dual_beacon": true, | |||
"rainbow_beacon": true, | |||
"rainbow_pinwheels": true, | |||
"raindrops": true, | |||
"jellybean_raindrops": true, | |||
"hue_breathing": true, | |||
"hue_pendulum": true, | |||
"hue_wave": true, | |||
"pixel_rain": true, | |||
"pixel_flow": true, | |||
"pixel_fractal": 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 | |||
}, | |||
"driver": "ws2812" | |||
}, | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": false, | |||
"rgb_matrix": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["D4", "C6", "F6", "F7"], | |||
"rows": ["D1", "D0", "F4", "F5"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["ortho_4x4", "numpad_4x4"], | |||
"layouts": { | |||
"LAYOUT_ortho_4x4": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||
{"matrix": [3, 3], "x": 3, "y": 3} | |||
] | |||
}, | |||
"LAYOUT_numpad_4x4": { | |||
"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, "h": 2}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2, "h": 2}, | |||
{"matrix": [3, 1], "x": 0, "y": 3, "w": 2}, | |||
{"matrix": [3, 2], "x": 2, "y": 3} | |||
] | |||
} | |||
} | |||
} |
@ -1,13 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
RGB_MATRIX_ENABLE = yes | |||
AUDIO_ENABLE = no # Audio output |
@ -1,90 +0,0 @@ | |||
{ | |||
"keyboard_name": "super16v2", | |||
"manufacturer": "1upkeyboards", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x6F75", | |||
"pid": "0x5517", | |||
"device_version": "0.0.1" | |||
}, | |||
"ws2812": { | |||
"pin": "B5" | |||
}, | |||
"rgb_matrix": { | |||
"animmations": { | |||
"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, | |||
"rainbow_moving_chevron": true, | |||
"cycle_out_in": true, | |||
"cycle_out_in_dual": true, | |||
"cycle_pinwheel": true, | |||
"cycle_spiral": true, | |||
"dual_beacon": true, | |||
"rainbow_beacon": true, | |||
"rainbow_pinwheels": true, | |||
"raindrops": true, | |||
"jellybean_raindrops": true, | |||
"hue_breathing": true, | |||
"hue_pendulum": true, | |||
"hue_wave": true, | |||
"pixel_rain": true, | |||
"pixel_flow": true, | |||
"pixel_fractal": true, | |||
"solid_reactive_simple": true, | |||
"solid_reactive": true, | |||
"splash": true | |||
}, | |||
"driver": "ws2812", | |||
"sleep": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["D5", "D6", "C2", "D0"], | |||
"rows": ["D1", "D2", "D3", "D4"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"encoder": { | |||
"rotary": [ | |||
{"pin_a": "B1", "pin_b": "B2"}, | |||
{"pin_a": "B3", "pin_b": "B4"} | |||
] | |||
}, | |||
"processor": "atmega32u2", | |||
"bootloader": "atmel-dfu", | |||
"layouts": { | |||
"LAYOUT_ortho_4x4": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||
{"matrix": [3, 3], "x": 3, "y": 3} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,100 @@ | |||
{ | |||
"keyboard_name": "super16v2", | |||
"manufacturer": "1upkeyboards", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x6F75", | |||
"pid": "0x5517", | |||
"device_version": "0.0.1" | |||
}, | |||
"ws2812": { | |||
"pin": "B5" | |||
}, | |||
"rgb_matrix": { | |||
"animmations": { | |||
"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, | |||
"rainbow_moving_chevron": true, | |||
"cycle_out_in": true, | |||
"cycle_out_in_dual": true, | |||
"cycle_pinwheel": true, | |||
"cycle_spiral": true, | |||
"dual_beacon": true, | |||
"rainbow_beacon": true, | |||
"rainbow_pinwheels": true, | |||
"raindrops": true, | |||
"jellybean_raindrops": true, | |||
"hue_breathing": true, | |||
"hue_pendulum": true, | |||
"hue_wave": true, | |||
"pixel_rain": true, | |||
"pixel_flow": true, | |||
"pixel_fractal": true, | |||
"solid_reactive_simple": true, | |||
"solid_reactive": true, | |||
"splash": true | |||
}, | |||
"driver": "ws2812", | |||
"sleep": true | |||
}, | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"encoder": true, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": false, | |||
"rgb_matrix": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["D5", "D6", "C2", "D0"], | |||
"rows": ["D1", "D2", "D3", "D4"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"encoder": { | |||
"rotary": [ | |||
{"pin_a": "B1", "pin_b": "B2"}, | |||
{"pin_a": "B3", "pin_b": "B4"} | |||
] | |||
}, | |||
"processor": "atmega32u2", | |||
"bootloader": "atmel-dfu", | |||
"layouts": { | |||
"LAYOUT_ortho_4x4": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||
{"matrix": [3, 3], "x": 3, "y": 3} | |||
] | |||
} | |||
} | |||
} |
@ -1,14 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
AUDIO_ENABLE = no # Audio output | |||
RGB_MATRIX_ENABLE = yes | |||
ENCODER_ENABLE = yes |
@ -1,60 +0,0 @@ | |||
{ | |||
"keyboard_name": "2Key2Crawl", | |||
"manufacturer": "WoodKeys.click", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0xFEED", | |||
"pid": "0x6090", | |||
"device_version": "0.0.2" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["B3", "B4", "B5", "B6", "B7", "C7", "B2"], | |||
"rows": ["C4", "C5"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"encoder": { | |||
"rotary": [ | |||
{"pin_a": "D0", "pin_b": "D1", "resolution": 1} | |||
] | |||
}, | |||
"rgblight": { | |||
"led_count": 3, | |||
"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": "C6" | |||
}, | |||
"processor": "atmega32u2", | |||
"bootloader": "atmel-dfu", | |||
"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": [1, 5], "x": 4, "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, 6], "x": 5.5, "y": 0.5} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,69 @@ | |||
{ | |||
"keyboard_name": "2Key2Crawl", | |||
"manufacturer": "WoodKeys.click", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0xFEED", | |||
"pid": "0x6090", | |||
"device_version": "0.0.2" | |||
}, | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": true, | |||
"encoder": true, | |||
"extrakey": false, | |||
"mousekey": false, | |||
"nkro": false | |||
}, | |||
"matrix_pins": { | |||
"cols": ["B3", "B4", "B5", "B6", "B7", "C7", "B2"], | |||
"rows": ["C4", "C5"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"encoder": { | |||
"rotary": [ | |||
{"pin_a": "D0", "pin_b": "D1", "resolution": 1} | |||
] | |||
}, | |||
"rgblight": { | |||
"led_count": 3, | |||
"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": "C6" | |||
}, | |||
"processor": "atmega32u2", | |||
"bootloader": "atmel-dfu", | |||
"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": [1, 5], "x": 4, "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, 6], "x": 5.5, "y": 0.5} | |||
] | |||
} | |||
} | |||
} |
@ -1,13 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = no # Mouse keys | |||
EXTRAKEY_ENABLE = no # Audio control and System control | |||
CONSOLE_ENABLE = yes # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # [Crawlpad] Custom backlighting code is used, so this should not be enabled | |||
AUDIO_ENABLE = no # [Crawlpad] This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below | |||
RGBLIGHT_ENABLE = no # [Crawlpad] This can be enabled if a ws2812 strip is connected to the expansion port. | |||
ENCODER_ENABLE = yes # [2Key2crawl] Make the knobs turn |
@ -1,64 +0,0 @@ | |||
{ | |||
"keyboard_name": "30wer", | |||
"manufacturer": "8o7wer", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x1234", | |||
"pid": "0x5678", | |||
"device_version": "0.0.1" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D1", "D0", "D4", "C6", "D7"], | |||
"rows": ["E6", "B4", "B5"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"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, "w": 1.25}, | |||
{"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, 10], "x": 10.25, "y": 1}, | |||
{"matrix": [1, 11], "x": 11.25, "y": 1}, | |||
{"matrix": [1, 12], "x": 12.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, "w": 1.5} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,72 @@ | |||
{ | |||
"keyboard_name": "30wer", | |||
"manufacturer": "8o7wer", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x1234", | |||
"pid": "0x5678", | |||
"device_version": "0.0.1" | |||
}, | |||
"features": { | |||
"bootmagic": false, | |||
"command": false, | |||
"console": true, | |||
"extrakey": true, | |||
"mousekey": false, | |||
"nkro": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D1", "D0", "D4", "C6", "D7"], | |||
"rows": ["E6", "B4", "B5"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"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, "w": 1.25}, | |||
{"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, 10], "x": 10.25, "y": 1}, | |||
{"matrix": [1, 11], "x": 11.25, "y": 1}, | |||
{"matrix": [1, 12], "x": 12.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, "w": 1.5} | |||
] | |||
} | |||
} | |||
} |
@ -1,12 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = no # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = yes # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = yes # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
AUDIO_ENABLE = no # Audio output | |||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. |
@ -1,91 +0,0 @@ | |||
{ | |||
"keyboard_name": "2key2", | |||
"manufacturer": "3-Key-Ecosystem", | |||
"url": "https://github.com/softplus/3keyecosystem/tree/main/2key2", | |||
"maintainer": "softplus", | |||
"usb": { | |||
"vid": "0x1209", | |||
"pid": "0x3304", | |||
"device_version": "0.0.1" | |||
}, | |||
"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, | |||
"rainbow_moving_chevron": true, | |||
"cycle_out_in": true, | |||
"cycle_out_in_dual": true, | |||
"cycle_pinwheel": true, | |||
"cycle_spiral": true, | |||
"dual_beacon": true, | |||
"rainbow_beacon": true, | |||
"rainbow_pinwheels": true, | |||
"raindrops": true, | |||
"jellybean_raindrops": true, | |||
"hue_breathing": true, | |||
"hue_pendulum": true, | |||
"hue_wave": true, | |||
"pixel_fractal": 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 | |||
}, | |||
"default": { | |||
"animation": "solid_reactive", | |||
"hue": 90, | |||
"speed": 20, | |||
"val": 128 | |||
}, | |||
"driver": "ws2812", | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 32, "flags": 255}, | |||
{"matrix": [0, 1], "x": 224, "y": 32, "flags": 255} | |||
], | |||
"sleep": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["F4", "D7"], | |||
"rows": ["F6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"indicators": { | |||
"caps_lock": "B7" | |||
}, | |||
"ws2812": { | |||
"pin": "B2" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,100 @@ | |||
{ | |||
"keyboard_name": "2key2", | |||
"manufacturer": "3-Key-Ecosystem", | |||
"url": "https://github.com/softplus/3keyecosystem/tree/main/2key2", | |||
"maintainer": "softplus", | |||
"usb": { | |||
"vid": "0x1209", | |||
"pid": "0x3304", | |||
"device_version": "0.0.1" | |||
}, | |||
"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, | |||
"rainbow_moving_chevron": true, | |||
"cycle_out_in": true, | |||
"cycle_out_in_dual": true, | |||
"cycle_pinwheel": true, | |||
"cycle_spiral": true, | |||
"dual_beacon": true, | |||
"rainbow_beacon": true, | |||
"rainbow_pinwheels": true, | |||
"raindrops": true, | |||
"jellybean_raindrops": true, | |||
"hue_breathing": true, | |||
"hue_pendulum": true, | |||
"hue_wave": true, | |||
"pixel_fractal": 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 | |||
}, | |||
"default": { | |||
"animation": "solid_reactive", | |||
"hue": 90, | |||
"speed": 20, | |||
"val": 128 | |||
}, | |||
"driver": "ws2812", | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 32, "flags": 255}, | |||
{"matrix": [0, 1], "x": 224, "y": 32, "flags": 255} | |||
], | |||
"sleep": true | |||
}, | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": false, | |||
"nkro": false, | |||
"rgb_matrix": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["F4", "D7"], | |||
"rows": ["F6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"indicators": { | |||
"caps_lock": "B7" | |||
}, | |||
"ws2812": { | |||
"pin": "B2" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0} | |||
] | |||
} | |||
} | |||
} |
@ -1,13 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = no # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
RGB_MATRIX_ENABLE = yes # Enable RGB matrix | |||
AUDIO_ENABLE = no # Audio output |
@ -1,32 +0,0 @@ | |||
{ | |||
"keyboard_name": "4pack", | |||
"manufacturer": "40percentclub", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x0000", | |||
"device_version": "0.0.1" | |||
}, | |||
"backlight": { | |||
"driver": "timer", | |||
"pins": ["F6", "F7"] | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"matrix_pins": { | |||
"direct": [ | |||
["E6", "D7", "C6", "D4"] | |||
] | |||
}, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 3, "y": 0, "matrix": [0, 3]} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,41 @@ | |||
{ | |||
"keyboard_name": "4pack", | |||
"manufacturer": "40percentclub", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x0000", | |||
"device_version": "0.0.1" | |||
}, | |||
"backlight": { | |||
"driver": "timer", | |||
"pins": ["F6", "F7"] | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"features": { | |||
"backlight": true, | |||
"bootmagic": false, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": false, | |||
"nkro": false | |||
}, | |||
"matrix_pins": { | |||
"direct": [ | |||
["E6", "D7", "C6", "D4"] | |||
] | |||
}, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 3, "y": 0, "matrix": [0, 3]} | |||
] | |||
} | |||
} | |||
} |
@ -1,12 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = no # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
AUDIO_ENABLE = no # Audio output |
@ -1,195 +0,0 @@ | |||
{ | |||
"keyboard_name": "The 5x5 Keyboard", | |||
"manufacturer": "di0ib", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x05B5", | |||
"device_version": "1.0.0" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["D7", "E6", "B4", "B5", "B6", "B7", "D6", "F7", "F6", "F5", "F4", "F1", "F0", "B3", "B1"], | |||
"rows": ["B2", "D1", "D0", "D4", "C6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["ortho_5x5", "ortho_5x10", "ortho_5x15"], | |||
"layouts": { | |||
"LAYOUT_ortho_5x5": { | |||
"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": [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": [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": [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": [4, 0], "x": 0, "y": 4}, | |||
{"matrix": [4, 1], "x": 1, "y": 4}, | |||
{"matrix": [4, 2], "x": 2, "y": 4}, | |||
{"matrix": [4, 3], "x": 3, "y": 4}, | |||
{"matrix": [4, 4], "x": 4, "y": 4} | |||
] | |||
}, | |||
"LAYOUT_ortho_5x10": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||
{"matrix": [3, 5], "x": 5, "y": 3}, | |||
{"matrix": [3, 6], "x": 6, "y": 3}, | |||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||
{"matrix": [4, 0], "x": 0, "y": 4}, | |||
{"matrix": [4, 1], "x": 1, "y": 4}, | |||
{"matrix": [4, 2], "x": 2, "y": 4}, | |||
{"matrix": [4, 3], "x": 3, "y": 4}, | |||
{"matrix": [4, 4], "x": 4, "y": 4}, | |||
{"matrix": [4, 5], "x": 5, "y": 4}, | |||
{"matrix": [4, 6], "x": 6, "y": 4}, | |||
{"matrix": [4, 7], "x": 7, "y": 4}, | |||
{"matrix": [4, 8], "x": 8, "y": 4}, | |||
{"matrix": [4, 9], "x": 9, "y": 4} | |||
] | |||
}, | |||
"LAYOUT_ortho_5x15": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13, "y": 0}, | |||
{"matrix": [0, 14], "x": 14, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||
{"matrix": [1, 12], "x": 12, "y": 1}, | |||
{"matrix": [1, 13], "x": 13, "y": 1}, | |||
{"matrix": [1, 14], "x": 14, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||
{"matrix": [2, 12], "x": 12, "y": 2}, | |||
{"matrix": [2, 13], "x": 13, "y": 2}, | |||
{"matrix": [2, 14], "x": 14, "y": 2}, | |||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||
{"matrix": [3, 5], "x": 5, "y": 3}, | |||
{"matrix": [3, 6], "x": 6, "y": 3}, | |||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||
{"matrix": [3, 11], "x": 11, "y": 3}, | |||
{"matrix": [3, 12], "x": 12, "y": 3}, | |||
{"matrix": [3, 13], "x": 13, "y": 3}, | |||
{"matrix": [3, 14], "x": 14, "y": 3}, | |||
{"matrix": [4, 0], "x": 0, "y": 4}, | |||
{"matrix": [4, 1], "x": 1, "y": 4}, | |||
{"matrix": [4, 2], "x": 2, "y": 4}, | |||
{"matrix": [4, 3], "x": 3, "y": 4}, | |||
{"matrix": [4, 4], "x": 4, "y": 4}, | |||
{"matrix": [4, 5], "x": 5, "y": 4}, | |||
{"matrix": [4, 6], "x": 6, "y": 4}, | |||
{"matrix": [4, 7], "x": 7, "y": 4}, | |||
{"matrix": [4, 8], "x": 8, "y": 4}, | |||
{"matrix": [4, 9], "x": 9, "y": 4}, | |||
{"matrix": [4, 10], "x": 10, "y": 4}, | |||
{"matrix": [4, 11], "x": 11, "y": 4}, | |||
{"matrix": [4, 12], "x": 12, "y": 4}, | |||
{"matrix": [4, 13], "x": 13, "y": 4}, | |||
{"matrix": [4, 14], "x": 14, "y": 4} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,203 @@ | |||
{ | |||
"keyboard_name": "The 5x5 Keyboard", | |||
"manufacturer": "di0ib", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x05B5", | |||
"device_version": "1.0.0" | |||
}, | |||
"features": { | |||
"bootmagic": false, | |||
"command": true, | |||
"console": true, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": false | |||
}, | |||
"matrix_pins": { | |||
"cols": ["D7", "E6", "B4", "B5", "B6", "B7", "D6", "F7", "F6", "F5", "F4", "F1", "F0", "B3", "B1"], | |||
"rows": ["B2", "D1", "D0", "D4", "C6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["ortho_5x5", "ortho_5x10", "ortho_5x15"], | |||
"layouts": { | |||
"LAYOUT_ortho_5x5": { | |||
"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": [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": [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": [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": [4, 0], "x": 0, "y": 4}, | |||
{"matrix": [4, 1], "x": 1, "y": 4}, | |||
{"matrix": [4, 2], "x": 2, "y": 4}, | |||
{"matrix": [4, 3], "x": 3, "y": 4}, | |||
{"matrix": [4, 4], "x": 4, "y": 4} | |||
] | |||
}, | |||
"LAYOUT_ortho_5x10": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||
{"matrix": [3, 5], "x": 5, "y": 3}, | |||
{"matrix": [3, 6], "x": 6, "y": 3}, | |||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||
{"matrix": [4, 0], "x": 0, "y": 4}, | |||
{"matrix": [4, 1], "x": 1, "y": 4}, | |||
{"matrix": [4, 2], "x": 2, "y": 4}, | |||
{"matrix": [4, 3], "x": 3, "y": 4}, | |||
{"matrix": [4, 4], "x": 4, "y": 4}, | |||
{"matrix": [4, 5], "x": 5, "y": 4}, | |||
{"matrix": [4, 6], "x": 6, "y": 4}, | |||
{"matrix": [4, 7], "x": 7, "y": 4}, | |||
{"matrix": [4, 8], "x": 8, "y": 4}, | |||
{"matrix": [4, 9], "x": 9, "y": 4} | |||
] | |||
}, | |||
"LAYOUT_ortho_5x15": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13, "y": 0}, | |||
{"matrix": [0, 14], "x": 14, "y": 0}, | |||
{"matrix": [1, 0], "x": 0, "y": 1}, | |||
{"matrix": [1, 1], "x": 1, "y": 1}, | |||
{"matrix": [1, 2], "x": 2, "y": 1}, | |||
{"matrix": [1, 3], "x": 3, "y": 1}, | |||
{"matrix": [1, 4], "x": 4, "y": 1}, | |||
{"matrix": [1, 5], "x": 5, "y": 1}, | |||
{"matrix": [1, 6], "x": 6, "y": 1}, | |||
{"matrix": [1, 7], "x": 7, "y": 1}, | |||
{"matrix": [1, 8], "x": 8, "y": 1}, | |||
{"matrix": [1, 9], "x": 9, "y": 1}, | |||
{"matrix": [1, 10], "x": 10, "y": 1}, | |||
{"matrix": [1, 11], "x": 11, "y": 1}, | |||
{"matrix": [1, 12], "x": 12, "y": 1}, | |||
{"matrix": [1, 13], "x": 13, "y": 1}, | |||
{"matrix": [1, 14], "x": 14, "y": 1}, | |||
{"matrix": [2, 0], "x": 0, "y": 2}, | |||
{"matrix": [2, 1], "x": 1, "y": 2}, | |||
{"matrix": [2, 2], "x": 2, "y": 2}, | |||
{"matrix": [2, 3], "x": 3, "y": 2}, | |||
{"matrix": [2, 4], "x": 4, "y": 2}, | |||
{"matrix": [2, 5], "x": 5, "y": 2}, | |||
{"matrix": [2, 6], "x": 6, "y": 2}, | |||
{"matrix": [2, 7], "x": 7, "y": 2}, | |||
{"matrix": [2, 8], "x": 8, "y": 2}, | |||
{"matrix": [2, 9], "x": 9, "y": 2}, | |||
{"matrix": [2, 10], "x": 10, "y": 2}, | |||
{"matrix": [2, 11], "x": 11, "y": 2}, | |||
{"matrix": [2, 12], "x": 12, "y": 2}, | |||
{"matrix": [2, 13], "x": 13, "y": 2}, | |||
{"matrix": [2, 14], "x": 14, "y": 2}, | |||
{"matrix": [3, 0], "x": 0, "y": 3}, | |||
{"matrix": [3, 1], "x": 1, "y": 3}, | |||
{"matrix": [3, 2], "x": 2, "y": 3}, | |||
{"matrix": [3, 3], "x": 3, "y": 3}, | |||
{"matrix": [3, 4], "x": 4, "y": 3}, | |||
{"matrix": [3, 5], "x": 5, "y": 3}, | |||
{"matrix": [3, 6], "x": 6, "y": 3}, | |||
{"matrix": [3, 7], "x": 7, "y": 3}, | |||
{"matrix": [3, 8], "x": 8, "y": 3}, | |||
{"matrix": [3, 9], "x": 9, "y": 3}, | |||
{"matrix": [3, 10], "x": 10, "y": 3}, | |||
{"matrix": [3, 11], "x": 11, "y": 3}, | |||
{"matrix": [3, 12], "x": 12, "y": 3}, | |||
{"matrix": [3, 13], "x": 13, "y": 3}, | |||
{"matrix": [3, 14], "x": 14, "y": 3}, | |||
{"matrix": [4, 0], "x": 0, "y": 4}, | |||
{"matrix": [4, 1], "x": 1, "y": 4}, | |||
{"matrix": [4, 2], "x": 2, "y": 4}, | |||
{"matrix": [4, 3], "x": 3, "y": 4}, | |||
{"matrix": [4, 4], "x": 4, "y": 4}, | |||
{"matrix": [4, 5], "x": 5, "y": 4}, | |||
{"matrix": [4, 6], "x": 6, "y": 4}, | |||
{"matrix": [4, 7], "x": 7, "y": 4}, | |||
{"matrix": [4, 8], "x": 8, "y": 4}, | |||
{"matrix": [4, 9], "x": 9, "y": 4}, | |||
{"matrix": [4, 10], "x": 10, "y": 4}, | |||
{"matrix": [4, 11], "x": 11, "y": 4}, | |||
{"matrix": [4, 12], "x": 12, "y": 4}, | |||
{"matrix": [4, 13], "x": 13, "y": 4}, | |||
{"matrix": [4, 14], "x": 14, "y": 4} | |||
] | |||
} | |||
} | |||
} |
@ -1,11 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = yes # Console for debug | |||
COMMAND_ENABLE = yes # Commands for debug and configuration | |||
NKRO_ENABLE = no # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
AUDIO_ENABLE = no # Audio output |
@ -1,112 +0,0 @@ | |||
{ | |||
"keyboard_name": "Luddite", | |||
"manufacturer": "di0ib", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x4C55", | |||
"device_version": "10.0.1" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"], | |||
"rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"backlight": { | |||
"pin": "B5", | |||
"levels": 4 | |||
}, | |||
"rgblight": { | |||
"led_count": 8, | |||
"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": "B4" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["60_ansi"], | |||
"layouts": { | |||
"LAYOUT_60_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": [1, 0], "x": 8, "y": 0}, | |||
{"matrix": [1, 1], "x": 9, "y": 0}, | |||
{"matrix": [1, 2], "x": 10, "y": 0}, | |||
{"matrix": [1, 3], "x": 11, "y": 0}, | |||
{"matrix": [1, 4], "x": 12, "y": 0}, | |||
{"matrix": [1, 5], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 6], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 7], "x": 1.5, "y": 1}, | |||
{"matrix": [2, 0], "x": 2.5, "y": 1}, | |||
{"matrix": [2, 1], "x": 3.5, "y": 1}, | |||
{"matrix": [2, 2], "x": 4.5, "y": 1}, | |||
{"matrix": [2, 3], "x": 5.5, "y": 1}, | |||
{"matrix": [2, 4], "x": 6.5, "y": 1}, | |||
{"matrix": [2, 5], "x": 7.5, "y": 1}, | |||
{"matrix": [2, 6], "x": 8.5, "y": 1}, | |||
{"matrix": [2, 7], "x": 9.5, "y": 1}, | |||
{"matrix": [3, 0], "x": 10.5, "y": 1}, | |||
{"matrix": [3, 1], "x": 11.5, "y": 1}, | |||
{"matrix": [3, 2], "x": 12.5, "y": 1}, | |||
{"matrix": [3, 3], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [3, 4], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [3, 5], "x": 1.75, "y": 2}, | |||
{"matrix": [3, 6], "x": 2.75, "y": 2}, | |||
{"matrix": [3, 7], "x": 3.75, "y": 2}, | |||
{"matrix": [4, 0], "x": 4.75, "y": 2}, | |||
{"matrix": [4, 1], "x": 5.75, "y": 2}, | |||
{"matrix": [4, 2], "x": 6.75, "y": 2}, | |||
{"matrix": [4, 3], "x": 7.75, "y": 2}, | |||
{"matrix": [4, 4], "x": 8.75, "y": 2}, | |||
{"matrix": [4, 5], "x": 9.75, "y": 2}, | |||
{"matrix": [4, 6], "x": 10.75, "y": 2}, | |||
{"matrix": [4, 7], "x": 11.75, "y": 2}, | |||
{"matrix": [5, 0], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [5, 1], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [5, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [5, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [5, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [5, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [5, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [5, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [6, 0], "x": 8.25, "y": 3}, | |||
{"matrix": [6, 1], "x": 9.25, "y": 3}, | |||
{"matrix": [6, 2], "x": 10.25, "y": 3}, | |||
{"matrix": [6, 3], "x": 11.25, "y": 3}, | |||
{"matrix": [6, 4], "x": 12.25, "y": 3, "w": 2.75}, | |||
{"matrix": [6, 5], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 6], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 7], "x": 2.5, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 0], "x": 3.75, "y": 4, "w": 6.25}, | |||
{"matrix": [7, 1], "x": 10, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 2], "x": 11.25, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 3], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 4], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,122 @@ | |||
{ | |||
"keyboard_name": "Luddite", | |||
"manufacturer": "di0ib", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x4C55", | |||
"device_version": "10.0.1" | |||
}, | |||
"features": { | |||
"backlight": true, | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": true, | |||
"rgblight": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"], | |||
"rows": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"backlight": { | |||
"pin": "B5", | |||
"levels": 4 | |||
}, | |||
"rgblight": { | |||
"led_count": 8, | |||
"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": "B4" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["60_ansi"], | |||
"layouts": { | |||
"LAYOUT_60_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": [1, 0], "x": 8, "y": 0}, | |||
{"matrix": [1, 1], "x": 9, "y": 0}, | |||
{"matrix": [1, 2], "x": 10, "y": 0}, | |||
{"matrix": [1, 3], "x": 11, "y": 0}, | |||
{"matrix": [1, 4], "x": 12, "y": 0}, | |||
{"matrix": [1, 5], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 6], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 7], "x": 1.5, "y": 1}, | |||
{"matrix": [2, 0], "x": 2.5, "y": 1}, | |||
{"matrix": [2, 1], "x": 3.5, "y": 1}, | |||
{"matrix": [2, 2], "x": 4.5, "y": 1}, | |||
{"matrix": [2, 3], "x": 5.5, "y": 1}, | |||
{"matrix": [2, 4], "x": 6.5, "y": 1}, | |||
{"matrix": [2, 5], "x": 7.5, "y": 1}, | |||
{"matrix": [2, 6], "x": 8.5, "y": 1}, | |||
{"matrix": [2, 7], "x": 9.5, "y": 1}, | |||
{"matrix": [3, 0], "x": 10.5, "y": 1}, | |||
{"matrix": [3, 1], "x": 11.5, "y": 1}, | |||
{"matrix": [3, 2], "x": 12.5, "y": 1}, | |||
{"matrix": [3, 3], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [3, 4], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [3, 5], "x": 1.75, "y": 2}, | |||
{"matrix": [3, 6], "x": 2.75, "y": 2}, | |||
{"matrix": [3, 7], "x": 3.75, "y": 2}, | |||
{"matrix": [4, 0], "x": 4.75, "y": 2}, | |||
{"matrix": [4, 1], "x": 5.75, "y": 2}, | |||
{"matrix": [4, 2], "x": 6.75, "y": 2}, | |||
{"matrix": [4, 3], "x": 7.75, "y": 2}, | |||
{"matrix": [4, 4], "x": 8.75, "y": 2}, | |||
{"matrix": [4, 5], "x": 9.75, "y": 2}, | |||
{"matrix": [4, 6], "x": 10.75, "y": 2}, | |||
{"matrix": [4, 7], "x": 11.75, "y": 2}, | |||
{"matrix": [5, 0], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [5, 1], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [5, 2], "x": 2.25, "y": 3}, | |||
{"matrix": [5, 3], "x": 3.25, "y": 3}, | |||
{"matrix": [5, 4], "x": 4.25, "y": 3}, | |||
{"matrix": [5, 5], "x": 5.25, "y": 3}, | |||
{"matrix": [5, 6], "x": 6.25, "y": 3}, | |||
{"matrix": [5, 7], "x": 7.25, "y": 3}, | |||
{"matrix": [6, 0], "x": 8.25, "y": 3}, | |||
{"matrix": [6, 1], "x": 9.25, "y": 3}, | |||
{"matrix": [6, 2], "x": 10.25, "y": 3}, | |||
{"matrix": [6, 3], "x": 11.25, "y": 3}, | |||
{"matrix": [6, 4], "x": 12.25, "y": 3, "w": 2.75}, | |||
{"matrix": [6, 5], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 6], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 7], "x": 2.5, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 0], "x": 3.75, "y": 4, "w": 6.25}, | |||
{"matrix": [7, 1], "x": 10, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 2], "x": 11.25, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 3], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 4], "x": 13.75, "y": 4, "w": 1.25} | |||
] | |||
} | |||
} | |||
} |
@ -1,12 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = yes # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | |||
AUDIO_ENABLE = no | |||
RGBLIGHT_ENABLE = yes |
@ -1,105 +0,0 @@ | |||
{ | |||
"keyboard_name": "MF68", | |||
"manufacturer": "di0ib", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x4D68", | |||
"device_version": "1.0.1" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4"], | |||
"rows": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"backlight": { | |||
"pin": "B5", | |||
"breathing": true | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["68_ansi"], | |||
"layouts": { | |||
"LAYOUT_68_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": [1, 0], "x": 9, "y": 0}, | |||
{"matrix": [1, 1], "x": 10, "y": 0}, | |||
{"matrix": [1, 2], "x": 11, "y": 0}, | |||
{"matrix": [1, 3], "x": 12, "y": 0}, | |||
{"matrix": [1, 4], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 5], "x": 15.25, "y": 0}, | |||
{"matrix": [1, 6], "x": 16.25, "y": 0}, | |||
{"matrix": [1, 7], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 8], "x": 1.5, "y": 1}, | |||
{"matrix": [2, 0], "x": 2.5, "y": 1}, | |||
{"matrix": [2, 1], "x": 3.5, "y": 1}, | |||
{"matrix": [2, 2], "x": 4.5, "y": 1}, | |||
{"matrix": [2, 3], "x": 5.5, "y": 1}, | |||
{"matrix": [2, 4], "x": 6.5, "y": 1}, | |||
{"matrix": [2, 5], "x": 7.5, "y": 1}, | |||
{"matrix": [2, 6], "x": 8.5, "y": 1}, | |||
{"matrix": [2, 7], "x": 9.5, "y": 1}, | |||
{"matrix": [2, 8], "x": 10.5, "y": 1}, | |||
{"matrix": [3, 0], "x": 11.5, "y": 1}, | |||
{"matrix": [3, 1], "x": 12.5, "y": 1}, | |||
{"matrix": [3, 2], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [3, 3], "x": 15.25, "y": 1}, | |||
{"matrix": [3, 4], "x": 16.25, "y": 1}, | |||
{"matrix": [3, 5], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [3, 6], "x": 1.75, "y": 2}, | |||
{"matrix": [3, 7], "x": 2.75, "y": 2}, | |||
{"matrix": [3, 8], "x": 3.75, "y": 2}, | |||
{"matrix": [4, 0], "x": 4.75, "y": 2}, | |||
{"matrix": [4, 1], "x": 5.75, "y": 2}, | |||
{"matrix": [4, 2], "x": 6.75, "y": 2}, | |||
{"matrix": [4, 3], "x": 7.75, "y": 2}, | |||
{"matrix": [4, 4], "x": 8.75, "y": 2}, | |||
{"matrix": [4, 5], "x": 9.75, "y": 2}, | |||
{"matrix": [4, 6], "x": 10.75, "y": 2}, | |||
{"matrix": [4, 7], "x": 11.75, "y": 2}, | |||
{"matrix": [4, 8], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [5, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [5, 1], "x": 2.25, "y": 3}, | |||
{"matrix": [5, 2], "x": 3.25, "y": 3}, | |||
{"matrix": [5, 3], "x": 4.25, "y": 3}, | |||
{"matrix": [5, 4], "x": 5.25, "y": 3}, | |||
{"matrix": [5, 5], "x": 6.25, "y": 3}, | |||
{"matrix": [5, 6], "x": 7.25, "y": 3}, | |||
{"matrix": [5, 7], "x": 8.25, "y": 3}, | |||
{"matrix": [5, 8], "x": 9.25, "y": 3}, | |||
{"matrix": [6, 0], "x": 10.25, "y": 3}, | |||
{"matrix": [6, 1], "x": 11.25, "y": 3}, | |||
{"matrix": [6, 2], "x": 12.25, "y": 3, "w": 2.75}, | |||
{"matrix": [6, 3], "x": 15.25, "y": 3}, | |||
{"matrix": [6, 4], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 5], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 6], "x": 2.5, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 7], "x": 3.75, "y": 4, "w": 6.25}, | |||
{"matrix": [6, 8], "x": 10, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 0], "x": 11.25, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 1], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 2], "x": 14.25, "y": 4}, | |||
{"matrix": [7, 3], "x": 15.25, "y": 4}, | |||
{"matrix": [7, 4], "x": 16.25, "y": 4} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,114 @@ | |||
{ | |||
"keyboard_name": "MF68", | |||
"manufacturer": "di0ib", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x4D68", | |||
"device_version": "1.0.1" | |||
}, | |||
"features": { | |||
"backlight": true, | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["D3", "D2", "D1", "D0", "D4", "C6", "D7", "E6", "B4"], | |||
"rows": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"backlight": { | |||
"pin": "B5", | |||
"breathing": true | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["68_ansi"], | |||
"layouts": { | |||
"LAYOUT_68_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": [1, 0], "x": 9, "y": 0}, | |||
{"matrix": [1, 1], "x": 10, "y": 0}, | |||
{"matrix": [1, 2], "x": 11, "y": 0}, | |||
{"matrix": [1, 3], "x": 12, "y": 0}, | |||
{"matrix": [1, 4], "x": 13, "y": 0, "w": 2}, | |||
{"matrix": [1, 5], "x": 15.25, "y": 0}, | |||
{"matrix": [1, 6], "x": 16.25, "y": 0}, | |||
{"matrix": [1, 7], "x": 0, "y": 1, "w": 1.5}, | |||
{"matrix": [1, 8], "x": 1.5, "y": 1}, | |||
{"matrix": [2, 0], "x": 2.5, "y": 1}, | |||
{"matrix": [2, 1], "x": 3.5, "y": 1}, | |||
{"matrix": [2, 2], "x": 4.5, "y": 1}, | |||
{"matrix": [2, 3], "x": 5.5, "y": 1}, | |||
{"matrix": [2, 4], "x": 6.5, "y": 1}, | |||
{"matrix": [2, 5], "x": 7.5, "y": 1}, | |||
{"matrix": [2, 6], "x": 8.5, "y": 1}, | |||
{"matrix": [2, 7], "x": 9.5, "y": 1}, | |||
{"matrix": [2, 8], "x": 10.5, "y": 1}, | |||
{"matrix": [3, 0], "x": 11.5, "y": 1}, | |||
{"matrix": [3, 1], "x": 12.5, "y": 1}, | |||
{"matrix": [3, 2], "x": 13.5, "y": 1, "w": 1.5}, | |||
{"matrix": [3, 3], "x": 15.25, "y": 1}, | |||
{"matrix": [3, 4], "x": 16.25, "y": 1}, | |||
{"matrix": [3, 5], "x": 0, "y": 2, "w": 1.75}, | |||
{"matrix": [3, 6], "x": 1.75, "y": 2}, | |||
{"matrix": [3, 7], "x": 2.75, "y": 2}, | |||
{"matrix": [3, 8], "x": 3.75, "y": 2}, | |||
{"matrix": [4, 0], "x": 4.75, "y": 2}, | |||
{"matrix": [4, 1], "x": 5.75, "y": 2}, | |||
{"matrix": [4, 2], "x": 6.75, "y": 2}, | |||
{"matrix": [4, 3], "x": 7.75, "y": 2}, | |||
{"matrix": [4, 4], "x": 8.75, "y": 2}, | |||
{"matrix": [4, 5], "x": 9.75, "y": 2}, | |||
{"matrix": [4, 6], "x": 10.75, "y": 2}, | |||
{"matrix": [4, 7], "x": 11.75, "y": 2}, | |||
{"matrix": [4, 8], "x": 12.75, "y": 2, "w": 2.25}, | |||
{"matrix": [5, 0], "x": 0, "y": 3, "w": 2.25}, | |||
{"matrix": [5, 1], "x": 2.25, "y": 3}, | |||
{"matrix": [5, 2], "x": 3.25, "y": 3}, | |||
{"matrix": [5, 3], "x": 4.25, "y": 3}, | |||
{"matrix": [5, 4], "x": 5.25, "y": 3}, | |||
{"matrix": [5, 5], "x": 6.25, "y": 3}, | |||
{"matrix": [5, 6], "x": 7.25, "y": 3}, | |||
{"matrix": [5, 7], "x": 8.25, "y": 3}, | |||
{"matrix": [5, 8], "x": 9.25, "y": 3}, | |||
{"matrix": [6, 0], "x": 10.25, "y": 3}, | |||
{"matrix": [6, 1], "x": 11.25, "y": 3}, | |||
{"matrix": [6, 2], "x": 12.25, "y": 3, "w": 2.75}, | |||
{"matrix": [6, 3], "x": 15.25, "y": 3}, | |||
{"matrix": [6, 4], "x": 0, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 5], "x": 1.25, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 6], "x": 2.5, "y": 4, "w": 1.25}, | |||
{"matrix": [6, 7], "x": 3.75, "y": 4, "w": 6.25}, | |||
{"matrix": [6, 8], "x": 10, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 0], "x": 11.25, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 1], "x": 12.5, "y": 4, "w": 1.25}, | |||
{"matrix": [7, 2], "x": 14.25, "y": 4}, | |||
{"matrix": [7, 3], "x": 15.25, "y": 4}, | |||
{"matrix": [7, 4], "x": 16.25, "y": 4} | |||
] | |||
} | |||
} | |||
} |
@ -1,12 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = yes # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
AUDIO_ENABLE = no # Audio output |
@ -1,54 +0,0 @@ | |||
{ | |||
"keyboard_name": "Nano", | |||
"manufacturer": "di0ib", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x0007", | |||
"device_version": "0.0.1" | |||
}, | |||
"rgblight": { | |||
"led_count": 6, | |||
"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": "D3" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"matrix_pins": { | |||
"direct": [ | |||
["F4", "F5", "F6", "F7"], | |||
["D1", "D0", "D4", "C6"] | |||
] | |||
}, | |||
"layout_aliases": { | |||
"LAYOUT": "LAYOUT_ortho_2x4" | |||
}, | |||
"layouts": { | |||
"LAYOUT_ortho_2x4": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 3, "y": 0, "matrix": [0, 3]}, | |||
{"x": 0, "y": 1, "matrix": [1, 0]}, | |||
{"x": 1, "y": 1, "matrix": [1, 1]}, | |||
{"x": 2, "y": 1, "matrix": [1, 2]}, | |||
{"x": 3, "y": 1, "matrix": [1, 3]} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,64 @@ | |||
{ | |||
"keyboard_name": "Nano", | |||
"manufacturer": "di0ib", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x0007", | |||
"device_version": "0.0.1" | |||
}, | |||
"rgblight": { | |||
"led_count": 6, | |||
"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": "D3" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"features": { | |||
"bootmagic": false, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": true, | |||
"rgblight": true, | |||
"unicode": true | |||
}, | |||
"matrix_pins": { | |||
"direct": [ | |||
["F4", "F5", "F6", "F7"], | |||
["D1", "D0", "D4", "C6"] | |||
] | |||
}, | |||
"layout_aliases": { | |||
"LAYOUT": "LAYOUT_ortho_2x4" | |||
}, | |||
"layouts": { | |||
"LAYOUT_ortho_2x4": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 3, "y": 0, "matrix": [0, 3]}, | |||
{"x": 0, "y": 1, "matrix": [1, 0]}, | |||
{"x": 1, "y": 1, "matrix": [1, 1]}, | |||
{"x": 2, "y": 1, "matrix": [1, 2]}, | |||
{"x": 3, "y": 1, "matrix": [1, 3]} | |||
] | |||
} | |||
} | |||
} |
@ -1,13 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = yes # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
AUDIO_ENABLE = no # Audio output | |||
UNICODE_ENABLE = yes # Unicode | |||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. |
@ -1,35 +0,0 @@ | |||
{ | |||
"keyboard_name": "The nein Keyboard", | |||
"manufacturer": "di0ib", | |||
"url": "http://www.40percent.club/2019/04/nein.html", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x9999", | |||
"device_version": "99.9.9" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"matrix_pins": { | |||
"direct": [ | |||
["F4", "F5", "F6"], | |||
["F7", "B1", "B3"], | |||
["B2", "B6", "B5"] | |||
] | |||
}, | |||
"layouts": { | |||
"LAYOUT_ortho_3x3": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 0, "y": 1, "matrix": [1, 0]}, | |||
{"x": 1, "y": 1, "matrix": [1, 1]}, | |||
{"x": 2, "y": 1, "matrix": [1, 2]}, | |||
{"x": 0, "y": 2, "matrix": [2, 0]}, | |||
{"x": 1, "y": 2, "matrix": [2, 1]}, | |||
{"x": 2, "y": 2, "matrix": [2, 2]} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,43 @@ | |||
{ | |||
"keyboard_name": "The nein Keyboard", | |||
"manufacturer": "di0ib", | |||
"url": "http://www.40percent.club/2019/04/nein.html", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x9999", | |||
"device_version": "99.9.9" | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": true | |||
}, | |||
"matrix_pins": { | |||
"direct": [ | |||
["F4", "F5", "F6"], | |||
["F7", "B1", "B3"], | |||
["B2", "B6", "B5"] | |||
] | |||
}, | |||
"layouts": { | |||
"LAYOUT_ortho_3x3": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 0, "y": 1, "matrix": [1, 0]}, | |||
{"x": 1, "y": 1, "matrix": [1, 1]}, | |||
{"x": 2, "y": 1, "matrix": [1, 2]}, | |||
{"x": 0, "y": 2, "matrix": [2, 0]}, | |||
{"x": 1, "y": 2, "matrix": [2, 1]}, | |||
{"x": 2, "y": 2, "matrix": [2, 2]} | |||
] | |||
} | |||
} | |||
} |
@ -1,12 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = yes # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
AUDIO_ENABLE = no # Audio output |
@ -1,43 +0,0 @@ | |||
{ | |||
"keyboard_name": "Six Pack", | |||
"manufacturer": "di0ib", | |||
"url": "https://www.40percent.club/2017/05/six-pack-11.html", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x5350", | |||
"device_version": "10.0.1" | |||
}, | |||
"backlight": { | |||
"driver": "timer", | |||
"pins": ["F4", "F5"], | |||
"levels": 6, | |||
"breathing": true | |||
}, | |||
"indicators": { | |||
"caps_lock": "B0", | |||
"num_lock": "D5", | |||
"on_state": 0 | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"matrix_pins": { | |||
"direct": [ | |||
["D4", "C6", "D7"], | |||
["E6", "B4", "B5"] | |||
] | |||
}, | |||
"community_layouts": ["ortho_2x3"], | |||
"layouts": { | |||
"LAYOUT_ortho_2x3": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 0, "y": 1, "matrix": [1, 0]}, | |||
{"x": 1, "y": 1, "matrix": [1, 1]}, | |||
{"x": 2, "y": 1, "matrix": [1, 2]} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,52 @@ | |||
{ | |||
"keyboard_name": "Six Pack", | |||
"manufacturer": "di0ib", | |||
"url": "https://www.40percent.club/2017/05/six-pack-11.html", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x5350", | |||
"device_version": "10.0.1" | |||
}, | |||
"backlight": { | |||
"driver": "timer", | |||
"pins": ["F4", "F5"], | |||
"levels": 6, | |||
"breathing": true | |||
}, | |||
"indicators": { | |||
"caps_lock": "B0", | |||
"num_lock": "D5", | |||
"on_state": 0 | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"features": { | |||
"backlight": true, | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": false | |||
}, | |||
"matrix_pins": { | |||
"direct": [ | |||
["D4", "C6", "D7"], | |||
["E6", "B4", "B5"] | |||
] | |||
}, | |||
"community_layouts": ["ortho_2x3"], | |||
"layouts": { | |||
"LAYOUT_ortho_2x3": { | |||
"layout": [ | |||
{"x": 0, "y": 0, "matrix": [0, 0]}, | |||
{"x": 1, "y": 0, "matrix": [0, 1]}, | |||
{"x": 2, "y": 0, "matrix": [0, 2]}, | |||
{"x": 0, "y": 1, "matrix": [1, 0]}, | |||
{"x": 1, "y": 1, "matrix": [1, 1]}, | |||
{"x": 2, "y": 1, "matrix": [1, 2]} | |||
] | |||
} | |||
} | |||
} |
@ -1,12 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = no # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | |||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||
AUDIO_ENABLE = no # Audio output |
@ -1,77 +0,0 @@ | |||
{ | |||
"keyboard_name": "Tomato", | |||
"manufacturer": "40 Percent Club", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x546F", | |||
"device_version": "0.0.1" | |||
}, | |||
"rgblight": { | |||
"saturation_steps": 8, | |||
"brightness_steps": 8, | |||
"led_count": 30, | |||
"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": "B5" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["B4", "E6", "D7", "C6", "D4", "D0"], | |||
"rows": ["F7", "B1", "B3", "B2", "B6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["ortho_3x10"], | |||
"layouts": { | |||
"LAYOUT_ortho_3x10": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [1, 0], "x": 6, "y": 0}, | |||
{"matrix": [1, 1], "x": 7, "y": 0}, | |||
{"matrix": [1, 2], "x": 8, "y": 0}, | |||
{"matrix": [1, 3], "x": 9, "y": 0}, | |||
{"matrix": [1, 4], "x": 0, "y": 1}, | |||
{"matrix": [1, 5], "x": 1, "y": 1}, | |||
{"matrix": [2, 0], "x": 2, "y": 1}, | |||
{"matrix": [2, 1], "x": 3, "y": 1}, | |||
{"matrix": [2, 2], "x": 4, "y": 1}, | |||
{"matrix": [2, 3], "x": 5, "y": 1}, | |||
{"matrix": [2, 4], "x": 6, "y": 1}, | |||
{"matrix": [2, 5], "x": 7, "y": 1}, | |||
{"matrix": [3, 0], "x": 8, "y": 1}, | |||
{"matrix": [3, 1], "x": 9, "y": 1}, | |||
{"matrix": [3, 2], "x": 0, "y": 2}, | |||
{"matrix": [3, 3], "x": 1, "y": 2}, | |||
{"matrix": [3, 4], "x": 2, "y": 2}, | |||
{"matrix": [3, 5], "x": 3, "y": 2}, | |||
{"matrix": [4, 0], "x": 4, "y": 2}, | |||
{"matrix": [4, 1], "x": 5, "y": 2}, | |||
{"matrix": [4, 2], "x": 6, "y": 2}, | |||
{"matrix": [4, 3], "x": 7, "y": 2}, | |||
{"matrix": [4, 4], "x": 8, "y": 2}, | |||
{"matrix": [4, 5], "x": 9, "y": 2} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,86 @@ | |||
{ | |||
"keyboard_name": "Tomato", | |||
"manufacturer": "40 Percent Club", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"usb": { | |||
"vid": "0x4025", | |||
"pid": "0x546F", | |||
"device_version": "0.0.1" | |||
}, | |||
"rgblight": { | |||
"saturation_steps": 8, | |||
"brightness_steps": 8, | |||
"led_count": 30, | |||
"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": "B5" | |||
}, | |||
"features": { | |||
"bootmagic": true, | |||
"command": false, | |||
"console": false, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": true, | |||
"rgblight": true | |||
}, | |||
"matrix_pins": { | |||
"cols": ["B4", "E6", "D7", "C6", "D4", "D0"], | |||
"rows": ["F7", "B1", "B3", "B2", "B6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"processor": "atmega32u4", | |||
"bootloader": "caterina", | |||
"community_layouts": ["ortho_3x10"], | |||
"layouts": { | |||
"LAYOUT_ortho_3x10": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [1, 0], "x": 6, "y": 0}, | |||
{"matrix": [1, 1], "x": 7, "y": 0}, | |||
{"matrix": [1, 2], "x": 8, "y": 0}, | |||
{"matrix": [1, 3], "x": 9, "y": 0}, | |||
{"matrix": [1, 4], "x": 0, "y": 1}, | |||
{"matrix": [1, 5], "x": 1, "y": 1}, | |||
{"matrix": [2, 0], "x": 2, "y": 1}, | |||
{"matrix": [2, 1], "x": 3, "y": 1}, | |||
{"matrix": [2, 2], "x": 4, "y": 1}, | |||
{"matrix": [2, 3], "x": 5, "y": 1}, | |||
{"matrix": [2, 4], "x": 6, "y": 1}, | |||
{"matrix": [2, 5], "x": 7, "y": 1}, | |||
{"matrix": [3, 0], "x": 8, "y": 1}, | |||
{"matrix": [3, 1], "x": 9, "y": 1}, | |||
{"matrix": [3, 2], "x": 0, "y": 2}, | |||
{"matrix": [3, 3], "x": 1, "y": 2}, | |||
{"matrix": [3, 4], "x": 2, "y": 2}, | |||
{"matrix": [3, 5], "x": 3, "y": 2}, | |||
{"matrix": [4, 0], "x": 4, "y": 2}, | |||
{"matrix": [4, 1], "x": 5, "y": 2}, | |||
{"matrix": [4, 2], "x": 6, "y": 2}, | |||
{"matrix": [4, 3], "x": 7, "y": 2}, | |||
{"matrix": [4, 4], "x": 8, "y": 2}, | |||
{"matrix": [4, 5], "x": 9, "y": 2} | |||
] | |||
} | |||
} | |||
} |
@ -1,12 +0,0 @@ | |||
# Build Options | |||
# change yes to no to disable | |||
# | |||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite | |||
MOUSEKEY_ENABLE = yes # Mouse keys | |||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||
CONSOLE_ENABLE = no # Console for debug | |||
COMMAND_ENABLE = no # Commands for debug and configuration | |||
NKRO_ENABLE = yes # Enable N-Key Rollover | |||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||
AUDIO_ENABLE = no | |||
RGBLIGHT_ENABLE = yes |
@ -1,208 +0,0 @@ | |||
{ | |||
"keyboard_name": "45ATS", | |||
"manufacturer": "Abec13", | |||
"url": "", | |||
"maintainer": "The-Royal", | |||
"usb": { | |||
"vid": "0xAB13", | |||
"pid": "0x4511", | |||
"device_version": "0.0.1" | |||
}, | |||
"matrix_pins": { | |||
"cols": ["E6", "B0", "B1", "B2", "B3", "B7", "F6", "F5", "F4", "C7", "F7", "C6", "B6", "D4"], | |||
"rows": ["D3", "D5", "D7", "D6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"encoder": { | |||
"rotary": [ | |||
{"pin_a": "B4", "pin_b": "B5"} | |||
] | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "atmel-dfu", | |||
"layouts": { | |||
"LAYOUT_split_space": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13.5, "y": 0}, | |||
{"matrix": [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, 10], "x": 10.25, "y": 1}, | |||
{"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.75}, | |||
{"matrix": [1, 13], "x": 13.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, "w": 1.25}, | |||
{"matrix": [2, 11], "x": 12.25, "y": 2.25}, | |||
{"matrix": [2, 13], "x": 13.5, "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, "w": 1.25}, | |||
{"matrix": [3, 3], "x": 3.5, "y": 3, "w": 2.75}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 8], "x": 8.5, "y": 3, "w": 1.25}, | |||
{"matrix": [3, 9], "x": 9.75, "y": 3, "w": 1.25}, | |||
{"matrix": [3, 10], "x": 11.25, "y": 3.25}, | |||
{"matrix": [3, 11], "x": 12.25, "y": 3.25}, | |||
{"matrix": [3, 13], "x": 13.25, "y": 3.25} | |||
] | |||
}, | |||
"LAYOUT_625_space": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13.5, "y": 0}, | |||
{"matrix": [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, 10], "x": 10.25, "y": 1}, | |||
{"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.75}, | |||
{"matrix": [1, 13], "x": 13.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, "w": 1.25}, | |||
{"matrix": [2, 11], "x": 12.25, "y": 2.25}, | |||
{"matrix": [2, 13], "x": 13.5, "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, "w": 1.25}, | |||
{"matrix": [3, 6], "x": 3.5, "y": 3, "w": 6.25}, | |||
{"matrix": [3, 9], "x": 9.75, "y": 3, "w": 1.25}, | |||
{"matrix": [3, 10], "x": 11.25, "y": 3.25}, | |||
{"matrix": [3, 11], "x": 12.25, "y": 3.25}, | |||
{"matrix": [3, 13], "x": 13.25, "y": 3.25} | |||
] | |||
}, | |||
"LAYOUT_600_space": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13.5, "y": 0}, | |||
{"matrix": [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, 10], "x": 10.25, "y": 1}, | |||
{"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.75}, | |||
{"matrix": [1, 13], "x": 13.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, "w": 1.25}, | |||
{"matrix": [2, 11], "x": 12.25, "y": 2.25}, | |||
{"matrix": [2, 13], "x": 13.5, "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, 6], "x": 3, "y": 3, "w": 6}, | |||
{"matrix": [3, 8], "x": 9, "y": 3}, | |||
{"matrix": [3, 9], "x": 10, "y": 3}, | |||
{"matrix": [3, 10], "x": 11.25, "y": 3.25}, | |||
{"matrix": [3, 11], "x": 12.25, "y": 3.25}, | |||
{"matrix": [3, 13], "x": 13.25, "y": 3.25} | |||
] | |||
} | |||
} | |||
} |
@ -0,0 +1,216 @@ | |||
{ | |||
"keyboard_name": "45ATS", | |||
"manufacturer": "Abec13", | |||
"url": "", | |||
"maintainer": "The-Royal", | |||
"usb": { | |||
"vid": "0xAB13", | |||
"pid": "0x4511", | |||
"device_version": "0.0.1" | |||
}, | |||
"features": { | |||
"bootmagic": true, | |||
"command": true, | |||
"console": true, | |||
"extrakey": true, | |||
"mousekey": true, | |||
"nkro": false | |||
}, | |||
"matrix_pins": { | |||
"cols": ["E6", "B0", "B1", "B2", "B3", "B7", "F6", "F5", "F4", "C7", "F7", "C6", "B6", "D4"], | |||
"rows": ["D3", "D5", "D7", "D6"] | |||
}, | |||
"diode_direction": "COL2ROW", | |||
"encoder": { | |||
"rotary": [ | |||
{"pin_a": "B4", "pin_b": "B5"} | |||
] | |||
}, | |||
"processor": "atmega32u4", | |||
"bootloader": "atmel-dfu", | |||
"layouts": { | |||
"LAYOUT_split_space": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13.5, "y": 0}, | |||
{"matrix": [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, 10], "x": 10.25, "y": 1}, | |||
{"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.75}, | |||
{"matrix": [1, 13], "x": 13.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, "w": 1.25}, | |||
{"matrix": [2, 11], "x": 12.25, "y": 2.25}, | |||
{"matrix": [2, 13], "x": 13.5, "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, "w": 1.25}, | |||
{"matrix": [3, 3], "x": 3.5, "y": 3, "w": 2.75}, | |||
{"matrix": [3, 6], "x": 6.25, "y": 3, "w": 2.25}, | |||
{"matrix": [3, 8], "x": 8.5, "y": 3, "w": 1.25}, | |||
{"matrix": [3, 9], "x": 9.75, "y": 3, "w": 1.25}, | |||
{"matrix": [3, 10], "x": 11.25, "y": 3.25}, | |||
{"matrix": [3, 11], "x": 12.25, "y": 3.25}, | |||
{"matrix": [3, 13], "x": 13.25, "y": 3.25} | |||
] | |||
}, | |||
"LAYOUT_625_space": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13.5, "y": 0}, | |||
{"matrix": [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, 10], "x": 10.25, "y": 1}, | |||
{"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.75}, | |||
{"matrix": [1, 13], "x": 13.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, "w": 1.25}, | |||
{"matrix": [2, 11], "x": 12.25, "y": 2.25}, | |||
{"matrix": [2, 13], "x": 13.5, "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, "w": 1.25}, | |||
{"matrix": [3, 6], "x": 3.5, "y": 3, "w": 6.25}, | |||
{"matrix": [3, 9], "x": 9.75, "y": 3, "w": 1.25}, | |||
{"matrix": [3, 10], "x": 11.25, "y": 3.25}, | |||
{"matrix": [3, 11], "x": 12.25, "y": 3.25}, | |||
{"matrix": [3, 13], "x": 13.25, "y": 3.25} | |||
] | |||
}, | |||
"LAYOUT_600_space": { | |||
"layout": [ | |||
{"matrix": [0, 0], "x": 0, "y": 0}, | |||
{"matrix": [0, 1], "x": 1, "y": 0}, | |||
{"matrix": [0, 2], "x": 2, "y": 0}, | |||
{"matrix": [0, 3], "x": 3, "y": 0}, | |||
{"matrix": [0, 4], "x": 4, "y": 0}, | |||
{"matrix": [0, 5], "x": 5, "y": 0}, | |||
{"matrix": [0, 6], "x": 6, "y": 0}, | |||
{"matrix": [0, 7], "x": 7, "y": 0}, | |||
{"matrix": [0, 8], "x": 8, "y": 0}, | |||
{"matrix": [0, 9], "x": 9, "y": 0}, | |||
{"matrix": [0, 10], "x": 10, "y": 0}, | |||
{"matrix": [0, 11], "x": 11, "y": 0}, | |||
{"matrix": [0, 12], "x": 12, "y": 0}, | |||
{"matrix": [0, 13], "x": 13.5, "y": 0}, | |||
{"matrix": [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, 10], "x": 10.25, "y": 1}, | |||
{"matrix": [1, 11], "x": 11.25, "y": 1, "w": 1.75}, | |||
{"matrix": [1, 13], "x": 13.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, "w": 1.25}, | |||
{"matrix": [2, 11], "x": 12.25, "y": 2.25}, | |||
{"matrix": [2, 13], "x": 13.5, "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, 6], "x": 3, "y": 3, "w": 6}, | |||
{"matrix": [3, 8], "x": 9, "y": 3}, | |||
{"matrix": [3, 9], "x": 10, "y": 3}, | |||
{"matrix": [3, 10], "x": 11.25, "y": 3.25}, | |||
{"matrix": [3, 11], "x": 12.25, "y": 3.25}, | |||
{"matrix": [3, 13], "x": 13.25, "y": 3.25} | |||
] | |||
} | |||
} | |||
} |