Compare commits

...

21 Commits

Author SHA1 Message Date
Ryan
eba512596a Add stm32-dfu and apm32-dfu to bootloader.mk (#11019)
* Add stm32-dfu and apm32-dfu to bootloader.mk

* Update flashing docs

* Update comment

* Further wordsmithing
2021-01-20 14:04:21 +11:00
Craig Gardner
d28d474dc0 [Keyboard] Leafcutterlabs (#11464)
* add support for bigknob

Add support for bigknob macropad

* corrected files

* Apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

* corrected tap dance

* Update config.h

* correct image link

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* added GPL headers

* Update readme.md

* update rules to disable tap dance

* remove tap dance

* Update rules.mk

trying to get to pass travis test

* Update rules.mk

remove tap dance

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-19 18:51:33 -08:00
Joshua Diamond
c0728bd189 Improve the Lighting Layers example in RGB Lighting docs (#11454)
* Improve the keymap layer state -> lighting layers example

* A few more improvements
2021-01-19 18:49:02 -08:00
Takeshi Nishio
71f067a60e Fix wrong key when "Music Map" is used with MAJOR_MODE. (#11234)
With MAJOR_MODE (= major scale), keys in one octave is not 12 but 7.
To solve this problem, change divisor number from 12 to 7 at %(Modulo) and /(Division).

NOTE:
The last 12 represents half step keys in one octave for pitch calculation.
2021-01-19 18:08:06 -08:00
MesaKeyboards
974d3f1ffd [Keyboard] Add Mesa TKL (#11294)
* Add keyboard: Mesa TKL

* Fix image link in readme

* Update keyboards/mesa/mesa_tkl/mesa_tkl.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/mesa/mesa_tkl/rules.mk

White space changes

Co-authored-by: Ryan <fauxpark@gmail.com>

* Replace tabs with spaces per C coding conventions.

* Update keyboards/mesa/mesa_tkl/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-19 18:05:08 -08:00
melonbred
e6a90c8b04 Update info.json - Program Yoink (#11558)
* Update info.json

Fix ortho_split
2021-01-19 17:47:02 -08:00
Ryan
2cdc3699e1 Remove DESCRIPTION, W-Z (#11633) 2021-01-20 12:41:34 +11:00
Ryan
e0ed2c950d Remove DESCRIPTION, R-V (#11632) 2021-01-20 12:40:35 +11:00
Ryan
4ed67d666e Remove DESCRIPTION, N-Q (#11631) 2021-01-20 11:57:45 +11:00
Ryan
1e1b469fa2 Remove DESCRIPTION, K-M (#11619) 2021-01-20 09:56:41 +11:00
Nick Brassel
49dcc824db Fixup declaration for _kill, add other missing syscalls, populate errno. (#11608) 2021-01-19 14:23:03 +00:00
Ryan
62f304a225 Remove DESCRIPTION, H-J (#11616) 2021-01-20 00:38:12 +11:00
Glen D'souza
d24fe4f1ca GCC 10 compatibility for Ploopy optical encoder (#11586) 2021-01-19 13:23:54 +11:00
CMMS-Freather
677789df77 change to cmm.studio saka68 folder. split to solder and hotswap, add hotswap fimware (#11443)
* new repo: create cmm.studio folder, add saka qmk firmware

new folder for cmm.studio line up keyboard
added saka68 keyboard qmk and via firmware support

* Update keyboards/cmm.studio/saka68/config.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/cmm.studio/saka68/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/cmm.studio/saka68/keymaps/via/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/cmm.studio/saka68/config.h

Co-authored-by: Ryan <fauxpark@gmail.com>

* fix on keymap, readme

fix on keymap, readme

* Update keyboards/cmm.studio/saka68/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/cmm.studio/saka68/keymaps/default/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* update vendor name with _ instead of .

update vendor name with _ instead of .

* Update readme.md

change the make format

* Update keyboards/cmm_studio/saka68/keymaps/default/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* deleted some files from cmm.studio, changes to cmm_studio

deleted some files from cmm.studio, changes to cmm_studio

* Update readme.md

make command changed

* Update keyboards/cmm_studio/saka68/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update readme.md

added pic for pcb

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update keyboards/cmm_studio/saka68/config.h

tested and does work now. deleting these lines

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update keyboards/cmm_studio/saka68/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update readme.md

added use physical reset button instruction

* change to the cmm saka folder

making the changes to cmm saka firmware

seperated solder version firmware and hotswap version firmware

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* Update readme.md

* change to the cmm saka hotswap folder

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-19 13:23:13 +11:00
Benjamin Garcia
1dc466d22b New keymaps with KC_LGUI on another key and scroll with encoder (#11479)
* feat(kyria): new keymaps with KC_LGUI on another key

add also possibility to scroll with encoder and finally play with olded
screen to replace default kyria logo by Magic the Gathering mana color
icon.

* Update keyboards/kyria/keymaps/benji/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* add magic logo

* add mouse button

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-19 13:11:45 +11:00
Paul James
993982a985 [Keymap] Add peej userspace and keymaps (#11332) 2021-01-19 13:10:28 +11:00
James Young
01bc8e3b52 Cannonkeys Onyx: Configurator/QMK CLI improvements (#11603)
* info.json: human-friendly formatting

* info.json: correct key object order

* info.json: replace Unicode characters

They don't play nice with `qmk info -l`.

* info.json: correct keyboard dimensions
2021-01-19 13:08:57 +11:00
James Young
dfb8a29718 Caps Unlocked CU65 layout macro fixes (#11606) 2021-01-19 12:22:26 +11:00
datafx
3bb1897bdc [Keyboard] Monstargear XO87 RGB Hot-Swap PCB (#11555)
* Support for Monstargear XO87 Hot-Swap PCB

* Remove manufacturer from product line

* Removed alternate bootloaders

* Updated info.json

* Missed RGB_DISABLE_WHEN_USB_SUSPENDED in config.h

* Delete kb.h

* Update rgb.h

* Update rules.mk

* Add files via upload

* Delete kb.h

* Update keymap.c

* Update config.h

* Update rgb.c

* Add via RGB support

* Update info.json

* Update readme.md

* Update readme.md

* Update config.h

* Update rgb.h

* Update config.h

* Mirror factory layout

* Mirror factory layout

* Update rgb.h

* Update keyboards/xo87/rgb/rgb.c

* Update rgb.c

* Update keyboards/xo87/rgb/config.h

* Update keyboards/xo87/rgb/rules.mk

* Update keyboards/xo87/rgb/rules.mk

* Update keyboards/xo87/rgb/keymaps/via/keymap.c

* Update keyboards/xo87/rgb/rules.mk

* Update keyboards/xo87/rgb/rules.mk

* Update keyboards/xo87/rgb/keymaps/via/keymap.c

* Update config.h

* Update keyboards/xo87/rgb/readme.md

* Update keyboards/xo87/rgb/readme.md

* Update keyboards/xo87/rgb/readme.md

* Update keyboards/xo87/rgb/rules.mk

* Update keyboards/xo87/rgb/rules.mk

* Update keyboards/xo87/rgb/rules.mk

* Update keyboards/xo87/rgb/rules.mk

* Update keyboards/xo87/rgb/rules.mk

* remove deprecated action_get_macro()

* rearrange layout per request

* rearrange layout per request

* Update keyboards/xo87/rgb/rgb.h

* Update keyboards/xo87/rgb/keymaps/default/readme.md

* Update keyboards/xo87/rgb/readme.md

* Bugfix for RGB Matrix

* Bugfix for RGB Matrix

* Moved to new subdirectory and updated build commands to reflect changes

* Remove old files
2021-01-18 10:58:09 -08:00
James Young
03bacec87d Naked64 Configurator update and rework (#11568) 2021-01-18 23:45:56 +11:00
Ryan
cc3f2e2865 Remove DESCRIPTION, E-G (#11574) 2021-01-18 12:49:25 +11:00
729 changed files with 3042 additions and 1140 deletions

View File

@@ -20,15 +20,19 @@
# Sets the bootloader defined in the keyboard's/keymap's rules.mk
# Current options:
#
# halfkay PJRC Teensy
# caterina Pro Micro (Sparkfun/generic)
# atmel-dfu Atmel factory DFU
# lufa-dfu LUFA DFU
# qmk-dfu QMK DFU (LUFA + blinkenlight)
# bootloadHID HIDBootFlash compatible (ATmega32A)
# USBasp USBaspLoader (ATmega328P)
# kiibohd Input:Club Kiibohd bootloader (only used on their boards)
# stm32duino STM32Duino (STM32F103x8)
# AVR:
# halfkay PJRC Teensy
# caterina Pro Micro (Sparkfun/generic)
# atmel-dfu Atmel factory DFU
# lufa-dfu LUFA DFU
# qmk-dfu QMK DFU (LUFA + blinkenlight)
# bootloadHID HIDBootFlash compatible (ATmega32A)
# USBasp USBaspLoader (ATmega328P)
# ARM:
# kiibohd Input:Club Kiibohd bootloader (only used on their boards)
# stm32duino STM32Duino (STM32F103x8)
# stm32-dfu STM32 USB DFU in ROM
# apm32-dfu APM32 USB DFU in ROM
#
# BOOTLOADER_SIZE can still be defined manually, but it's recommended
# you add any possible configuration to this list
@@ -95,6 +99,20 @@ ifdef BOOTLOADER_SIZE
OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE))
endif
ifeq ($(strip $(BOOTLOADER)), stm32-dfu)
OPT_DEFS += -DBOOTLOADER_STM32_DFU
# Options to pass to dfu-util when flashing
DFU_ARGS ?= -d 0483:DF11 -a 0 -s 0x08000000:leave
DFU_SUFFIX_ARGS ?= -v 0483 -p DF11
endif
ifeq ($(strip $(BOOTLOADER)), apm32-dfu)
OPT_DEFS += -DBOOTLOADER_APM32_DFU
# Options to pass to dfu-util when flashing
DFU_ARGS ?= -d 314B:0106 -a 0 -s 0x08000000:leave
DFU_SUFFIX_ARGS ?= -v 314B -p 0106
endif
ifeq ($(strip $(BOOTLOADER)), kiibohd)
OPT_DEFS += -DBOOTLOADER_KIIBOHD
ifeq ($(strip $(MCU_ORIG)), MK20DX128)
@@ -104,10 +122,10 @@ ifeq ($(strip $(BOOTLOADER)), kiibohd)
MCU_LDSCRIPT = MK20DX256BLDR8
endif
# Options to pass to dfu-util when flashing
DFU_ARGS = -d 1C11:B007
DFU_SUFFIX_ARGS = -v 1C11 -p B007
endif
ifeq ($(strip $(BOOTLOADER)), stm32duino)
OPT_DEFS += -DBOOTLOADER_STM32DUINO
MCU_LDSCRIPT = STM32F103x8_stm32duino_bootloader
@@ -115,6 +133,7 @@ ifeq ($(strip $(BOOTLOADER)), stm32duino)
# STM32F103 does NOT have an USB bootloader in ROM (only serial), so setting anything here does not make much sense
STM32_BOOTLOADER_ADDRESS = 0x80000000
DFU_ARGS = -d 1EAF:0003 -a2 -R
# Options to pass to dfu-util when flashing
DFU_ARGS = -d 1EAF:0003 -a 2 -R
DFU_SUFFIX_ARGS = -v 1EAF -p 0003
endif

View File

@@ -196,7 +196,7 @@ it easy to use your underglow LEDs as status indicators to show which keyboard l
By default, 8 layers are possible. This can be expanded to as many as 32 by overriding the definition of `RGBLIGHT_MAX_LAYERS` in `config.h` (e.g. `#define RGBLIGHT_MAX_LAYERS 32`). Please note, if you use a split keyboard, you will need to flash both sides of the split after changing this. Also, increasing the maximum will increase the firmware size, and will slow sync on split keyboards.
To define a layer, we modify `keymap.c` to list out LED ranges and the colors we want to overlay on them using an array of `rgblight_segment_t` using the `RGBLIGHT_LAYER_SEGMENTS` macro. We can define multiple layers and enable/disable them independently:
To define a layer, we modify `keymap.c` to list the LED ranges and the colors we want to overlay on them using an array of `rgblight_segment_t` using the `RGBLIGHT_LAYER_SEGMENTS` macro. We can define multiple layers and enable/disable them independently:
```c
// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore!
@@ -212,6 +212,10 @@ const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{11, 2, HSV_PURPLE}
);
// Light LEDs 13 & 14 in green when keyboard layer 3 is active
const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{13, 2, HSV_GREEN}
);
// etc..
```
@@ -222,7 +226,8 @@ We combine these layers into an array using the `RGBLIGHT_LAYERS_LIST` macro, an
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
my_capslock_layer,
my_layer1_layer, // Overrides caps lock layer
my_layer2_layer // Overrides other layers
my_layer2_layer, // Overrides other layers
my_layer3_layer // Overrides other layers
);
void keyboard_post_init_user(void) {
@@ -238,17 +243,21 @@ Everything above just configured the definition of each lighting layer.
We can now enable and disable the lighting layers whenever the state of the keyboard changes:
```c
layer_state_t layer_state_set_user(layer_state_t state) {
// Both layers will light up if both kb layers are active
rgblight_set_layer_state(1, layer_state_cmp(state, 1));
rgblight_set_layer_state(2, layer_state_cmp(state, 2));
return state;
}
bool led_update_user(led_t led_state) {
rgblight_set_layer_state(0, led_state.caps_lock);
return true;
}
layer_state_t default_layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(1, layer_state_cmp(state, _DVORAK));
return state;
}
layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(2, layer_state_cmp(state, _FN));
rgblight_set_layer_state(3, layer_state_cmp(state, _ADJUST));
return state;
}
```
### Lighting layer blink :id=lighting-layer-blink

View File

@@ -1,242 +1,251 @@
# Flashing Instructions and Bootloader Information
There are quite a few different types of bootloaders that keyboards use, and just about all of them use a different flashing method. Luckily, projects like the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) aim to be compatible with all the different types without having to think about it much, but this article will describe the different types of bootloaders, and available methods for flashing them.
There are quite a few different types of bootloaders that keyboards use, and almost all of them use their own flashing method and tools. Luckily, projects like the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) aim to support as many of them as possible, but this article will describe the different types of bootloaders, and available methods for flashing them.
If you have a bootloader selected with the `BOOTLOADER` variable in your `rules.mk`, QMK will automatically calculate if your .hex file is the right size to be flashed to the device, and output the total size in bytes (along with the max).
For AVR-based keyboards, QMK will automatically calculate if your `.hex` file is the right size to be flashed to the device based on the `BOOTLOADER` value set in `rules.mk`, and output the total size in bytes (along with the max).
## DFU
You will also be able to use the CLI to flash your keyboard, by running:
```
$ qmk flash -kb <keyboard> -km <keymap>
```
See the [`qmk flash`](cli_commands.md#qmk-flash) documentation for more information.
Atmel's DFU bootloader comes on all atmega32u4 chips by default, and is used by many keyboards that have their own ICs on their PCBs (Older OLKB boards, Clueboards). Some keyboards may also use LUFA's DFU bootloader (or QMK's fork) (Newer OLKB boards) that adds in additional features specific to that hardware.
## Atmel DFU
To ensure compatibility with the DFU bootloader, make sure this block is present your `rules.mk` (optionally with `lufa-dfu` or `qmk-dfu` instead):
Atmel's DFU bootloader comes on all USB AVRs by default (except for 16/32U4RC), and is used by many keyboards that have their own ICs on their PCBs (older OLKB boards, Clueboards). Some keyboards may also use LUFA's DFU bootloader, or QMK's fork of it (newer OLKB boards), that adds in additional features specific to that hardware.
To ensure compatibility with the DFU bootloader, make sure this block is present in your `rules.mk` (optionally with `lufa-dfu` or `qmk-dfu` instead):
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
```
Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` in QMK (recommended command line)
* [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` target in QMK (recommended command line)
Flashing sequence:
1. Press the `RESET` keycode, or tap the RESET button (or short RST to GND).
1. Enter the bootloader using any of the following methods:
* Press the `RESET` keycode
* Press the `RESET` button on the PCB if available
* Short RST to GND quickly
2. Wait for the OS to detect the device
3. Erase the memory (may be done automatically)
3. Erase the flash memory (will be done automatically if using the Toolbox or CLI/`make` command)
4. Flash a .hex file
5. Reset the device into application mode (may be done automatically)
or:
make <keyboard>:<keymap>:dfu
5. Reset the device into application mode (will be done automatically as above)
### QMK DFU
QMK has a fork of the LUFA DFU bootloader that allows for a simple matrix scan for exiting the bootloader and returning to the application, as well as flashing an LED/making a ticking noise with a speaker when things are happening. To enable these features, use this block in your `config.h` (The key that exits the bootloader needs to be hooked-up to the INPUT and OUTPUT defined here):
QMK maintains [a fork of the LUFA DFU bootloader](https://github.com/qmk/lufa/tree/master/Bootloaders/DFU) that additionally performs a simple matrix scan for exiting the bootloader and returning to the application, as well as flashing an LED/making a ticking noise with a speaker when things are happening. To enable these features, add the following defines to your `config.h`:
#define QMK_ESC_OUTPUT F1 // usually COL
#define QMK_ESC_INPUT D5 // usually ROW
#define QMK_LED E6
#define QMK_SPEAKER C6
```c
#define QMK_ESC_OUTPUT F1 // COL pin if COL2ROW
#define QMK_ESC_INPUT D5 // ROW pin if COL2ROW
// Optional:
//#define QMK_LED E6
//#define QMK_SPEAKER C6
```
Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](feature_bootmagic.md#bootmagic-lite), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader.
The Manufacturer and Product names are automatically pulled from your `config.h`, and "Bootloader" is added to the product.
The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string.
To generate this bootloader, use the `bootloader` target, eg `make planck/rev4:default:bootloader`.
To generate this bootloader, use the `bootloader` target, eg. `make planck/rev4:default:bootloader`. To generate a production-ready .hex file (combining QMK and the bootloader), use the `production` target, eg. `make planck/rev4:default:production`.
To generate a production-ready .hex file (containing the application and the bootloader), use the `production` target, eg `make planck/rev4:default:production`.
### `make` Targets
### DFU commands
There are a number of DFU commands that you can use to flash firmware to a DFU device:
* `:dfu` - This is the normal option and waits until a DFU device is available, and then flashes the firmware. This will check every 5 seconds, to see if a DFU device has appeared.
* `:dfu-ee` - This flashes an `eep` file instead of the normal hex. This is uncommon.
* `:dfu-split-left` - This flashes the normal firmware, just like the default option (`:dfu`). However, this also flashes the "Left Side" EEPROM file for split keyboards. _This is ideal for Elite C based split keyboards._
* `:dfu-split-right` - This flashes the normal firmware, just like the default option (`:dfu`). However, this also flashes the "Right Side" EEPROM file for split keyboards. _This is ideal for Elite C based split keyboards._
* `:dfu`: Checks every 5 seconds until a DFU device is available, and then flashes the firmware.
* `:dfu-split-left` and `:dfu-split-right`: Flashes the firmware as with `:dfu`, but also sets the handedness setting in EEPROM. This is ideal for Elite-C-based split keyboards.
## Caterina
Arduino boards and their clones use the [Caterina bootloader](https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina) (any keyboard built with a Pro Micro, or clone), and uses the avr109 protocol to communicate through virtual serial. Bootloaders like [A-Star](https://www.pololu.com/docs/0J61/9) are based on Caterina.
Arduino boards and their clones use the [Caterina bootloader](https://github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/caterina) or a variant of it (any keyboard built with a Pro Micro or clone, and the Pololu A-Star), and uses the AVR109 protocol to communicate through virtual serial.
To ensure compatibility with the Caterina bootloader, make sure this block is present your `rules.mk`:
To ensure compatibility with the Caterina bootloader, make sure this block is present in your `rules.mk`:
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = caterina
```
Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [avrdude](http://www.nongnu.org/avrdude/) with avr109 / `:avrdude` (recommended command line)
* [avrdude](http://www.nongnu.org/avrdude/) with the `avr109` programmer / `:avrdude` target in QMK (recommended command line)
* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
Flashing sequence:
1. Press the `RESET` keycode, or short RST to GND quickly (you only have 7 seconds to flash once it enters)
1. Enter the bootloader using any of the following methods (you only have 7 seconds to flash once it enters; some variants may require you to reset twice within 750 milliseconds):
* Press the `RESET` keycode
* Press the `RESET` button on the PCB if available
* Short RST to GND quickly
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Wait for the device to reset automatically
or
### `make` Targets
make <keyboard>:<keymap>:avrdude
* `:avrdude`: Checks every 5 seconds until a Caterina device is available (by detecting a new COM port), and then flashes the firmware.
* `:avrdude-loop`: Flashes the firmware as with `:avrdude`, but after each device is flashed, will attempt to flash again. This is useful for bulk flashing. Hit Ctrl+C to escape the loop.
* `:avrdude-split-left` and `:avrdude-split-right`: Flashes the firmware as with `:avrdude`, but also sets the handedness setting in EEPROM. This is ideal for Pro Micro-based split keyboards.
## HalfKay
### Caterina commands
HalfKay is a super-slim bootloader developed by PJRC that presents itself as an HID device (which requires no additional driver), and comes preflashed on all Teensys, namely the 2.0. It is currently closed-source, and thus once overwritten (eg. via ISP flashing another bootloader), cannot be restored.
There are a number of DFU commands that you can use to flash firmware to a DFU device:
* `:avrdude` - This is the normal option which waits until a Caterina device is available (by detecting a new COM port), and then flashes the firmware.
* `:avrdude-loop` - This runs the same command as `:avrdude`, but after each device is flashed, it will attempt to flash again. This is useful for bulk flashing. _This requires you to manually escape the loop by hitting Ctrl+C._
* `:avrdude-split-left` - This flashes the normal firmware, just like the default option (`:avrdude`). However, this also flashes the "Left Side" EEPROM file for split keyboards. _This is ideal for Pro Micro based split keyboards._
* `:avrdude-split-right` - This flashes the normal firmware, just like the default option (`:avrdude`). However, this also flashes the "Right Side" EEPROM file for split keyboards. _This is ideal for Pro Micro based split keyboards._
## Halfkay
Halfkay is a super-slim protocol developed by PJRC that uses HID, and comes on all Teensys (namely the 2.0).
To ensure compatibility with the Halfkay bootloader, make sure this block is present your `rules.mk`:
To ensure compatibility with the Halfkay bootloader, make sure this block is present in your `rules.mk`:
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = halfkay
```
Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [Teensy Loader Command Line](https://www.pjrc.com/teensy/loader_cli.html) / `:teensy` target in QMK (recommended command line)
* [Teensy Loader](https://www.pjrc.com/teensy/loader.html)
* [Teensy Loader Command Line](https://www.pjrc.com/teensy/loader_cli.html) (recommended command line)
Flashing sequence:
1. Press the `RESET` keycode, or short RST to GND quickly (you only have 7 seconds to flash once it enters)
1. Enter the bootloader using any of the following methods (you only have 7 seconds to flash once it enters):
* Press the `RESET` keycode
* Press the `RESET` button on the Teensy or PCB if available
* short RST to GND quickly
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
## USBasploader
USBasploader is a bootloader developed by matrixstorm. It is used in some non-USB AVR chips such as the ATmega328P, which run V-USB.
USBasploader is a bootloader originally by [Objective Development](https://www.obdev.at/products/vusb/usbasploader.html). It emulates a USBasp ISP programmer and is used in some non-USB AVR chips such as the ATmega328P, which run V-USB.
To ensure compatibility with the USBasploader bootloader, make sure this block is present in your `rules.mk`:
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = USBasp
```
Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [avrdude](http://www.nongnu.org/avrdude/) with the `usbasp` programmer
* [avrdude](http://www.nongnu.org/avrdude/) with the `usbasp` programmer / `:usbasp` target in QMK (recommended command line)
* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
Flashing sequence:
1. Press the `RESET` keycode, or keep the boot pin shorted to GND while quickly shorting RST to GND
1. Enter the bootloader using any of the following methods:
* Press the `RESET` keycode
* Keep the `BOOT` button held while quickly tapping the `RESET` button on the PCB
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
4. Press the `RESET` button on the PCB or short RST to GND
## BootloadHID
BootloadHID is a USB bootloader for AVR microcontrollers. The uploader tool requires no kernel level driver on Windows and can therefore be run without installing any DLLs.
BootloadHID is a USB bootloader for AVR microcontrollers. It presents itself as an HID input device, much like HalfKay, and can therefore be run without installing any driver on Windows.
To ensure compatibility with the bootloadHID bootloader, make sure this block is present your `rules.mk`:
To ensure compatibility with the bootloadHID bootloader, make sure this block is present in your `rules.mk`:
```make
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = bootloadHID
```
Compatible flashers:
* [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) (recommended Windows GUI)
* [bootloadhid Command Line](https://www.obdev.at/products/vusb/bootloadhid.html) / `:BootloadHID` in QMK (recommended command line)
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [bootloadHID CLI](https://www.obdev.at/products/vusb/bootloadhid.html) / `:bootloadHID` target in QMK (recommended command line)
* [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash)
Flashing sequence:
1. Enter the bootloader using any of the following methods:
* Tap the `RESET` keycode (may not work on all devices)
* Hold the salt key while plugging the keyboard in (usually documented within keyboard readme)
* Tap the `RESET` keycode
* Hold the salt key while plugging the keyboard in - for PS2AVRGB boards, this is usually the key connected to MCU pins A0 and B0, otherwise it will be documented in your keyboard's readme
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
or:
## STM32/APM32 DFU
make <keyboard>:<keymap>:bootloadHID
All STM32 and APM32 MCUs, except for F103 (see the [STM32duino section](#stm32duino)) come preloaded with a factory bootloader that cannot be modified nor deleted.
## STM32
To ensure compatibility with the STM32-DFU bootloader, make sure this block is present in your `rules.mk` (optionally with `apm32-dfu` instead):
All STM32 chips come preloaded with a factory bootloader that cannot be modified nor deleted. Some STM32 chips have bootloaders that do not come with USB programming (e.g. STM32F103) but the process is still the same.
At the moment, no `BOOTLOADER` variable is needed on `rules.mk` for STM32.
```make
# Bootloader selection
BOOTLOADER = stm32-dfu
```
Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [dfu-util](https://github.com/Stefan-Schmidt/dfu-util) / `:dfu-util` (recommended command line)
* [dfu-util](http://dfu-util.sourceforge.net/) / `:dfu-util` target in QMK (recommended command line)
Flashing sequence:
1. Enter the bootloader using any of the following methods:
* Tap the `RESET` keycode (may not work on STM32F042 devices)
* If a reset circuit is present, tap the RESET button
* Otherwise, you need to bridge BOOT0 to VCC (via BOOT0 button or bridge), short RESET to GND (via RESET button or bridge), and then let go of the BOOT0 bridge
* If a reset circuit is present, tap the `RESET` button on the PCB; some boards may also have a toggle switch that must be flipped
* Otherwise, you need to bridge `BOOT0` to VCC (via `BOOT0` button or jumper), short `RESET` to GND (via `RESET` button or jumper), and then let go of the `BOOT0` bridge
2. Wait for the OS to detect the device
3. Flash a .bin file
* You will receive a warning about the DFU signature; Just ignore it
4. Reset the device into application mode (may be done automatically)
* If you are building from command line (e.g. `make planck/rev6:default:dfu-util`), make sure that `:leave` is passed to the `DFU_ARGS` variable inside your `rules.mk` (e.g. `DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave`) so that your device resets after flashing
### STM32 Commands
### `make` Targets
There are a number of DFU commands that you can use to flash firmware to a STM32 device:
* `:dfu-util`: Waits until an STM32 bootloader device is available, and then flashes the firmware.
* `:dfu-util-split-left` and `:dfu-util-split-right`: Flashes the firmware as with `:avrdude`, but also sets the handedness setting in EEPROM. This is ideal for Proton-C-based split keyboards.
* `:st-link-cli`: Allows you to flash the firmware via the ST-Link CLI utility, rather than dfu-util. Requires an ST-Link dongle.
* `:st-flash`: Allows you to flash the firmware via the `st-flash` utility from [STLink Tools](https://github.com/stlink-org/stlink), rather than dfu-util. Requires an ST-Link dongle.
* `:dfu-util` - The default command for flashing to STM32 devices, and will wait until an STM32 bootloader device is present.
* `:dfu-util-split-left` - This flashes the normal firmware, just like the default option (`:dfu-util`). However, this also configures the "Left Side" EEPROM setting for split keyboards.
* `:dfu-util-split-right` - This flashes the normal firmware, just like the default option (`:dfu-util`). However, this also configures the "Right Side" EEPROM setting for split keyboards.
* `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util.
* `:st-flash` - This allows you to flash the firmware via the `st-flash` utility from [STLink Tools](https://github.com/stlink-org/stlink), rather than dfu-util.
## STM32duino
This bootloader is used almost exclusively for STM32F103 boards, as they do not come with a USB DFU bootloader. The source code and prebuilt binaries can be found [here](https://github.com/rogerclarkmelbourne/STM32duino-bootloader).
To ensure compatibility with the STM32duino bootloader, make sure this block is present in your `rules.mk`:
```make
# Bootloader selection
BOOTLOADER = stm32duino
```
Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [dfu-util](http://dfu-util.sourceforge.net/) / `:dfu-util` target in QMK (recommended command line)
Flashing sequence:
1. Enter the bootloader using any of the following methods:
* Tap the `RESET` keycode
* If a reset circuit is present, tap the `RESET` button on the PCB
* Otherwise, you need to bridge `BOOT0` to VCC (via `BOOT0` button or jumper), short `RESET` to GND (via `RESET` button or jumper), and then let go of the `BOOT0` bridge
2. Wait for the OS to detect the device
3. Flash a .bin file
4. Reset the device into application mode (may be done automatically)
## Kiibohd DFU
Keyboards produced by Input Club use NXP Kinetis microcontrollers rather than STM32, and come with their own [custom bootloader](https://github.com/kiibohd/controller/tree/master/Bootloader), however the process and protocol is largely the same.
The `rules.mk` setting for this bootloader is `kiibohd`, but since this bootloader is limited to Input Club boards, it should not be necessary to set at keymap or user level.
Compatible flashers:
* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
* [dfu-util](http://dfu-util.sourceforge.net/) / `:dfu-util` target in QMK (recommended command line)
Flashing sequence:
1. Enter the bootloader using any of the following methods:
* Tap the `RESET` keycode (this may only enter the MCU into a "secure" bootloader mode; see https://github.com/qmk/qmk_firmware/issues/6112)
* Press the `RESET` button on the PCB
2. Wait for the OS to detect the device
3. Flash a .bin file
4. Reset the device into application mode (may be done automatically)

View File

@@ -3,10 +3,94 @@
"url": "https://cannonkeys.com",
"maintainer": "awkannan",
"width": 19.5,
"height": 9,
"height": 5,
"layouts": {
"LAYOUT_all": {
"layout": [{"x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"!", "x":2.25, "y":0}, {"label":"@", "x":3.25, "y":0}, {"label":"#", "x":4.25, "y":0}, {"label":"$", "x":5.25, "y":0}, {"label":"%", "x":6.25, "y":0}, {"label":"^", "x":7.25, "y":0}, {"label":"&", "x":8.25, "y":0}, {"label":"*", "x":9.25, "y":0}, {"label":"(", "x":10.25, "y":0}, {"label":")", "x":11.25, "y":0}, {"label":"_", "x":12.25, "y":0}, {"label":"+", "x":13.25, "y":0}, {"label":"~", "x":14.25, "y":0}, {"label":"Bcksp", "x":15.25, "y":0}, {"label":"Insert", "x":16.5, "y":0}, {"label":"Home", "x":17.5, "y":0}, {"label":"PgUp", "x":18.5, "y":0}, {"x":0, "y":1}, {"label":"Tab", "x":1.25, "y":1, "w":1.5}, {"label":"Q", "x":2.75, "y":1}, {"label":"W", "x":3.75, "y":1}, {"label":"E", "x":4.75, "y":1}, {"label":"R", "x":5.75, "y":1}, {"label":"T", "x":6.75, "y":1}, {"label":"Y", "x":7.75, "y":1}, {"label":"U", "x":8.75, "y":1}, {"label":"I", "x":9.75, "y":1}, {"label":"O", "x":10.75, "y":1}, {"label":"P", "x":11.75, "y":1}, {"label":"{", "x":12.75, "y":1}, {"label":"}", "x":13.75, "y":1}, {"label":"|", "x":14.75, "y":1, "w":1.5}, {"label":"Delete", "x":16.5, "y":1}, {"label":"End", "x":17.5, "y":1}, {"label":"PgDn", "x":18.5, "y":1}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.25, "y":2, "w":1.25}, {"label":"A", "x":3, "y":2}, {"label":"S", "x":4, "y":2}, {"label":"D", "x":5, "y":2}, {"label":"F", "x":6, "y":2}, {"label":"G", "x":7, "y":2}, {"label":"H", "x":8, "y":2}, {"label":"J", "x":9, "y":2}, {"label":"K", "x":10, "y":2}, {"label":"L", "x":11, "y":2}, {"label":":", "x":12, "y":2}, {"label":"\"", "x":13, "y":2}, {"x":14, "y":2}, {"label":"Enter", "x":15, "y":2, "w":1.25}, {"x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":1.25}, {"label":"Shift", "x":2.5, "y":3}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"N", "x":8.5, "y":3}, {"label":"M", "x":9.5, "y":3}, {"label":"<", "x":10.5, "y":3}, {"label":">", "x":11.5, "y":3}, {"label":"?", "x":12.5, "y":3}, {"label":"\u2191", "x":17.5, "y":3}, {"label":"Ctrl", "x":1.25, "y":4, "w":1.25}, {"label":"Win", "x":2.5, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":6.25}, {"label":"Alt", "x":11.25, "y":4, "w":1.25}, {"label":"Alt", "x":12.5, "y":4, "w":1.25}, {"label":"Win", "x":13.75, "y":4, "w":1.25}, {"label":"Ctrl", "x":15, "y":4, "w":1.25}, {"label":"\u2190", "x":16.5, "y":4}, {"label":"\u2193", "x":17.5, "y":4}, {"label":"\u2192", "x":18.5, "y":4}, {"label":"Shift", "x":13.25, "y":8, "w":1.75}, {"label":"Fn", "x":15, "y":8}]
"layout": [
{"x":0, "y":0},
{"label":"Esc", "x":1.25, "y":0},
{"label":"!", "x":2.25, "y":0},
{"label":"@", "x":3.25, "y":0},
{"label":"#", "x":4.25, "y":0},
{"label":"$", "x":5.25, "y":0},
{"label":"%", "x":6.25, "y":0},
{"label":"^", "x":7.25, "y":0},
{"label":"&", "x":8.25, "y":0},
{"label":"*", "x":9.25, "y":0},
{"label":"(", "x":10.25, "y":0},
{"label":")", "x":11.25, "y":0},
{"label":"_", "x":12.25, "y":0},
{"label":"+", "x":13.25, "y":0},
{"label":"~", "x":14.25, "y":0},
{"label":"Bcksp", "x":15.25, "y":0},
{"label":"Insert", "x":16.5, "y":0},
{"label":"Home", "x":17.5, "y":0},
{"label":"PgUp", "x":18.5, "y":0},
{"x":0, "y":1},
{"label":"Tab", "x":1.25, "y":1, "w":1.5},
{"label":"Q", "x":2.75, "y":1},
{"label":"W", "x":3.75, "y":1},
{"label":"E", "x":4.75, "y":1},
{"label":"R", "x":5.75, "y":1},
{"label":"T", "x":6.75, "y":1},
{"label":"Y", "x":7.75, "y":1},
{"label":"U", "x":8.75, "y":1},
{"label":"I", "x":9.75, "y":1},
{"label":"O", "x":10.75, "y":1},
{"label":"P", "x":11.75, "y":1},
{"label":"{", "x":12.75, "y":1},
{"label":"}", "x":13.75, "y":1},
{"label":"|", "x":14.75, "y":1, "w":1.5},
{"label":"Delete", "x":16.5, "y":1},
{"label":"End", "x":17.5, "y":1},
{"label":"PgDn", "x":18.5, "y":1},
{"x":0, "y":2},
{"label":"Caps Lock", "x":1.25, "y":2, "w":1.25},
{"label":"A", "x":3, "y":2},
{"label":"S", "x":4, "y":2},
{"label":"D", "x":5, "y":2},
{"label":"F", "x":6, "y":2},
{"label":"G", "x":7, "y":2},
{"label":"H", "x":8, "y":2},
{"label":"J", "x":9, "y":2},
{"label":"K", "x":10, "y":2},
{"label":"L", "x":11, "y":2},
{"label":":", "x":12, "y":2},
{"label":"\"", "x":13, "y":2},
{"x":14, "y":2},
{"label":"Enter", "x":15, "y":2, "w":1.25},
{"x":0, "y":3},
{"label":"Shift", "x":1.25, "y":3, "w":1.25},
{"label":"Shift", "x":2.5, "y":3},
{"label":"Z", "x":3.5, "y":3},
{"label":"X", "x":4.5, "y":3},
{"label":"C", "x":5.5, "y":3},
{"label":"V", "x":6.5, "y":3},
{"label":"B", "x":7.5, "y":3},
{"label":"N", "x":8.5, "y":3},
{"label":"M", "x":9.5, "y":3},
{"label":"<", "x":10.5, "y":3},
{"label":">", "x":11.5, "y":3},
{"label":"?", "x":12.5, "y":3},
{"label":"Shift", "x":13.5, "y":3, "w":1.75},
{"label":"Fn", "x":15.25, "y":3},
{"label":"Up", "x":17.5, "y":3},
{"label":"Ctrl", "x":1.25, "y":4, "w":1.25},
{"label":"Win", "x":2.5, "y":4, "w":1.25},
{"label":"Alt", "x":3.75, "y":4, "w":1.25},
{"x":5, "y":4, "w":6.25},
{"label":"Alt", "x":11.25, "y":4, "w":1.25},
{"label":"Alt", "x":12.5, "y":4, "w":1.25},
{"label":"Win", "x":13.75, "y":4, "w":1.25},
{"label":"Ctrl", "x":15, "y":4, "w":1.25},
{"label":"Left", "x":16.5, "y":4},
{"label":"Down", "x":17.5, "y":4},
{"label":"Right", "x":18.5, "y":4}
]
}
}
}

View File

@@ -38,7 +38,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ K400, K401, K402, KC_NO,KC_NO,KC_NO,KC_NO,K407, KC_NO,KC_NO,K410, KC_NO,K412, K413, K414, K415 } \
}
#define LAYOUT_65_ansi( \
#define LAYOUT_65_ansi_blocker( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K015, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
@@ -52,7 +52,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ K400, K401, K402, KC_NO,KC_NO,KC_NO,KC_NO,K407, KC_NO,KC_NO,K410, KC_NO,K412, K413, K414, K415 } \
}
#define LAYOUT_65_iso( \
#define LAYOUT_65_iso_blocker( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K015, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \

View File

@@ -5,11 +5,234 @@
"width": 16,
"height": 5,
"layouts": {
"LAYOUT_65_ansi": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Insert", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Delete", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
},
"LAYOUT_65_iso": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Insert", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Delete", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"PgUp", "x":15, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"PgDn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Ctrl", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
}
"LAYOUT_all": {
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
{"x":2, "y":0},
{"x":3, "y":0},
{"x":4, "y":0},
{"x":5, "y":0},
{"x":6, "y":0},
{"x":7, "y":0},
{"x":8, "y":0},
{"x":9, "y":0},
{"x":10, "y":0},
{"x":11, "y":0},
{"x":12, "y":0},
{"x":13, "y":0},
{"x":14, "y":0},
{"x":15, "y":0},
{"x":0, "y":1, "w":1.5},
{"x":1.5, "y":1},
{"x":2.5, "y":1},
{"x":3.5, "y":1},
{"x":4.5, "y":1},
{"x":5.5, "y":1},
{"x":6.5, "y":1},
{"x":7.5, "y":1},
{"x":8.5, "y":1},
{"x":9.5, "y":1},
{"x":10.5, "y":1},
{"x":11.5, "y":1},
{"x":12.5, "y":1},
{"x":13.5, "y":1, "w":1.5},
{"x":15, "y":1},
{"x":0, "y":2, "w":1.75},
{"x":1.75, "y":2},
{"x":2.75, "y":2},
{"x":3.75, "y":2},
{"x":4.75, "y":2},
{"x":5.75, "y":2},
{"x":6.75, "y":2},
{"x":7.75, "y":2},
{"x":8.75, "y":2},
{"x":9.75, "y":2},
{"x":10.75, "y":2},
{"x":11.75, "y":2},
{"x":12.75, "y":2},
{"x":13.75, "y":2, "w":1.25},
{"x":15, "y":2},
{"x":0, "y":3, "w":1.25},
{"x":1.25, "y":3},
{"x":2.25, "y":3},
{"x":3.25, "y":3},
{"x":4.25, "y":3},
{"x":5.25, "y":3},
{"x":6.25, "y":3},
{"x":7.25, "y":3},
{"x":8.25, "y":3},
{"x":9.25, "y":3},
{"x":10.25, "y":3},
{"x":11.25, "y":3},
{"x":12.25, "y":3, "w":1.75},
{"x":14, "y":3},
{"x":15, "y":3},
{"x":0, "y":4, "w":1.25},
{"x":1.25, "y":4, "w":1.25},
{"x":2.5, "y":4, "w":1.25},
{"x":3.75, "y":4, "w":6.25},
{"x":10, "y":4, "w":1.25},
{"x":11.25, "y":4, "w":1.25},
{"x":13, "y":4},
{"x":14, "y":4},
{"x":15, "y":4}
]
},
"LAYOUT_65_ansi_blocker": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"!", "x":1, "y":0},
{"label":"@", "x":2, "y":0},
{"label":"#", "x":3, "y":0},
{"label":"$", "x":4, "y":0},
{"label":"%", "x":5, "y":0},
{"label":"^", "x":6, "y":0},
{"label":"&", "x":7, "y":0},
{"label":"*", "x":8, "y":0},
{"label":"(", "x":9, "y":0},
{"label":")", "x":10, "y":0},
{"label":"_", "x":11, "y":0},
{"label":"+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0, "w":2},
{"label":"Insert", "x":15, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"{", "x":11.5, "y":1},
{"label":"}", "x":12.5, "y":1},
{"label":"|", "x":13.5, "y":1, "w":1.5},
{"label":"Delete", "x":15, "y":1},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":":", "x":10.75, "y":2},
{"label":"\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"PgUp", "x":15, "y":2},
{"label":"Shift", "x":0, "y":3, "w":2.25},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":"<", "x":9.25, "y":3},
{"label":">", "x":10.25, "y":3},
{"label":"?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"\u2191", "x":14, "y":3},
{"label":"PgDn", "x":15, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"Win", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"x":3.75, "y":4, "w":6.25},
{"label":"Alt", "x":10, "y":4, "w":1.25},
{"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
{"label":"\u2190", "x":13, "y":4},
{"label":"\u2193", "x":14, "y":4},
{"label":"\u2192", "x":15, "y":4}
]
},
"LAYOUT_65_iso_blocker": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"!", "x":1, "y":0},
{"label":"@", "x":2, "y":0},
{"label":"#", "x":3, "y":0},
{"label":"$", "x":4, "y":0},
{"label":"%", "x":5, "y":0},
{"label":"^", "x":6, "y":0},
{"label":"&", "x":7, "y":0},
{"label":"*", "x":8, "y":0},
{"label":"(", "x":9, "y":0},
{"label":")", "x":10, "y":0},
{"label":"_", "x":11, "y":0},
{"label":"+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0, "w":2},
{"label":"Insert", "x":15, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"{", "x":11.5, "y":1},
{"label":"}", "x":12.5, "y":1},
{"label":"Delete", "x":15, "y":1},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":":", "x":10.75, "y":2},
{"label":"\"", "x":11.75, "y":2},
{"label":"~", "x":12.75, "y":2},
{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
{"label":"PgUp", "x":15, "y":2},
{"label":"Shift", "x":0, "y":3, "w":1.25},
{"label":"|", "x":1.25, "y":3},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":"<", "x":9.25, "y":3},
{"label":">", "x":10.25, "y":3},
{"label":"?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"\u2191", "x":14, "y":3},
{"label":"PgDn", "x":15, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
{"label":"Win", "x":1.25, "y":4, "w":1.25},
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
{"x":3.75, "y":4, "w":6.25},
{"label":"Alt", "x":10, "y":4, "w":1.25},
{"label":"Ctrl", "x":11.25, "y":4, "w":1.25},
{"label":"\u2190", "x":13, "y":4},
{"label":"\u2193", "x":14, "y":4},
{"label":"\u2192", "x":15, "y":4}
]
}
}
}
}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_65_ansi(
[0] = LAYOUT_65_ansi_blocker(
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
* │Esc│ 1  2  3  4  5  6  7  8  9  0  - │ =  Backsp│Ins│
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_65_ansi(
[1] = LAYOUT_65_ansi_blocker(
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
* │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│        

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_65_iso(
[0] = LAYOUT_65_iso_blocker(
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
* │Esc│ 1  2  3  4  5  6  7  8  9  0  - │ =  Backsp│Ins│
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_65_iso(
[1] = LAYOUT_65_iso_blocker(
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
* │RST│ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│        

View File

@@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
LAYOUTS = 65_ansi 65_iso
LAYOUTS = 65_ansi_blocker 65_iso_blocker

View File

@@ -0,0 +1,50 @@
/*
Copyright 2021 CMM.Studio Freather
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x434D
#define PRODUCT_ID 0x5348
#define DEVICE_VER 0x0001
#define MANUFACTURER CMM.Studio
#define PRODUCT Saka68
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { D2, D1, B0, F6, F7 }
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, F5, F4, F1, F0, B1, B2, B3, D3, D5 }
#define DIODE_DIRECTION COL2ROW
// generated by KBFirmware JSON to QMK Parser
// https://noroadsleft.github.io/kbf_qmk_converter/

View File

@@ -0,0 +1,17 @@
/* Copyright 2021 CMM.Studio Freather
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "hotswap.h"

View File

@@ -0,0 +1,36 @@
/* Copyright 2021 CMM.Studio Freather
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3E, \
K40, K41, K42, K46, K49, K4A, K4B, K4D, K4E, K4F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, KC_NO }, \
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO, K3E, KC_NO }, \
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
}
// generated by KBFirmware JSON to QMK Parser
// https://noroadsleft.github.io/kbf_qmk_converter/

View File

@@ -0,0 +1,82 @@
{
"keyboard_name": "CMM.Studio Saka68",
"url": "",
"maintainer": "qmk",
"width": 17.25,
"height": 5,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"K00 (D2,D4)", "x":0, "y":0},
{"label":"K01 (D2,D6)", "x":1, "y":0},
{"label":"K02 (D2,D7)", "x":2, "y":0},
{"label":"K03 (D2,B4)", "x":3, "y":0},
{"label":"K04 (D2,B5)", "x":4, "y":0},
{"label":"K05 (D2,B6)", "x":5, "y":0},
{"label":"K06 (D2,C6)", "x":6, "y":0},
{"label":"K07 (D2,F5)", "x":7, "y":0},
{"label":"K08 (D2,F4)", "x":8, "y":0},
{"label":"K09 (D2,F1)", "x":9, "y":0},
{"label":"K0A (D2,F0)", "x":10, "y":0},
{"label":"K0B (D2,B1)", "x":11, "y":0},
{"label":"K0C (D2,B2)", "x":12, "y":0},
{"label":"K0D (D2,B3)", "x":13, "y":0, "w":2},
{"label":"K0E (D2,D3)", "x":15.25, "y":0},
{"label":"K0F (D2,D5)", "x":16.25, "y":0},
{"label":"K10 (D1,D4)", "x":0, "y":1, "w":1.5},
{"label":"K11 (D1,D6)", "x":1.5, "y":1},
{"label":"K12 (D1,D7)", "x":2.5, "y":1},
{"label":"K13 (D1,B4)", "x":3.5, "y":1},
{"label":"K14 (D1,B5)", "x":4.5, "y":1},
{"label":"K15 (D1,B6)", "x":5.5, "y":1},
{"label":"K16 (D1,C6)", "x":6.5, "y":1},
{"label":"K17 (D1,F5)", "x":7.5, "y":1},
{"label":"K18 (D1,F4)", "x":8.5, "y":1},
{"label":"K19 (D1,F1)", "x":9.5, "y":1},
{"label":"K1A (D1,F0)", "x":10.5, "y":1},
{"label":"K1B (D1,B1)", "x":11.5, "y":1},
{"label":"K1C (D1,B2)", "x":12.5, "y":1},
{"label":"K1D (D1,B3)", "x":13.5, "y":1, "w":1.5},
{"label":"K1E (D1,D3)", "x":15.25, "y":1},
{"label":"K1F (D1,D5)", "x":16.25, "y":1},
{"label":"K20 (B0,D4)", "x":0, "y":2, "w":1.75},
{"label":"K21 (B0,D6)", "x":1.75, "y":2},
{"label":"K22 (B0,D7)", "x":2.75, "y":2},
{"label":"K23 (B0,B4)", "x":3.75, "y":2},
{"label":"K24 (B0,B5)", "x":4.75, "y":2},
{"label":"K25 (B0,B6)", "x":5.75, "y":2},
{"label":"K26 (B0,C6)", "x":6.75, "y":2},
{"label":"K27 (B0,F5)", "x":7.75, "y":2},
{"label":"K28 (B0,F4)", "x":8.75, "y":2},
{"label":"K29 (B0,F1)", "x":9.75, "y":2},
{"label":"K2A (B0,F0)", "x":10.75, "y":2},
{"label":"K2B (B0,B1)", "x":11.75, "y":2},
{"label":"K2D (B0,B3)", "x":12.75, "y":2, "w":2.25},
{"label":"K30 (F6,D4)", "x":0, "y":3, "w":2.25},
{"label":"K32 (F6,D7)", "x":2.25, "y":3},
{"label":"K33 (F6,B4)", "x":3.25, "y":3},
{"label":"K34 (F6,B5)", "x":4.25, "y":3},
{"label":"K35 (F6,B6)", "x":5.25, "y":3},
{"label":"K36 (F6,C6)", "x":6.25, "y":3},
{"label":"K37 (F6,F5)", "x":7.25, "y":3},
{"label":"K38 (F6,F4)", "x":8.25, "y":3},
{"label":"K39 (F6,F1)", "x":9.25, "y":3},
{"label":"K3A (F6,F0)", "x":10.25, "y":3},
{"label":"K3B (F6,B1)", "x":11.25, "y":3},
{"label":"K3C (F6,B2)", "x":12.25, "y":3, "w":2.75},
{"label":"K3E (F6,D3)", "x":15.25, "y":3},
{"label":"K40 (F7,D4)", "x":0, "y":4, "w":1.25},
{"label":"K41 (F7,D6)", "x":1.25, "y":4, "w":1.25},
{"label":"K42 (F7,D7)", "x":2.5, "y":4, "w":1.25},
{"label":"K46 (F7,C6)", "x":3.75, "y":4, "w":6.25},
{"label":"K49 (F7,F1)", "x":10, "y":4, "w":1.25},
{"label":"K4A (F7,F0)", "x":11.25, "y":4, "w":1.25},
{"label":"K4B (F7,B1)", "x":12.5, "y":4, "w":1.25},
{"label":"K4D (F7,B3)", "x":14.25, "y":4},
{"label":"K4E (F7,D3)", "x":15.25, "y":4},
{"label":"K4F (F7,D5)", "x":16.25, "y":4}
]
}
}
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
}

View File

@@ -0,0 +1,36 @@
/* Copyright 2021 CMM.Studio Freather
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_SPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_SPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};

View File

@@ -0,0 +1 @@
# The default keymap for Saka68

View File

@@ -0,0 +1,51 @@
/* Copyright 2021 CMM.Studio Freather
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_SPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_SPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};

View File

@@ -0,0 +1,21 @@
# CMM.Studio Saka68
CMM.Studio Saka68 Keyboard
![CMM.Studio Saka68](https://i.imgur.com/E1S43cs.png)
* Keyboard Maintainer: [CMM.Studio Freather](https://github.com/CMMS-Freather)
* Hardware Supported: PCB, Atmega32u4
this firmware supports iso and ansi hotswap directly, once you flash the via firmware, you only need to select the layout and change to iso layout, then you can use iso hotswap version
Make example for this keyboard (after setting up your build environment):
make cmm_studio/saka68/hotswap:default
For reset instruction, use the physical reset button on the back of the keyboard to enter bootloader mode
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@@ -0,0 +1,25 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
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
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
# generated by KBFirmware JSON to QMK Parser
# https://noroadsleft.github.io/kbf_qmk_converter/

View File

@@ -1,5 +1,5 @@
{
"keyboard_name": "",
"keyboard_name": "CMM.Studio Saka68",
"url": "",
"maintainer": "qmk",
"width": 17.25,

View File

@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),

View File

@@ -21,8 +21,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(

View File

@@ -0,0 +1,2 @@
VIA_ENABLE = yes
MOUSEKEY_ENABLE = yes

View File

@@ -0,0 +1,17 @@
# CMM.Studio Saka68
CMM.Studio Saka68 Keyboard
![CMM.Studio Saka68](https://i.imgur.com/gZ9Thjel.png)
* Keyboard Maintainer: [CMM.Studio Freather](https://github.com/CMMS-Freather)
* Hardware Supported: PCB, Atmega32u4
Make example for this keyboard (after setting up your build environment):
make cmm_studio/saka68/solder:default
For reset instruction, use the physical reset button on the back of the keyboard to enter bootloader mode
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@@ -14,7 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "saka68.h"
#include "solder.h"
// generated by KBFirmware JSON to QMK Parser
// https://noroadsleft.github.io/kbf_qmk_converter/

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PRODUCT_ID 0x6006
#define MANUFACTURER Bishop Keyboards
#define PRODUCT The ECO Keyboard
#define DESCRIPTION An economical ortholinear keyboard
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER emptystring
#define PRODUCT NQG
#define DESCRIPTION 30% ortholinear keyboard
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Eniigma Keyboards
#define PRODUCT Eniigma Keyboards ek87
#define DESCRIPTION Eniigma Keyboards ek87
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Elliot Powell
#define PRODUCT ep40
#define DESCRIPTION A simple 40% keyboard
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Elliot Powell
#define PRODUCT ep96
#define DESCRIPTION A simple 96 key keyboard
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Elliot Powell
#define PRODUCT ephs68
#define DESCRIPTION A Hotswapable keyboard for kayak
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Elliot Powell
#define PRODUCT mollydooker
#define DESCRIPTION Custom southpaw replacement PCB
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Elliot Powell
#define PRODUCT TF Longeboye
#define DESCRIPTION TF Longeboye Designed for Papi SodaMan of MKUK
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -27,7 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER Biacco42
#define PRODUCT Ergo42
#define DESCRIPTION The Answer to the Ultimate Question of Life, the Universe, and at least Keyboards
/* key matrix size */
// Rows are doubled-up

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER Omkbd
#define PRODUCT ErgoDashmini
#define DESCRIPTION Power
/* key matrix size */
// Rows are doubled-up

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER Omkbd
#define PRODUCT ErgoDash
#define DESCRIPTION Power
/* key matrix size */
// Rows are doubled-up

View File

@@ -10,7 +10,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER K.T.E.C.
#define PRODUCT ErgoDone
#define DESCRIPTION QMK keyboard firmware for ErgoDone
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -20,11 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MACOSX
/* USB Device descriptor parameter */
#ifndef DESCRIPTION
#define DESCRIPTION QMK keyboard firmware for Ergodox EZ
#endif
#define USB_MAX_POWER_CONSUMPTION 500
#define QMK_KEYS_PER_SCAN 4

View File

@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x101
#define MANUFACTURER ErgoDox
#define PRODUCT ErgoDox STM
#define DESCRIPTION ErgoDox STM32 Keyboard
#define MATRIX_ROWS 14
#define MATRIX_ROWS_PER_SIDE (MATRIX_ROWS / 2)

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER reggalicious
#define PRODUCT ergosaurus
#define DESCRIPTION An ergo Alice clone from Reggalicious
/* key matrix size */
#define MATRIX_ROWS 9

View File

@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER tomsaleeba
#define PRODUCT Ergoslab Keyboard
#define DESCRIPTION Split 45 percent ergonomic keyboard
/* key matrix size */
// Rows are doubled-up

View File

@@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER g Heavy Industries
#define PRODUCT ErgoTaco
#define DESCRIPTION QMK keyboard firmware for ErgoTaco
/* key matrix size */
#define MATRIX_ROWS 12

View File

@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER JPConstantineau.com
#define PRODUCT ErgoTravel Keyboard
#define DESCRIPTION Split 45 percent ergonomic keyboard
/* key matrix size */
// Rows are doubled-up

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER ELau
#define PRODUCT NumDiscipline
#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER MECHKEYS
#define PRODUCT Espectro
#define DESCRIPTION 96% keyboard
/* key matrix size */
#define MATRIX_ROWS 8

View File

@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evil
#define PRODUCT Evil80
#define DESCRIPTION QMK keyboard firmware for Evil80
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0003
#define MANUFACTURER Vortex
#define PRODUCT Core
#define DESCRIPTION Atom47 PCB for the Vortex Core Rev.2
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0003
#define MANUFACTURER Vortex
#define PRODUCT Core
#define DESCRIPTION Atom47 PCB for the Vortex Core Rev.3
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Eon40
#define DESCRIPTION A 40% ortholinear PCB
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Eon65
#define DESCRIPTION A 65% PCB
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Eon75
#define DESCRIPTION A 75% PCB
/* key matrix size */
#define MATRIX_ROWS 12

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Eon87
#define DESCRIPTION A TKL PCB
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Eon95
#define DESCRIPTION A 95% PCB
/* key matrix size */
#define MATRIX_ROWS 12

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Minitomic
#define DESCRIPTION A 45% staggered keyboard
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT MX-5160
#define DESCRIPTION Replacement PCB for the Chicony 5160c
/* key matrix size */
#define MATRIX_ROWS 10

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT nt660
#define DESCRIPTION Replacement PCB for Leopold FC660M
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT OmronTKL
#define DESCRIPTION A TKL PCB for Omron switches
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Plain60
#define DESCRIPTION A plain 60% PCB
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT PocketType
#define DESCRIPTION A small 4x12 ortholinear keyboard
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT ta-65
#define DESCRIPTION A universal 65% PCB with underglow.
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Wasdat
#define DESCRIPTION Custom controller for the WASD v2 TKL and 104
/* key matrix size */
#define MATRIX_ROWS 8

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Wasdat Code
#define DESCRIPTION Custom controller for the WASD CODE TKL and 104-key keyboards
/* key matrix size */
#define MATRIX_ROWS 8

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0003
#define MANUFACTURER Evyd13
#define PRODUCT Wonderland
#define DESCRIPTION "QMK Firmware for the Wonderland"
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Exclusive / E-Team
#define PRODUCT E6.5
#define DESCRIPTION E6.5 QMK PCB(LED)
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -12,7 +12,6 @@
#define DEVICE_VER 0x0062
#define MANUFACTURER astro
#define PRODUCT e6rgb
#define DESCRIPTION 60% rgb keyboard
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0002
#define MANUFACTURER Exclusive / E-Team
#define PRODUCT E6-V2 LE
#define DESCRIPTION E6-V2 LE QMK PCB (Mid-Port)
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Exclusive / E-Team
#define PRODUCT E6-V2 LE BMC
#define DESCRIPTION A custom 60% keyboard
/* key matrix size */
#define MATRIX_ROWS 8

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0002
#define MANUFACTURER Exclusive / E-Team
#define PRODUCT E6-V2
#define DESCRIPTION E6-V2 QMK PCB (Mid-Port)
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Exclusive / E-Team
#define PRODUCT E6-V2 OE BMC
#define DESCRIPTION A custom 60% keyboard
/* key matrix size */
#define MATRIX_ROWS 8

View File

@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Exclusive / E-Team
#define PRODUCT E7-V1
#define DESCRIPTION E7-V1 QMK PCB(LED)
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Exclusive / E-Team
#define PRODUCT E7-V1 SE
#define DESCRIPTION E7-V1 SE
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER SheuBox
#define PRODUCT Fallacy
#define DESCRIPTION Aluminum Alice Clone
/* key matrix size
*/

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER Hasu
#define PRODUCT FC660C
#define DESCRIPTION Leopold FC660C with Hasu alternative controller using QMK
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER QMK
#define PRODUCT Leopold FC980C with QMK
#define DESCRIPTION Leopold FC980C with Hasu alternative controller using QMK
/* key matrix size */
#define MATRIX_ROWS 8

View File

@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Unikeyboard
#define PRODUCT Felix
#define DESCRIPTION 4x5 number/macropad
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Pierre
#define PRODUCT Ferris the keeb
#define DESCRIPTION A minimalistic 34 - keys split keyboard
/* key matrix size */
#define MATRIX_ROWS 8

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER flehrad
#define PRODUCT BigSwitch PCB
#define DESCRIPTION A single key board for Novelkeys Big Switch
/* key matrix size */
#define MATRIX_ROWS 1

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Flehrad
#define PRODUCT downbubble
#define DESCRIPTION An Ergonomic Centered Numpad Keyboard
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Flehrad
#define PRODUCT Numbrero
#define DESCRIPTION Pro Micro-powered Reversible L/H Numpad with Extra Macro Keys
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Flehrad
#define PRODUCT Snagpad
#define DESCRIPTION A Pro Micro-Powered 5x4 macropad/numpad
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Flehrad
#define PRODUCT Trade Station
#define DESCRIPTION A Pro Micro-powered macropad layout by Didier Luximon. 1/8U gap space top two rows and 1/4U gap between 2U bottom two rows.
/* key matrix size */
#define MATRIX_ROWS 4

View File

@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER You
#define PRODUCT Fleuron v1
#define DESCRIPTION A 6x16 ortho
/* key matrix size */
#define MATRIX_ROWS 6

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER ihotsuno
#define PRODUCT fluorite
#define DESCRIPTION Fluorite is a chaotic keyboard consisting of staggered rows, staggered columns, and ortholinear.
/* key matrix size */
#define MATRIX_ROWS 16

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER FLX
#define PRODUCT Lodestone
#define DESCRIPTION FLX Lodestone
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER FLX
#define PRODUCT Virgo
#define DESCRIPTION A QMK-powered custom keyboard
/* key matrix size */
#define MATRIX_ROWS 12

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0100
#define MANUFACTURER Pekaso
#define PRODUCT The Fortitude60 Keyboard
#define DESCRIPTION Split 60 keyboard.
/* key matrix size */
// Rows are doubled-up

View File

@@ -9,7 +9,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER 1up Keyboards
#define PRODUCT Four Banger
#define DESCRIPTION 2x2 grid
/* key matrix size */
#define MATRIX_ROWS 2

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Fox Lab
#define PRODUCT Key 65 Hotswap
#define DESCRIPTION Key 65 Hotswap
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -24,7 +24,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Fox Lab
#define PRODUCT Key 65 Universal
#define DESCRIPTION Key 65 Universal
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Fox Lab
#define PRODUCT Leaf 60 Hotswap
#define DESCRIPTION A custom hotswap 60% keyboard
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Fox Lab
#define PRODUCT Leaf 60 Universal
#define DESCRIPTION A custom 60% keyboard
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -9,7 +9,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER KeyPCB
#define PRODUCT Fractal
#define DESCRIPTION Keyboard
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -24,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER FT
#define PRODUCT Mars 8.0
#define DESCRIPTION A custom TKL Keyboard
#define RGBLED_NUM 20

View File

@@ -23,7 +23,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER TheFourthCow
#define PRODUCT Funky40
#define DESCRIPTION Ortholinear 40 percent keyboard
/* key matrix size */

View File

@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER Evyd13
#define PRODUCT Lex60
#define DESCRIPTION A 60% PCB
/* key matrix size */
#define MATRIX_ROWS 5

View File

@@ -8,7 +8,6 @@
#define DEVICE_VER 0x0001
#define MANUFACTURER Geekboards
#define PRODUCT Geekboards Tester
#define DESCRIPTION Geekboards 8-keys macropad
#define MATRIX_ROWS 2

View File

@@ -38,7 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define DEVICE_VER 0x0001
#define MANUFACTURER g Heavy Industries
#define PRODUCT Georgi
#define DESCRIPTION QMK keyboard firmware for Georgi
/* key matrix size */
#define MATRIX_ROWS 14

Some files were not shown because too many files have changed in this diff Show More