Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ef98e7f61 | ||
|
|
d46fa2274c | ||
|
|
e024147ce5 | ||
|
|
c60cafae41 | ||
|
|
38162af5a7 | ||
|
|
e680af98d2 | ||
|
|
4ba0cb7ebc | ||
|
|
4b839db384 | ||
|
|
e041ec1655 | ||
|
|
75201c73a0 | ||
|
|
8e71d3d053 | ||
|
|
e69da2db2c | ||
|
|
dc40f00aaf | ||
|
|
c1481629fd | ||
|
|
83eecdce22 | ||
|
|
780b7722fb | ||
|
|
86ac56cd7f | ||
|
|
c1e69bcef0 | ||
|
|
78019c3e21 | ||
|
|
76bc235508 | ||
|
|
fed9c97ddb | ||
|
|
9f0dbc21a3 | ||
|
|
c731432765 | ||
|
|
f450bdbb41 | ||
|
|
4fa1924bd7 | ||
|
|
7b33897b97 | ||
|
|
d705918f50 | ||
|
|
a3f1defcd4 | ||
|
|
fb579aae49 | ||
|
|
67654e4a82 | ||
|
|
952a4c8312 | ||
|
|
b9ea10a80d | ||
|
|
4e72224aa3 | ||
|
|
1bfec6ddd9 | ||
|
|
db9204c7e1 | ||
|
|
27b8046867 | ||
|
|
359aff6c49 | ||
|
|
36f4f1e9b8 | ||
|
|
f487b726cd | ||
|
|
5cecc1ea1e | ||
|
|
b9ed9d33d3 | ||
|
|
2ac0927fd7 | ||
|
|
9dad914841 | ||
|
|
50481ce7ed | ||
|
|
74a2edd903 | ||
|
|
805e13a6d0 | ||
|
|
fcd55e2f04 | ||
|
|
8685409784 | ||
|
|
1d85fe176a | ||
|
|
a42e3ba2cb | ||
|
|
c745cbb77a | ||
|
|
6b1ae7e6aa | ||
|
|
a602ef75fb | ||
|
|
1ba93875ba | ||
|
|
33074bcbad | ||
|
|
555b1640b2 | ||
|
|
f149c07d68 | ||
|
|
2c92ee1f56 | ||
|
|
0c42f91f4c | ||
|
|
8ef82c466e | ||
|
|
ad86894ae7 | ||
|
|
af455a8368 | ||
|
|
ac37a94e49 | ||
|
|
24ae9232e2 | ||
|
|
14cb662280 | ||
|
|
3d183ed7a0 | ||
|
|
4e30f4d102 | ||
|
|
329eb4b8df |
No files matched your search
@@ -0,0 +1,42 @@
|
|||||||
|
name: Update API Data
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- 'keyboards/**'
|
||||||
|
- 'layouts/community/**'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
api_data:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: qmkfm/base_container
|
||||||
|
|
||||||
|
# protect against those who develop with their fork on master
|
||||||
|
if: github.repository == 'qmk/qmk_firmware'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 1
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Generate API Data
|
||||||
|
run: qmk generate-api
|
||||||
|
|
||||||
|
- name: Install rsync
|
||||||
|
run: |
|
||||||
|
apt-get update && apt-get install -y rsync
|
||||||
|
|
||||||
|
- name: Upload API Data
|
||||||
|
uses: JamesIves/[email protected]
|
||||||
|
with:
|
||||||
|
ACCESS_TOKEN: ${{ secrets.API_TOKEN_GITHUB }}
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
BRANCH: main
|
||||||
|
FOLDER: api_data/v1
|
||||||
|
CLEAN: true
|
||||||
|
GIT_CONFIG_EMAIL: [email protected]
|
||||||
|
REPOSITORY_NAME: qmk/qmk_keyboards
|
||||||
|
TARGET_FOLDER: v1
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
*.swp
|
*.swp
|
||||||
tags
|
tags
|
||||||
*~
|
*~
|
||||||
|
api_data/v1
|
||||||
build/
|
build/
|
||||||
.build/
|
.build/
|
||||||
*.bak
|
*.bak
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
theme: jekyll-theme-cayman
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# QMK Keyboard Metadata
|
||||||
|
|
||||||
|
This directory contains machine parsable data about keyboards supported by QMK. The latest version is always available online at <https://keyboards.qmk.fm>.
|
||||||
|
|
||||||
|
Do not edit anything here by hand. It is generated with the `qmk generate-api` command.
|
||||||
@@ -212,6 +212,16 @@ This command is directory aware. It will automatically fill in KEYBOARD and/or K
|
|||||||
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
|
qmk new-keymap [-kb KEYBOARD] [-km KEYMAP]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## `qmk clean`
|
||||||
|
|
||||||
|
This command cleans up the `.build` folder. If `--all` is passed, any .hex or .bin files present in the `qmk_firmware` directory will also be deleted.
|
||||||
|
|
||||||
|
**Usage**:
|
||||||
|
|
||||||
|
```
|
||||||
|
qmk clean [-a]
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Developer Commands
|
# Developer Commands
|
||||||
|
|||||||
@@ -140,8 +140,8 @@ void oled_task_user(void) {
|
|||||||
|---------------------------|-----------------|--------------------------------------------------------------------------------------------------------------------------|
|
|---------------------------|-----------------|--------------------------------------------------------------------------------------------------------------------------|
|
||||||
|`OLED_DISPLAY_ADDRESS` |`0x3C` |The i2c address of the OLED Display |
|
|`OLED_DISPLAY_ADDRESS` |`0x3C` |The i2c address of the OLED Display |
|
||||||
|`OLED_FONT_H` |`"glcdfont.c"` |The font code file to use for custom fonts |
|
|`OLED_FONT_H` |`"glcdfont.c"` |The font code file to use for custom fonts |
|
||||||
|`OLED_FONT_START` |`0` |The starting characer index for custom fonts |
|
|`OLED_FONT_START` |`0` |The starting character index for custom fonts |
|
||||||
|`OLED_FONT_END` |`223` |The ending characer index for custom fonts |
|
|`OLED_FONT_END` |`223` |The ending character index for custom fonts |
|
||||||
|`OLED_FONT_WIDTH` |`6` |The font width |
|
|`OLED_FONT_WIDTH` |`6` |The font width |
|
||||||
|`OLED_FONT_HEIGHT` |`8` |The font height (untested) |
|
|`OLED_FONT_HEIGHT` |`8` |The font height (untested) |
|
||||||
|`OLED_TIMEOUT` |`60000` |Turns off the OLED screen after 60000ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. |
|
|`OLED_TIMEOUT` |`60000` |Turns off the OLED screen after 60000ms of keyboard inactivity. Helps reduce OLED Burn-in. Set to 0 to disable. |
|
||||||
@@ -149,6 +149,7 @@ void oled_task_user(void) {
|
|||||||
|`OLED_SCROLL_TIMEOUT_RIGHT`|*Not defined* |Scroll timeout direction is right when defined, left when undefined. |
|
|`OLED_SCROLL_TIMEOUT_RIGHT`|*Not defined* |Scroll timeout direction is right when defined, left when undefined. |
|
||||||
|`OLED_IC` |`OLED_IC_SSD1306`|Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. |
|
|`OLED_IC` |`OLED_IC_SSD1306`|Set to `OLED_IC_SH1106` if you're using the SH1106 OLED controller. |
|
||||||
|`OLED_COLUMN_OFFSET` |`0` |(SH1106 only.) Shift output to the right this many pixels.<br />Useful for 128x64 displays centered on a 132x64 SH1106 IC.|
|
|`OLED_COLUMN_OFFSET` |`0` |(SH1106 only.) Shift output to the right this many pixels.<br />Useful for 128x64 displays centered on a 132x64 SH1106 IC.|
|
||||||
|
|`OLED_BRIGHTNESS` |`255` |The default brightness level of the OLED, from 0 to 255. |
|
||||||
|
|
||||||
## 128x64 & Custom sized OLED Displays
|
## 128x64 & Custom sized OLED Displays
|
||||||
|
|
||||||
@@ -304,6 +305,12 @@ bool oled_off(void);
|
|||||||
// not
|
// not
|
||||||
bool is_oled_on(void);
|
bool is_oled_on(void);
|
||||||
|
|
||||||
|
// Sets the brightness level of the display
|
||||||
|
uint8_t oled_set_brightness(uint8_t level);
|
||||||
|
|
||||||
|
// Gets the current brightness level of the display
|
||||||
|
uint8_t oled_get_brightness(void);
|
||||||
|
|
||||||
// Basically it's oled_render, but with timeout management and oled_task_user calling!
|
// Basically it's oled_render, but with timeout management and oled_task_user calling!
|
||||||
void oled_task(void);
|
void oled_task(void);
|
||||||
|
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ OLED_BLOCK_TYPE oled_dirty = 0;
|
|||||||
bool oled_initialized = false;
|
bool oled_initialized = false;
|
||||||
bool oled_active = false;
|
bool oled_active = false;
|
||||||
bool oled_scrolling = false;
|
bool oled_scrolling = false;
|
||||||
|
uint8_t oled_brightness = OLED_BRIGHTNESS;
|
||||||
uint8_t oled_rotation = 0;
|
uint8_t oled_rotation = 0;
|
||||||
uint8_t oled_rotation_width = 0;
|
uint8_t oled_rotation_width = 0;
|
||||||
uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values
|
uint8_t oled_scroll_speed = 0; // this holds the speed after being remapped to ssd1306 internal values
|
||||||
@@ -193,7 +194,7 @@ bool oled_init(uint8_t rotation) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, 0x8F, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x40, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON};
|
static const uint8_t PROGMEM display_setup2[] = {I2C_CMD, COM_PINS, OLED_COM_PINS, CONTRAST, OLED_BRIGHTNESS, PRE_CHARGE_PERIOD, 0xF1, VCOM_DETECT, 0x20, DISPLAY_ALL_ON_RESUME, NORMAL_DISPLAY, DEACTIVATE_SCROLL, DISPLAY_ON};
|
||||||
if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) {
|
if (I2C_TRANSMIT_P(display_setup2) != I2C_STATUS_SUCCESS) {
|
||||||
print("display_setup2 failed\n");
|
print("display_setup2 failed\n");
|
||||||
return false;
|
return false;
|
||||||
@@ -550,6 +551,20 @@ bool oled_off(void) {
|
|||||||
|
|
||||||
bool is_oled_on(void) { return oled_active; }
|
bool is_oled_on(void) { return oled_active; }
|
||||||
|
|
||||||
|
uint8_t oled_set_brightness(uint8_t level) {
|
||||||
|
uint8_t set_contrast[] = {I2C_CMD, CONTRAST, level};
|
||||||
|
if (oled_brightness != level) {
|
||||||
|
if (I2C_TRANSMIT(set_contrast) != I2C_STATUS_SUCCESS) {
|
||||||
|
print("set_brightness cmd failed\n");
|
||||||
|
return oled_brightness;
|
||||||
|
}
|
||||||
|
oled_brightness = level;
|
||||||
|
}
|
||||||
|
return oled_brightness;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t oled_get_brightness(void) { return oled_brightness; }
|
||||||
|
|
||||||
// Set the specific 8 lines rows of the screen to scroll.
|
// Set the specific 8 lines rows of the screen to scroll.
|
||||||
// 0 is the default for start, and 7 for end, which is the entire
|
// 0 is the default for start, and 7 for end, which is the entire
|
||||||
// height of the screen. For 128x32 screens, rows 4-7 are not used.
|
// height of the screen. For 128x32 screens, rows 4-7 are not used.
|
||||||
|
|||||||
@@ -141,6 +141,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#if !defined(OLED_FONT_HEIGHT)
|
#if !defined(OLED_FONT_HEIGHT)
|
||||||
# define OLED_FONT_HEIGHT 8
|
# define OLED_FONT_HEIGHT 8
|
||||||
#endif
|
#endif
|
||||||
|
// Default brightness level
|
||||||
|
#if !defined(OLED_BRIGHTNESS)
|
||||||
|
# define OLED_BRIGHTNESS 255
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined(OLED_TIMEOUT)
|
#if !defined(OLED_TIMEOUT)
|
||||||
# if defined(OLED_DISABLE_TIMEOUT)
|
# if defined(OLED_DISABLE_TIMEOUT)
|
||||||
@@ -261,6 +265,12 @@ bool oled_off(void);
|
|||||||
// not
|
// not
|
||||||
bool is_oled_on(void);
|
bool is_oled_on(void);
|
||||||
|
|
||||||
|
// Sets the brightness of the display
|
||||||
|
uint8_t oled_set_brightness(uint8_t level);
|
||||||
|
|
||||||
|
// Gets the current brightness of the display
|
||||||
|
uint8_t oled_get_brightness(void);
|
||||||
|
|
||||||
// Basically it's oled_render, but with timeout management and oled_task_user calling!
|
// Basically it's oled_render, but with timeout management and oled_task_user calling!
|
||||||
void oled_task(void);
|
void oled_task(void);
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
|
CONSOLE_ENABLE = no
|
||||||
@@ -1,2 +1 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,5 +1,8 @@
|
|||||||
#include "rev2.h"
|
#include "rev2.h"
|
||||||
|
|
||||||
|
// Tested and verified working on ext65rev2
|
||||||
|
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
|
||||||
|
|
||||||
#ifdef OLED_DRIVER_ENABLE
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
void board_init(void) {
|
void board_init(void) {
|
||||||
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
|
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
|
||||||
|
|||||||
File renamed without changes.
@@ -0,0 +1,117 @@
|
|||||||
|
/* Copyright 2020 Leon Anavi <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#define _SCH 0
|
||||||
|
#define _PCB 1
|
||||||
|
#define _FN 2
|
||||||
|
|
||||||
|
#define KC_X0 LT(_FN, KC_ESC)
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
// How long (in ms) to wait between animation steps for the rainbow mode
|
||||||
|
const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15};
|
||||||
|
// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations
|
||||||
|
const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The keymap contains 2 layers for KiCad hotkeys and a 3rd layer
|
||||||
|
* for controlling the backlighting and the underlighting.
|
||||||
|
*
|
||||||
|
* - Layer for KiCad Schematic hotkeys:
|
||||||
|
* m - to move selected component
|
||||||
|
* r - to rotate selected component
|
||||||
|
* w - to wire components
|
||||||
|
* v - to edit component value
|
||||||
|
* F1 - zoom in
|
||||||
|
* F2 - zoom out
|
||||||
|
* F4 - zoom center
|
||||||
|
*
|
||||||
|
* - Layer for KiCad PCB layout hotkets:
|
||||||
|
* m - to move selected component
|
||||||
|
* r - to rotate selected component
|
||||||
|
* x - to route a new track
|
||||||
|
* v - to add a via
|
||||||
|
* F1 - zoom in
|
||||||
|
* F2 - zoom out
|
||||||
|
* F4 - zoom center
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_SCH] = LAYOUT_ortho_2x4(
|
||||||
|
KC_M, KC_R, KC_W, KC_V,
|
||||||
|
KC_F1, KC_F2, KC_F4, TO(_PCB)
|
||||||
|
),
|
||||||
|
|
||||||
|
[_PCB] = LAYOUT_ortho_2x4(
|
||||||
|
KC_M, KC_R, KC_X, KC_V,
|
||||||
|
KC_F1, KC_F2, KC_F4, TO(_FN)
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT_ortho_2x4(
|
||||||
|
RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN,
|
||||||
|
BL_TOGG, BL_STEP, BL_BRTG, TO(_SCH)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
|
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||||
|
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||||
|
}
|
||||||
|
|
||||||
|
void oled_task_user(void) {
|
||||||
|
// Host Keyboard Layer Status
|
||||||
|
oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false);
|
||||||
|
oled_write_P(PSTR("Layer: "), false);
|
||||||
|
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case _SCH:
|
||||||
|
oled_write_ln_P(PSTR("KiCad Schema"), false);
|
||||||
|
break;
|
||||||
|
case _PCB:
|
||||||
|
oled_write_ln_P(PSTR("KiCad PCB"), false);
|
||||||
|
break;
|
||||||
|
case _FN:
|
||||||
|
oled_write_ln_P(PSTR("FN "), false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||||
|
oled_write_ln_P(PSTR("N/A"), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Host Keyboard LED Status
|
||||||
|
led_t led_state = host_keyboard_led_state();
|
||||||
|
oled_write_P(PSTR("Num Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Caps Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Scroll Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Backlit: "), false);
|
||||||
|
oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
static char rgbStatusLine1[26] = {0};
|
||||||
|
snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode());
|
||||||
|
oled_write_ln(rgbStatusLine1, false);
|
||||||
|
static char rgbStatusLine2[26] = {0};
|
||||||
|
snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val());
|
||||||
|
oled_write_ln(rgbStatusLine2, false);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
/* Copyright 2020 Leon Anavi <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#define _MAIN 0
|
||||||
|
#define _FN 1
|
||||||
|
|
||||||
|
#define KC_X0 LT(_FN, KC_ESC)
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
// How long (in ms) to wait between animation steps for the rainbow mode
|
||||||
|
const uint8_t RGBLED_RAINBOW_MOOD_INTERVALS[] PROGMEM = {60, 30, 15};
|
||||||
|
// How long (in milliseconds) to wait between animation steps for each of the "Swirling rainbow" animations
|
||||||
|
const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {20, 10, 4};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This keymap contains the following shortcuts for OBS:
|
||||||
|
*
|
||||||
|
* - Shortcuts useful for switching scenes on the 1st row:
|
||||||
|
* Hold Left Control, Shift, Alt and GUI and press F9
|
||||||
|
* Hold Left Control, Shift, Alt and GUI and press F10
|
||||||
|
* Hold Left Control, Shift, Alt and GUI and press F11
|
||||||
|
* Hold Left Control, Shift, Alt and GUI and press F12
|
||||||
|
* - Center to screen: Ctrl+D
|
||||||
|
* - Fit to screen: Ctrl+F
|
||||||
|
* - Move source to top of sources list: Ctrl+Home
|
||||||
|
*/
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_MAIN] = LAYOUT_ortho_2x4(
|
||||||
|
HYPR(KC_F9), HYPR(KC_F10), HYPR(KC_F11), HYPR(KC_F12),
|
||||||
|
LCTL(KC_D), LCTL(KC_F), LCTL(KC_HOME), MO(_FN)
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT_ortho_2x4(
|
||||||
|
RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN,
|
||||||
|
BL_TOGG, BL_STEP, BL_BRTG, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
|
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||||
|
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||||
|
}
|
||||||
|
|
||||||
|
void oled_task_user(void) {
|
||||||
|
// Host Keyboard Layer Status
|
||||||
|
oled_write_ln_P(PSTR("ANAVI Macro Pad 8"), false);
|
||||||
|
oled_write_P(PSTR("Active layer: "), false);
|
||||||
|
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case _MAIN:
|
||||||
|
oled_write_ln_P(PSTR("OBS"), false);
|
||||||
|
break;
|
||||||
|
case _FN:
|
||||||
|
oled_write_ln_P(PSTR("FN"), false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||||
|
oled_write_ln_P(PSTR("N/A"), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Host Keyboard LED Status
|
||||||
|
led_t led_state = host_keyboard_led_state();
|
||||||
|
oled_write_P(PSTR("Num Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.num_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Caps Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.caps_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Scroll Lock: "), false);
|
||||||
|
oled_write_ln_P(led_state.scroll_lock ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
oled_write_P(PSTR("Backlit: "), false);
|
||||||
|
oled_write_ln_P(is_backlight_enabled() ? PSTR("On") : PSTR("Off"), false);
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
static char rgbStatusLine1[26] = {0};
|
||||||
|
snprintf(rgbStatusLine1, sizeof(rgbStatusLine1), "RGB Mode: %d", rgblight_get_mode());
|
||||||
|
oled_write_ln(rgbStatusLine1, false);
|
||||||
|
static char rgbStatusLine2[26] = {0};
|
||||||
|
snprintf(rgbStatusLine2, sizeof(rgbStatusLine2), "h:%d s:%d v:%d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val());
|
||||||
|
oled_write_ln(rgbStatusLine2, false);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -1,2 +1 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,4 +1,4 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
|
|
||||||
EXTRAKEY_ENABLE = no
|
CONSOLE_ENABLE = no
|
||||||
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 AAClawson (AlisGraveNil)
|
||||||
|
|
||||||
|
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 0x7767
|
||||||
|
#define PRODUCT_ID 0x0000
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER AlisGraveNil
|
||||||
|
#define PRODUCT Roadster
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 4
|
||||||
|
#define MATRIX_COLS 12
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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, D3, D0, D1 }
|
||||||
|
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5, B6, B2, B3, B1, F7, F6 }
|
||||||
|
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Roadster",
|
||||||
|
"url": "www.clawboards.xyz",
|
||||||
|
"maintainer": "AAClawson (AlisGraveNil)",
|
||||||
|
"width": 12,
|
||||||
|
"height": 4,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"K00 (D2,D4)", "x":0, "y":0},
|
||||||
|
{"label":"K01 (D2,C6)", "x":1, "y":0},
|
||||||
|
{"label":"K02 (D2,D7)", "x":2, "y":0},
|
||||||
|
{"label":"K03 (D2,E6)", "x":3, "y":0},
|
||||||
|
{"label":"K04 (D2,B4)", "x":4, "y":0},
|
||||||
|
{"label":"K05 (D2,B5)", "x":5, "y":0},
|
||||||
|
{"label":"K06 (D2,B6)", "x":6, "y":0},
|
||||||
|
{"label":"K07 (D2,B2)", "x":7, "y":0},
|
||||||
|
{"label":"K08 (D2,B3)", "x":8, "y":0},
|
||||||
|
{"label":"K09 (D2,B1)", "x":9, "y":0},
|
||||||
|
{"label":"K0A (D2,F7)", "x":10, "y":0},
|
||||||
|
{"label":"K0B (D2,F6)", "x":11, "y":0},
|
||||||
|
{"label":"K10 (D3,D4)", "x":0, "y":1, "w":1.5},
|
||||||
|
{"label":"K11 (D3,C6)", "x":1.5, "y":1},
|
||||||
|
{"label":"K12 (D3,D7)", "x":2.5, "y":1},
|
||||||
|
{"label":"K13 (D3,E6)", "x":3.5, "y":1},
|
||||||
|
{"label":"K14 (D3,B4)", "x":4.5, "y":1},
|
||||||
|
{"label":"K15 (D3,B5)", "x":5.5, "y":1},
|
||||||
|
{"label":"K16 (D3,B6)", "x":6.5, "y":1},
|
||||||
|
{"label":"K17 (D3,B2)", "x":7.5, "y":1},
|
||||||
|
{"label":"K18 (D3,B3)", "x":8.5, "y":1},
|
||||||
|
{"label":"K19 (D3,B1)", "x":9.5, "y":1},
|
||||||
|
{"label":"K1B (D3,F6)", "x":10.5, "y":1, "w":1.5},
|
||||||
|
{"label":"K20 (D0,D4)", "x":0, "y":2},
|
||||||
|
{"label":"K21 (D0,C6)", "x":1, "y":2},
|
||||||
|
{"label":"K22 (D0,D7)", "x":2, "y":2},
|
||||||
|
{"label":"K23 (D0,E6)", "x":3, "y":2},
|
||||||
|
{"label":"K24 (D0,B4)", "x":4, "y":2},
|
||||||
|
{"label":"K25 (D0,B5)", "x":5, "y":2},
|
||||||
|
{"label":"K26 (D0,B6)", "x":6, "y":2},
|
||||||
|
{"label":"K27 (D0,B2)", "x":7, "y":2},
|
||||||
|
{"label":"K28 (D0,B3)", "x":8, "y":2},
|
||||||
|
{"label":"K29 (D0,B1)", "x":9, "y":2},
|
||||||
|
{"label":"K2A (D0,F7)", "x":10, "y":2},
|
||||||
|
{"label":"K2B (D0,F6)", "x":11, "y":2},
|
||||||
|
{"label":"K30 (D1,D4)", "x":0, "y":3},
|
||||||
|
{"label":"K31 (D1,C6)", "x":1, "y":3},
|
||||||
|
{"label":"K32 (D1,D7)", "x":2, "y":3},
|
||||||
|
{"label":"K34 (D1,B4)", "x":3, "y":3, "w":2},
|
||||||
|
{"label":"K36 (D1,B6)", "x":5, "y":3, "w":2},
|
||||||
|
{"label":"K38 (D1,B3)", "x":7, "y":3, "w":2},
|
||||||
|
{"label":"K39 (D1,B1)", "x":9, "y":3},
|
||||||
|
{"label":"K3A (D1,F7)", "x":10, "y":3},
|
||||||
|
{"label":"K3B (D1,F6)", "x":11, "y":3}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
+10
-7
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright 2017 Mathias Andersson <[email protected]>
|
/* Copyright 2020 AAClawson (AlisGraveNil)
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -13,12 +13,15 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
#ifndef CONFIG_USER_H
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
#define CONFIG_USER_H
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
|
||||||
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||||
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_UP, KC_LSFT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
#include "../../config.h"
|
};
|
||||||
|
|
||||||
// place overrides here
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Roadster
|
||||||
|
|
||||||
|
This is a 4x12 keyboard.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [AAClawson](https://github.com/AlisGraveNil)
|
||||||
|
* Hardware Supported: Roaster; Pro Micro or Elite-C
|
||||||
|
* Hardware Availability: [Clawsome Boards](https://www.clawboards.xyz/)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make clawsome/roadster:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright 2019 HnahKB
|
/* Copyright 2020 AAClawson (AlisGraveNil)
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -13,7 +13,4 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
#include "roadster.h"
|
||||||
#pragma once
|
|
||||||
|
|
||||||
// place overrides here
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
/* Copyright 2020 AAClawson (AlisGraveNil)
|
||||||
|
*
|
||||||
|
* 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, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1B, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
|
||||||
|
K30, K31, K32, K34, K36, K38, K39, K3A, K3B \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_NO, K1B }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \
|
||||||
|
{ K30, K31, K32, KC_NO, K34, KC_NO, K36, KC_NO, K38, K39, K3A, K3B }, \
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = caterina
|
||||||
|
|
||||||
|
# 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
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,3 +1,2 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
File renamed without changes.
+117
-26
@@ -15,36 +15,127 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
#pragma once
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xFEED
|
#define VENDOR_ID 0xFEED
|
||||||
#define PRODUCT_ID 0x6060
|
#define PRODUCT_ID 0x56C2
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER DARKOU
|
#define MANUFACTURER DARKOU
|
||||||
#define PRODUCT DK60
|
#define PRODUCT DK60
|
||||||
#define DESCRIPTION QMK keyboard firmware for DK60 support
|
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 5
|
#define MATRIX_ROWS 5
|
||||||
#define MATRIX_COLS 13
|
#define MATRIX_COLS 13
|
||||||
|
|
||||||
// ROWS: Top to bottom, COLS: Left to right
|
/*
|
||||||
#define MATRIX_ROW_PINS { B6, B4, D7, D6, D4 }
|
* Keyboard Matrix Assignments
|
||||||
#define MATRIX_COL_PINS { B0, B3, B2, B1, D3, D5, B5, B7, C6, C7, D0, D1, D2 }
|
*
|
||||||
#define UNUSED_PINS
|
* 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 { B6, B4, D7, D6, D4 }
|
||||||
|
#define MATRIX_COL_PINS { B0, B3, B2, B1, D3, D5, B5, B7, C6, C7, D0, D1, D2 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
/* COL2ROW, ROW2COL */
|
||||||
#define DIODE_DIRECTION COL2ROW
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
//#define BACKLIGHT_PIN B7
|
||||||
#define DEBOUNCE 5
|
//#define BACKLIGHT_LEVELS 3
|
||||||
|
//#define BACKLIGHT_BREATHING
|
||||||
|
|
||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
//#define RGB_DI_PIN E2
|
||||||
#define LOCKING_SUPPORT_ENABLE
|
//#ifdef RGB_DI_PIN
|
||||||
/* Locking resynchronize hack */
|
//# define RGBLED_NUM 16
|
||||||
#define LOCKING_RESYNC_ENABLE
|
//# define RGBLIGHT_HUE_STEP 8
|
||||||
#endif
|
//# define RGBLIGHT_SAT_STEP 8
|
||||||
|
//# define RGBLIGHT_VAL_STEP 8
|
||||||
|
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||||
|
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||||
|
/*== all animations enable ==*/
|
||||||
|
//# define RGBLIGHT_ANIMATIONS
|
||||||
|
/*== or choose animations ==*/
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
|
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
|
//# define RGBLIGHT_EFFECT_SNAKE
|
||||||
|
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||||
|
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||||
|
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
|
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||||
|
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||||
|
/*== customize breathing effect ==*/
|
||||||
|
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||||
|
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||||
|
/*==== use exp() and sin() ====*/
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||||
|
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||||
|
*/
|
||||||
|
//#define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force NKRO
|
||||||
|
*
|
||||||
|
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||||
|
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||||
|
* makefile for this to work.)
|
||||||
|
*
|
||||||
|
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||||
|
* until the next keyboard reset.
|
||||||
|
*
|
||||||
|
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||||
|
* fully operational during normal computer usage.
|
||||||
|
*
|
||||||
|
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||||
|
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||||
|
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||||
|
* power-up.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//#define FORCE_NKRO
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
/* disable these deprecated features by default */
|
||||||
|
#define NO_ACTION_MACRO
|
||||||
|
#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
|
/* Bootmagic Lite key configuration */
|
||||||
|
//#define BOOTMAGIC_LITE_ROW 0
|
||||||
|
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||||
+30
-16
@@ -1,3 +1,20 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 Damien Broqua <[email protected]>
|
||||||
|
|
||||||
|
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 "dk60.h"
|
#include "dk60.h"
|
||||||
|
|
||||||
extern inline void dk60_caps_led_on(void);
|
extern inline void dk60_caps_led_on(void);
|
||||||
@@ -9,12 +26,10 @@ extern inline void dk60_esc_led_off(void);
|
|||||||
extern inline void dk60_led_all_on(void);
|
extern inline void dk60_led_all_on(void);
|
||||||
extern inline void dk60_led_all_off(void);
|
extern inline void dk60_led_all_off(void);
|
||||||
|
|
||||||
|
void dk60_blink_all_leds(void) {
|
||||||
void dk60_blink_all_leds(void)
|
|
||||||
{
|
|
||||||
dk60_led_all_off();
|
dk60_led_all_off();
|
||||||
dk60_led_all_on();
|
dk60_led_all_on();
|
||||||
_delay_ms(500);
|
wait_ms(500);
|
||||||
dk60_led_all_off();
|
dk60_led_all_off();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,19 +41,18 @@ void matrix_init_kb(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void led_init_ports(void) {
|
void led_init_ports(void) {
|
||||||
// * Set our LED pins as output
|
setPinOutput(E6);
|
||||||
DDRE |= (1<<6);
|
setPinOutput(F0);
|
||||||
DDRF |= (1<<0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_kb(uint8_t usb_led) {
|
bool led_update_kb(led_t led_state) {
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
if (led_update_user(led_state)) {
|
||||||
// Turn capslock on
|
if (led_state.caps_lock) {
|
||||||
dk60_caps_led_on();
|
dk60_caps_led_on();
|
||||||
} else {
|
} else {
|
||||||
// Turn capslock off
|
dk60_caps_led_off();
|
||||||
dk60_caps_led_off();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
led_set_user(usb_led);
|
return true;
|
||||||
}
|
}
|
||||||
+44
-33
@@ -1,41 +1,52 @@
|
|||||||
#ifndef DK60_H
|
/*
|
||||||
#define DK60_H
|
Copyright 2017 Damien Broqua <[email protected]>
|
||||||
|
|
||||||
#include "quantum.h"
|
This program is free software: you can redistribute it and/or modify
|
||||||
#include <util/delay.h>
|
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.
|
||||||
|
|
||||||
inline void dk60_caps_led_on(void) { PORTE |= (1<<6); }
|
This program is distributed in the hope that it will be useful,
|
||||||
inline void dk60_esc_led_on(void) { PORTF |= (1<<0); }
|
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.
|
||||||
|
|
||||||
inline void dk60_caps_led_off(void) { PORTE &= ~(1<<6); }
|
You should have received a copy of the GNU General Public License
|
||||||
inline void dk60_esc_led_off(void) { PORTF &= ~(1<<0); }
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
inline void dk60_led_all_on(void)
|
#pragma once
|
||||||
{
|
|
||||||
dk60_caps_led_on();
|
|
||||||
dk60_esc_led_on();
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void dk60_led_all_off(void)
|
#include "quantum.h"
|
||||||
{
|
|
||||||
dk60_caps_led_off();
|
|
||||||
dk60_esc_led_off();
|
|
||||||
}
|
|
||||||
|
|
||||||
#define ___ KC_NO
|
inline void dk60_caps_led_on(void) { writePinHigh(E6); }
|
||||||
|
inline void dk60_esc_led_on(void) { writePinHigh(F0); }
|
||||||
|
|
||||||
#define LAYOUT( \
|
inline void dk60_caps_led_off(void) { writePinLow(E6); }
|
||||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4B, K4A, \
|
inline void dk60_esc_led_off(void) { writePinLow(F0); }
|
||||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K4C, \
|
|
||||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
|
||||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
|
|
||||||
K41, K42, K45, K48, K49 \
|
|
||||||
) { \
|
|
||||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
|
|
||||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
|
|
||||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
|
|
||||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \
|
|
||||||
{ ___, K41, K42, ___, ___, K45, ___, ___, K48, K49, K4A, K4B, K4C } \
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
inline void dk60_led_all_on(void) {
|
||||||
|
dk60_caps_led_on();
|
||||||
|
dk60_esc_led_on();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void dk60_led_all_off(void) {
|
||||||
|
dk60_caps_led_off();
|
||||||
|
dk60_esc_led_off();
|
||||||
|
}
|
||||||
|
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4B, K4A, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K4C, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
|
||||||
|
K41, K42, K45, K48, K49 \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \
|
||||||
|
{ XXX, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, K4C } \
|
||||||
|
}
|
||||||
+74
-10
@@ -1,13 +1,77 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "DK60",
|
"keyboard_name": "DK60",
|
||||||
"url": "",
|
"url": "",
|
||||||
"maintainer": "qmk",
|
"maintainer": "qmk",
|
||||||
"width": 15,
|
"width": 15,
|
||||||
"height": 5,
|
"height": 5,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"key_count": 60,
|
"layout": [
|
||||||
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, {"label":"K0A", "x":10, "y":0}, {"label":"K0B", "x":11, "y":0}, {"label":"K0C", "x":12, "y":0}, {"label":"K4B", "x":13, "y":0}, {"label":"K4A", "x":14, "y":0}, {"label":"K10", "x":0, "y":1, "w":1.5}, {"label":"K11", "x":1.5, "y":1}, {"label":"K12", "x":2.5, "y":1}, {"label":"K13", "x":3.5, "y":1}, {"label":"K14", "x":4.5, "y":1}, {"label":"K15", "x":5.5, "y":1}, {"label":"K16", "x":6.5, "y":1}, {"label":"K17", "x":7.5, "y":1}, {"label":"K18", "x":8.5, "y":1}, {"label":"K19", "x":9.5, "y":1}, {"label":"K1A", "x":10.5, "y":1}, {"label":"K1B", "x":11.5, "y":1}, {"label":"K1C", "x":12.5, "y":1}, {"label":"K4C", "x":13.5, "y":1, "w":1.5}, {"label":"K20", "x":0, "y":2, "w":1.75}, {"label":"K21", "x":1.75, "y":2}, {"label":"K22", "x":2.75, "y":2}, {"label":"K23", "x":3.75, "y":2}, {"label":"K24", "x":4.75, "y":2}, {"label":"K25", "x":5.75, "y":2}, {"label":"K26", "x":6.75, "y":2}, {"label":"K27", "x":7.75, "y":2}, {"label":"K28", "x":8.75, "y":2}, {"label":"K29", "x":9.75, "y":2}, {"label":"K2A", "x":10.75, "y":2}, {"label":"K2B", "x":11.75, "y":2}, {"label":"K2C", "x":12.75, "y":2, "w":2.25}, {"label":"K30", "x":0, "y":3, "w":2.25}, {"label":"K31", "x":2.25, "y":3}, {"label":"K32", "x":3.25, "y":3}, {"label":"K33", "x":4.25, "y":3}, {"label":"K34", "x":5.25, "y":3}, {"label":"K35", "x":6.25, "y":3}, {"label":"K36", "x":7.25, "y":3}, {"label":"K37", "x":8.25, "y":3}, {"label":"K38", "x":9.25, "y":3}, {"label":"K39", "x":10.25, "y":3}, {"label":"K3A", "x":11.25, "y":3}, {"label":"K3B", "x":12.25, "y":3, "w":1.75}, {"label":"K3C", "x":14, "y":3}, {"label":"K41", "x":1.5, "y":4}, {"label":"K42", "x":2.5, "y":4, "w":1.25}, {"label":"K45", "x":3.75, "y":4, "w":7}, {"label":"K48", "x":10.75, "y":4, "w":1.25}, {"label":"K49", "x":12, "y":4}]
|
{"x": 0, "y": 0},
|
||||||
|
{"x": 1, "y": 0},
|
||||||
|
{"x": 2, "y": 0},
|
||||||
|
{"x": 3, "y": 0},
|
||||||
|
{"x": 4, "y": 0},
|
||||||
|
{"x": 5, "y": 0},
|
||||||
|
{"x": 6, "y": 0},
|
||||||
|
{"x": 7, "y": 0},
|
||||||
|
{"x": 8, "y": 0},
|
||||||
|
{"x": 9, "y": 0},
|
||||||
|
{"x": 10, "y": 0},
|
||||||
|
{"x": 11, "y": 0},
|
||||||
|
{"x": 12, "y": 0},
|
||||||
|
{"x": 13, "y": 0},
|
||||||
|
{"x": 14, "y": 0},
|
||||||
|
|
||||||
|
{"x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"x": 1.5, "y": 1},
|
||||||
|
{"x": 2.5, "y": 1},
|
||||||
|
{"x": 3.5, "y": 1},
|
||||||
|
{"x": 4.5, "y": 1},
|
||||||
|
{"x": 5.5, "y": 1},
|
||||||
|
{"x": 6.5, "y": 1},
|
||||||
|
{"x": 7.5, "y": 1},
|
||||||
|
{"x": 8.5, "y": 1},
|
||||||
|
{"x": 9.5, "y": 1},
|
||||||
|
{"x": 10.5, "y": 1},
|
||||||
|
{"x": 11.5, "y": 1},
|
||||||
|
{"x": 12.5, "y": 1},
|
||||||
|
{"x": 13.5, "y": 1, "w": 1.5},
|
||||||
|
|
||||||
|
{"x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"x": 1.75, "y": 2},
|
||||||
|
{"x": 2.75, "y": 2},
|
||||||
|
{"x": 3.75, "y": 2},
|
||||||
|
{"x": 4.75, "y": 2},
|
||||||
|
{"x": 5.75, "y": 2},
|
||||||
|
{"x": 6.75, "y": 2},
|
||||||
|
{"x": 7.75, "y": 2},
|
||||||
|
{"x": 8.75, "y": 2},
|
||||||
|
{"x": 9.75, "y": 2},
|
||||||
|
{"x": 10.75, "y": 2},
|
||||||
|
{"x": 11.75, "y": 2},
|
||||||
|
{"x": 12.75, "y": 2, "w": 2.25},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"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": 1.5, "y": 4},
|
||||||
|
{"x": 2.5, "y": 4, "w": 1.25},
|
||||||
|
{"x": 3.75, "y": 4, "w": 7},
|
||||||
|
{"x": 10.75, "y": 4, "w": 1.25},
|
||||||
|
{"x": 12, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,79 +1,80 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2017 Damien Broqua <[email protected]>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
enum planck_layers {
|
enum layer_names {
|
||||||
_QWERTY,
|
_QWERTY,
|
||||||
_FN,
|
_FN
|
||||||
_DVORAK,
|
|
||||||
_LOWER,
|
|
||||||
_RAISE,
|
|
||||||
_PLOVER,
|
|
||||||
_ADJUST
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum planck_keycodes {
|
|
||||||
QWERTY = SAFE_RANGE,
|
|
||||||
FN
|
|
||||||
};
|
|
||||||
|
|
||||||
// Fillers to make layering more clear
|
|
||||||
#define ______ KC_TRNS
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Qwerty gui/alt/space/alt/gui
|
/* Qwerty gui/alt/space/alt/gui
|
||||||
* ,-----------------------------------------------------------------------------------------.
|
* ,-----------------------------------------------------------------------------------------.
|
||||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
* | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
|
* | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* |LGUI | LAlt | Space | RAlt |RGUI |
|
* |LGUI | LAlt | Space | RAlt |RGUI |
|
||||||
* `-----------------------------------------------------------------'
|
* `-----------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_QWERTY] = LAYOUT( /* Basic QWERTY */
|
[_QWERTY] = LAYOUT( /* Basic QWERTY */
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN, \
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
|
||||||
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI \
|
KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI
|
||||||
),
|
),
|
||||||
|
|
||||||
/* FN Layer
|
/* FN Layer
|
||||||
* ,-----------------------------------------------------------------------------------------.
|
* ,-----------------------------------------------------------------------------------------.
|
||||||
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
|
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | CAPS | | | | | | | | Psc | Slck| Paus| Up | | |
|
* | CAPS | | | | | | | | Psc | Slck| Paus| Up | | |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
|
* | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
|
* | | Prev| Play| Next| | | + | - | End |PgDn| Down| | |
|
||||||
* |-----------------------------------------------------------------------------------------+
|
* |-----------------------------------------------------------------------------------------+
|
||||||
* | | | | Stop | |
|
* | | | | Stop | |
|
||||||
* `-----------------------------------------------------------------'
|
* `-----------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_FN] = LAYOUT( /* Layer 1 */
|
[_FN] = LAYOUT( /* Layer 1 */
|
||||||
______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
|
||||||
KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \
|
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, _______,
|
||||||
______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______, \
|
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
|
||||||
______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______, \
|
_______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||||
______, ______, ______, KC_MSTP, ______ \
|
_______, _______, _______, KC_MSTP, _______
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case FN:
|
case MO(_FN):
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
layer_on(_FN);
|
dk60_esc_led_on();
|
||||||
dk60_esc_led_on();
|
} else {
|
||||||
} else {
|
dk60_esc_led_off();
|
||||||
layer_off(_FN);
|
}
|
||||||
dk60_esc_led_off();
|
return false;
|
||||||
}
|
}
|
||||||
return false;
|
return true;
|
||||||
break;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
@@ -1,17 +1,19 @@
|
|||||||
DK60
|
# DK60
|
||||||
===
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Another 60% keyboard with different HHKB layout made and sold by dbroqua. [More info on github/dbroqua](https://github.com/Dbroqua/DK60/)
|
Another 60% keyboard with different HHKB layout made and sold by dbroqua.
|
||||||
|
|
||||||
Keyboard Maintainer: [Damien Broqua aka DarKou](https://github.com/Dbroqua)
|
* Keyboard Maintainer: [Damien Broqua aka DarKou](https://github.com/Dbroqua)
|
||||||
Hardware Supported: DK60 PCB revA
|
* Hardware Supported: DK60 PCB revA
|
||||||
|
* Hardware Availability: https://github.com/Dbroqua/DK60/
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make dk60:default
|
make dk60:default
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
Open Hardware project!
|
make dk60:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
+18
-21
@@ -2,26 +2,23 @@
|
|||||||
MCU = atmega32u4
|
MCU = atmega32u4
|
||||||
|
|
||||||
# Bootloader selection
|
# 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
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
|
# Build Options
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
# change yes to no to disable
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
#
|
||||||
# CONSOLE_ENABLE = yes # Console for debug
|
BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
|
||||||
# COMMAND_ENABLE = yes # Commands for debug and configuration
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
KEYBOARD_LOCK_ENABLE = yes # Allow locking of keyboard via magic key
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
MIDI_ENABLE = no # MIDI controls
|
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
||||||
AUDIO_ENABLE = no
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
UNICODE_ENABLE = yes # Unicode
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
SLEEP_LED_ENABLE = yes
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
KEYBOARD_LOCK_ENABLE = yes
|
||||||
|
UNICODE_ENABLE = yes
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "mousekey.h"
|
||||||
|
|
||||||
|
|
||||||
enum plaid_layers {
|
enum plaid_layers {
|
||||||
@@ -25,9 +26,13 @@ enum plaid_layers {
|
|||||||
};
|
};
|
||||||
|
|
||||||
enum plaid_keycodes {
|
enum plaid_keycodes {
|
||||||
QWERTY = SAFE_RANGE
|
AUTOCLICK = SAFE_RANGE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static bool autoclick = false;
|
||||||
|
static bool autoclick_state = false;
|
||||||
|
static uint16_t autoclick_timer = 0;
|
||||||
|
|
||||||
#define XMONAD LM(_XMONAD, MOD_LGUI)
|
#define XMONAD LM(_XMONAD, MOD_LGUI)
|
||||||
#define SPC_LWR LT(_LOWER, KC_SPACE)
|
#define SPC_LWR LT(_LOWER, KC_SPACE)
|
||||||
#define ENT_RSE LT(_RAISE, KC_ENT)
|
#define ENT_RSE LT(_RAISE, KC_ENT)
|
||||||
@@ -89,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
KC_F12, 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
|
||||||
_______, _______, MU_MOD, AU_ON, AU_OFF, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, RESET,
|
_______, _______, MU_MOD, AU_ON, AU_OFF, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, RESET,
|
||||||
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,_______, _______, _______,
|
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF,_______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, AUTOCLICK
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -167,6 +172,16 @@ void matrix_scan_user(void) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (autoclick && timer_elapsed(autoclick_timer) > (autoclick_state ? 20 : 100)) {
|
||||||
|
if (!autoclick_state) {
|
||||||
|
mousekey_on(KC_MS_BTN1);
|
||||||
|
} else {
|
||||||
|
mousekey_off(KC_MS_BTN1);
|
||||||
|
}
|
||||||
|
mousekey_send();
|
||||||
|
autoclick_state = !autoclick_state;
|
||||||
|
autoclick_timer = timer_read();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
@@ -186,3 +201,15 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
|||||||
}
|
}
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case AUTOCLICK:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
autoclick = !autoclick;
|
||||||
|
autoclick_timer = timer_read();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
@@ -15,3 +15,5 @@ old machine.
|
|||||||
|
|
||||||
When any layer is active, the LEDs are "startled".
|
When any layer is active, the LEDs are "startled".
|
||||||
|
|
||||||
|
There is an autoclicker for minecraft.
|
||||||
|
|
||||||
@@ -1,3 +1 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
EXTRAKEY_ENABLE = no
|
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
{"x": 1, "y": 2},
|
{"x": 1, "y": 2},
|
||||||
{"x": 2, "y": 2},
|
{"x": 2, "y": 2},
|
||||||
{"x": 3, "y": 2},
|
{"x": 3, "y": 2},
|
||||||
{"x": 4, "y": 2},
|
{"x": 4, "y": 1, "h": 2},
|
||||||
|
|
||||||
{"x": 1, "y": 3},
|
{"x": 1, "y": 3},
|
||||||
{"x": 2, "y": 3},
|
{"x": 2, "y": 3},
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
{"x": 1, "y": 4},
|
{"x": 1, "y": 4},
|
||||||
{"x": 2, "y": 4},
|
{"x": 2, "y": 4},
|
||||||
{"x": 3, "y": 4},
|
{"x": 3, "y": 4},
|
||||||
{"x": 4, "y": 4}
|
{"x": 4, "y": 3, "h": 2}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Draytronics SCARLET",
|
||||||
|
"url": "https://www.draytronics.co.uk/scarlet",
|
||||||
|
"maintainer": "ghostseven",
|
||||||
|
"width": 4,
|
||||||
|
"height": 5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_numpad_5x4": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Num Lock", "x":0, "y":0},
|
||||||
|
{"label":"/", "x":1, "y":0},
|
||||||
|
{"label":"*", "x":2, "y":0},
|
||||||
|
{"label":"-", "x":3, "y":0},
|
||||||
|
|
||||||
|
{"label":"7", "x":0, "y":1},
|
||||||
|
{"label":"8", "x":1, "y":1},
|
||||||
|
{"label":"9", "x":2, "y":1},
|
||||||
|
|
||||||
|
{"label":"4", "x":0, "y":2},
|
||||||
|
{"label":"5", "x":1, "y":2},
|
||||||
|
{"label":"6", "x":2, "y":2},
|
||||||
|
{"label":"+", "x":3, "y":1, "h":2},
|
||||||
|
|
||||||
|
{"label":"1", "x":0, "y":3},
|
||||||
|
{"label":"2", "x":1, "y":3},
|
||||||
|
{"label":"3", "x":2, "y":3},
|
||||||
|
|
||||||
|
{"label":"0", "x":0, "y":4, "w":2},
|
||||||
|
{"label":".", "x":2, "y":4},
|
||||||
|
{"label":"Enter", "x":3, "y":3, "h":2}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+43
-114
@@ -20,12 +20,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0x534F // "SO"
|
#define VENDOR_ID 0x534F // "SO"
|
||||||
#define PRODUCT_ID 0x0001
|
#define PRODUCT_ID 0x0001
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER Soran
|
#define MANUFACTURER Soran
|
||||||
#define PRODUCT Efreet
|
#define PRODUCT Efreet
|
||||||
#define DESCRIPTION A 40% ortholinear keyboard.
|
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 8
|
#define MATRIX_ROWS 8
|
||||||
@@ -40,50 +39,50 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define MATRIX_ROW_PINS { B0, D6, D5, D4, D3, D2, D1, C2 }
|
#define MATRIX_ROW_PINS { B0, D6, D5, D4, D3, D2, D1, C2 }
|
||||||
#define MATRIX_COL_PINS { B3, B4, B5, B6, B7, C7 }
|
#define MATRIX_COL_PINS { B3, B4, B5, B6, B7, C7 }
|
||||||
#define UNUSED_PINS
|
#define UNUSED_PINS
|
||||||
|
|
||||||
/* COL2ROW, ROW2COL*/
|
/* COL2ROW, ROW2COL */
|
||||||
#define DIODE_DIRECTION COL2ROW
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
|
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
|
||||||
*/
|
*/
|
||||||
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
|
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
|
||||||
|
|
||||||
#define BACKLIGHT_PIN D0
|
#define BACKLIGHT_PIN D0
|
||||||
#define BACKLIGHT_BREATHING
|
|
||||||
#define BACKLIGHT_LEVELS 3
|
#define BACKLIGHT_LEVELS 3
|
||||||
|
#define BACKLIGHT_BREATHING
|
||||||
|
|
||||||
// #define RGB_DI_PIN E2
|
//#define RGB_DI_PIN E2
|
||||||
// #ifdef RGB_DI_PIN
|
//#ifdef RGB_DI_PIN
|
||||||
// #define RGBLED_NUM 16
|
//# define RGBLED_NUM 16
|
||||||
// #define RGBLIGHT_HUE_STEP 8
|
//# define RGBLIGHT_HUE_STEP 8
|
||||||
// #define RGBLIGHT_SAT_STEP 8
|
//# define RGBLIGHT_SAT_STEP 8
|
||||||
// #define RGBLIGHT_VAL_STEP 8
|
//# define RGBLIGHT_VAL_STEP 8
|
||||||
// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||||
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||||
// /*== all animations enable ==*/
|
/*== all animations enable ==*/
|
||||||
// #define RGBLIGHT_ANIMATIONS
|
//# define RGBLIGHT_ANIMATIONS
|
||||||
// /*== or choose animations ==*/
|
/*== or choose animations ==*/
|
||||||
// #define RGBLIGHT_EFFECT_BREATHING
|
//# define RGBLIGHT_EFFECT_BREATHING
|
||||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
// #define RGBLIGHT_EFFECT_SNAKE
|
//# define RGBLIGHT_EFFECT_SNAKE
|
||||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||||
// /*== customize breathing effect ==*/
|
/*== customize breathing effect ==*/
|
||||||
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||||
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||||
// /*==== use exp() and sin() ====*/
|
/*==== use exp() and sin() ====*/
|
||||||
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||||
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||||
// #endif
|
//#endif
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
@@ -97,9 +96,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||||
*/
|
*/
|
||||||
// #define GRAVE_ESC_CTRL_OVERRIDE
|
//#define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Force NKRO
|
* Force NKRO
|
||||||
@@ -122,55 +121,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
*/
|
*/
|
||||||
//#define FORCE_NKRO
|
//#define FORCE_NKRO
|
||||||
|
|
||||||
/*
|
|
||||||
* Magic Key Options
|
|
||||||
*
|
|
||||||
* Magic keys are hotkey commands that allow control over firmware functions of
|
|
||||||
* the keyboard. They are best used in combination with the HID Listen program,
|
|
||||||
* found here: https://www.pjrc.com/teensy/hid_listen.html
|
|
||||||
*
|
|
||||||
* The options below allow the magic key functionality to be changed. This is
|
|
||||||
* useful if your keyboard/keypad is missing keys and you want magic key support.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* control how magic key switches layers */
|
|
||||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
|
|
||||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
|
|
||||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
|
|
||||||
|
|
||||||
/* override magic key keymap */
|
|
||||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
|
||||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
|
||||||
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
|
||||||
//#define MAGIC_KEY_HELP H
|
|
||||||
//#define MAGIC_KEY_HELP_ALT SLASH
|
|
||||||
//#define MAGIC_KEY_DEBUG D
|
|
||||||
//#define MAGIC_KEY_DEBUG_MATRIX X
|
|
||||||
//#define MAGIC_KEY_DEBUG_KBD K
|
|
||||||
//#define MAGIC_KEY_DEBUG_MOUSE M
|
|
||||||
//#define MAGIC_KEY_VERSION V
|
|
||||||
//#define MAGIC_KEY_STATUS S
|
|
||||||
//#define MAGIC_KEY_CONSOLE C
|
|
||||||
//#define MAGIC_KEY_LAYER0 0
|
|
||||||
//#define MAGIC_KEY_LAYER0_ALT GRAVE
|
|
||||||
//#define MAGIC_KEY_LAYER1 1
|
|
||||||
//#define MAGIC_KEY_LAYER2 2
|
|
||||||
//#define MAGIC_KEY_LAYER3 3
|
|
||||||
//#define MAGIC_KEY_LAYER4 4
|
|
||||||
//#define MAGIC_KEY_LAYER5 5
|
|
||||||
//#define MAGIC_KEY_LAYER6 6
|
|
||||||
//#define MAGIC_KEY_LAYER7 7
|
|
||||||
//#define MAGIC_KEY_LAYER8 8
|
|
||||||
//#define MAGIC_KEY_LAYER9 9
|
|
||||||
//#define MAGIC_KEY_BOOTLOADER B
|
|
||||||
//#define MAGIC_KEY_BOOTLOADER_ALT ESC
|
|
||||||
//#define MAGIC_KEY_LOCK CAPS
|
|
||||||
//#define MAGIC_KEY_EEPROM E
|
|
||||||
//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
|
|
||||||
//#define MAGIC_KEY_NKRO N
|
|
||||||
//#define MAGIC_KEY_SLEEP_LED Z
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Feature disable options
|
* Feature disable options
|
||||||
* These options are also useful to firmware size reduction.
|
* These options are also useful to firmware size reduction.
|
||||||
@@ -186,32 +136,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
//#define NO_ACTION_LAYER
|
//#define NO_ACTION_LAYER
|
||||||
//#define NO_ACTION_TAPPING
|
//#define NO_ACTION_TAPPING
|
||||||
//#define NO_ACTION_ONESHOT
|
//#define NO_ACTION_ONESHOT
|
||||||
//#define NO_ACTION_MACRO
|
|
||||||
//#define NO_ACTION_FUNCTION
|
|
||||||
|
|
||||||
/*
|
/* disable these deprecated features by default */
|
||||||
* MIDI options
|
#define NO_ACTION_MACRO
|
||||||
*/
|
#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
/* Prevent use of disabled MIDI features in the keymap */
|
|
||||||
//#define MIDI_ENABLE_STRICT 1
|
|
||||||
|
|
||||||
/* enable basic MIDI features:
|
|
||||||
- MIDI notes can be sent when in Music mode is on
|
|
||||||
*/
|
|
||||||
//#define MIDI_BASIC
|
|
||||||
|
|
||||||
/* enable advanced MIDI features:
|
|
||||||
- MIDI notes can be added to the keymap
|
|
||||||
- Octave shift and transpose
|
|
||||||
- Virtual sustain, portamento, and modulation wheel
|
|
||||||
- etc.
|
|
||||||
*/
|
|
||||||
//#define MIDI_ADVANCED
|
|
||||||
|
|
||||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
|
||||||
//#define MIDI_TONE_KEYCODE_OCTAVES 1
|
|
||||||
|
|
||||||
/* Bootmagic Lite key configuration */
|
/* Bootmagic Lite key configuration */
|
||||||
// #define BOOTMAGIC_LITE_ROW 0
|
//#define BOOTMAGIC_LITE_ROW 0
|
||||||
// #define BOOTMAGIC_LITE_COLUMN 0
|
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||||
@@ -13,39 +13,5 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "efreet.h"
|
#include "efreet.h"
|
||||||
|
|
||||||
// Optional override functions below.
|
|
||||||
// You can leave any or all of these undefined.
|
|
||||||
// These are only required if you want to perform custom actions.
|
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
// put your keyboard start-up code here
|
|
||||||
// runs once when the firmware starts up
|
|
||||||
|
|
||||||
matrix_init_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_kb(void) {
|
|
||||||
// put your looping keyboard code here
|
|
||||||
// runs every cycle (a lot)
|
|
||||||
|
|
||||||
matrix_scan_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
// put your per-action keyboard code here
|
|
||||||
// runs for every action, just before processing by the firmware
|
|
||||||
|
|
||||||
return process_record_user(keycode, record);
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_kb(uint8_t usb_led) {
|
|
||||||
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
|
||||||
|
|
||||||
led_set_user(usb_led);
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
+33
-32
@@ -17,7 +17,9 @@
|
|||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
/* This a shortcut to help you visually see your layout.
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
/* This is a shortcut to help you visually see your layout.
|
||||||
*
|
*
|
||||||
* The first section contains all of the arguments representing the physical
|
* The first section contains all of the arguments representing the physical
|
||||||
* layout of the board and position of the keys.
|
* layout of the board and position of the keys.
|
||||||
@@ -25,35 +27,34 @@
|
|||||||
* The second converts the arguments into a two-dimensional array which
|
* The second converts the arguments into a two-dimensional array which
|
||||||
* represents the switch matrix.
|
* represents the switch matrix.
|
||||||
*/
|
*/
|
||||||
|
#define LAYOUT_ortho_4x12( \
|
||||||
|
k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, \
|
||||||
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, \
|
||||||
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, \
|
||||||
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75 \
|
||||||
|
) { \
|
||||||
|
{ k10, k11, k12, k13, k14, k15 }, \
|
||||||
|
{ k00, k01, k02, k03, k04, k05 }, \
|
||||||
|
{ k30, k31, k32, k33, k34, k35 }, \
|
||||||
|
{ k20, k21, k22, k23, k24, k25 }, \
|
||||||
|
{ k50, k51, k52, k53, k54, k55 }, \
|
||||||
|
{ k40, k41, k42, k43, k44, k45 }, \
|
||||||
|
{ k70, k71, k72, k73, k74, k75 }, \
|
||||||
|
{ k60, k61, k62, k63, k64, k65 } \
|
||||||
|
}
|
||||||
|
|
||||||
#define LAYOUT_ortho_4x12( \
|
#define LAYOUT_planck_mit( \
|
||||||
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15,\
|
k00, k10, k01, k11, k02, k12, k03, k13, k04, k14, k05, k15, \
|
||||||
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35,\
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, \
|
||||||
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55,\
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, \
|
||||||
K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75\
|
k60, k70, k61, k71, k62, k72, k73, k64, k74, k65, k75 \
|
||||||
) { \
|
) { \
|
||||||
{ K10, K11, K12, K13, K14, K15 }, \
|
{ k10, k11, k12, k13, k14, k15 }, \
|
||||||
{ K00, K01, K02, K03, K04, K05 }, \
|
{ k00, k01, k02, k03, k04, k05 }, \
|
||||||
{ K30, K31, K32, K33, K34, K35 }, \
|
{ k30, k31, k32, k33, k34, k35 }, \
|
||||||
{ K20, K21, K22, K23, K24, K25 }, \
|
{ k20, k21, k22, k23, k24, k25 }, \
|
||||||
{ K50, K51, K52, K53, K54, K55 }, \
|
{ k50, k51, k52, k53, k54, k55 }, \
|
||||||
{ K40, K41, K42, K43, K44, K45 }, \
|
{ k40, k41, k42, k43, k44, k45 }, \
|
||||||
{ K70, K71, K72, K73, K74, K75 }, \
|
{ k70, k71, k72, k73, k74, k75 }, \
|
||||||
{ K60, K61, K62, K63, K64, K65 } \
|
{ k60, k61, k62, XXX, k64, k65 } \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LAYOUT_planck_mit( \
|
|
||||||
K00, K10, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15,\
|
|
||||||
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35,\
|
|
||||||
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55,\
|
|
||||||
K60, K70, K61, K71, K62, K72, K73, K64, K74, K65, K75\
|
|
||||||
) { \
|
|
||||||
{ K10, K11, K12, K13, K14, K15 }, \
|
|
||||||
{ K00, K01, K02, K03, K04, K05 }, \
|
|
||||||
{ K30, K31, K32, K33, K34, K35 }, \
|
|
||||||
{ K20, K21, K22, K23, K24, K25 }, \
|
|
||||||
{ K50, K51, K52, K53, K54, K55 }, \
|
|
||||||
{ K40, K41, K42, K43, K44, K45 }, \
|
|
||||||
{ K70, K71, K72, K73, K74, K75 }, \
|
|
||||||
{ K60, K61, K62, KC_NO, K64, K65 } \
|
|
||||||
}
|
|
||||||
+106
-3
@@ -6,10 +6,113 @@
|
|||||||
"height": 4,
|
"height": 4,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_planck_mit": {
|
"LAYOUT_planck_mit": {
|
||||||
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3, "w":2}, {"label":"⇑", "x":7, "y":3}, {"label":"←", "x":8, "y":3}, {"label":"↓", "x":9, "y":3}, {"label":"↑", "x":10, "y":3}, {"label":"→", "x":11, "y":3}]
|
"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": 0, "y": 1},
|
||||||
|
{"x": 1, "y": 1},
|
||||||
|
{"x": 2, "y": 1},
|
||||||
|
{"x": 3, "y": 1},
|
||||||
|
{"x": 4, "y": 1},
|
||||||
|
{"x": 5, "y": 1},
|
||||||
|
{"x": 6, "y": 1},
|
||||||
|
{"x": 7, "y": 1},
|
||||||
|
{"x": 8, "y": 1},
|
||||||
|
{"x": 9, "y": 1},
|
||||||
|
{"x": 10, "y": 1},
|
||||||
|
{"x": 11, "y": 1},
|
||||||
|
|
||||||
|
{"x": 0, "y": 2},
|
||||||
|
{"x": 1, "y": 2},
|
||||||
|
{"x": 2, "y": 2},
|
||||||
|
{"x": 3, "y": 2},
|
||||||
|
{"x": 4, "y": 2},
|
||||||
|
{"x": 5, "y": 2},
|
||||||
|
{"x": 6, "y": 2},
|
||||||
|
{"x": 7, "y": 2},
|
||||||
|
{"x": 8, "y": 2},
|
||||||
|
{"x": 9, "y": 2},
|
||||||
|
{"x": 10, "y": 2},
|
||||||
|
{"x": 11, "y": 2},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3},
|
||||||
|
{"x": 1, "y": 3},
|
||||||
|
{"x": 2, "y": 3},
|
||||||
|
{"x": 3, "y": 3},
|
||||||
|
{"x": 4, "y": 3},
|
||||||
|
{"x": 5, "y": 3, "w": 2},
|
||||||
|
{"x": 7, "y": 3},
|
||||||
|
{"x": 8, "y": 3},
|
||||||
|
{"x": 9, "y": 3},
|
||||||
|
{"x": 10, "y": 3},
|
||||||
|
{"x": 11, "y": 3}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"LAYOUT_ortho_4x12": {
|
"LAYOUT_ortho_4x12": {
|
||||||
"layout": [{"label":"Tab", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Back Space", "x":11, "y":0}, {"label":"Esc", "x":0, "y":1}, {"label":"A", "x":1, "y":1}, {"label":"S", "x":2, "y":1}, {"label":"D", "x":3, "y":1}, {"label":"F", "x":4, "y":1}, {"label":"G", "x":5, "y":1}, {"label":"H", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"'", "x":11, "y":1}, {"label":"Shift", "x":0, "y":2}, {"label":"Z", "x":1, "y":2}, {"label":"X", "x":2, "y":2}, {"label":"C", "x":3, "y":2}, {"label":"V", "x":4, "y":2}, {"label":"B", "x":5, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Return", "x":11, "y":2}, {"x":0, "y":3}, {"label":"Ctrl", "x":1, "y":3}, {"label":"Alt", "x":2, "y":3}, {"label":"Super", "x":3, "y":3}, {"label":"⇓", "x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"label":"⇑", "x":7, "y":3}, {"label":"←", "x":8, "y":3}, {"label":"↓", "x":9, "y":3}, {"label":"↑", "x":10, "y":3}, {"label":"→", "x":11, "y":3}]
|
"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": 0, "y": 1},
|
||||||
|
{"x": 1, "y": 1},
|
||||||
|
{"x": 2, "y": 1},
|
||||||
|
{"x": 3, "y": 1},
|
||||||
|
{"x": 4, "y": 1},
|
||||||
|
{"x": 5, "y": 1},
|
||||||
|
{"x": 6, "y": 1},
|
||||||
|
{"x": 7, "y": 1},
|
||||||
|
{"x": 8, "y": 1},
|
||||||
|
{"x": 9, "y": 1},
|
||||||
|
{"x": 10, "y": 1},
|
||||||
|
{"x": 11, "y": 1},
|
||||||
|
|
||||||
|
{"x": 0, "y": 2},
|
||||||
|
{"x": 1, "y": 2},
|
||||||
|
{"x": 2, "y": 2},
|
||||||
|
{"x": 3, "y": 2},
|
||||||
|
{"x": 4, "y": 2},
|
||||||
|
{"x": 5, "y": 2},
|
||||||
|
{"x": 6, "y": 2},
|
||||||
|
{"x": 7, "y": 2},
|
||||||
|
{"x": 8, "y": 2},
|
||||||
|
{"x": 9, "y": 2},
|
||||||
|
{"x": 10, "y": 2},
|
||||||
|
{"x": 11, "y": 2},
|
||||||
|
|
||||||
|
{"x": 0, "y": 3},
|
||||||
|
{"x": 1, "y": 3},
|
||||||
|
{"x": 2, "y": 3},
|
||||||
|
{"x": 3, "y": 3},
|
||||||
|
{"x": 4, "y": 3},
|
||||||
|
{"x": 5, "y": 3},
|
||||||
|
{"x": 6, "y": 3},
|
||||||
|
{"x": 7, "y": 3},
|
||||||
|
{"x": 8, "y": 3},
|
||||||
|
{"x": 9, "y": 3},
|
||||||
|
{"x": 10, "y": 3},
|
||||||
|
{"x": 11, "y": 3}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,43 +13,26 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
// Defines the keycodes used by our macros in process_record_user
|
|
||||||
enum custom_keycodes {
|
|
||||||
QMKBEST = SAFE_RANGE,
|
|
||||||
QMKURL
|
|
||||||
};
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[0] = LAYOUT_ortho_4x12(
|
[0] = LAYOUT_ortho_4x12(
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||||
BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_ortho_4x12(
|
[1] = LAYOUT_ortho_4x12(
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
),
|
),
|
||||||
[2] = LAYOUT_ortho_4x12(
|
[2] = LAYOUT_ortho_4x12(
|
||||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1 +1 @@
|
|||||||
# The default keymap for efreet
|
# The default keymap for efreet
|
||||||
@@ -13,31 +13,32 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[0] = LAYOUT_ortho_4x12(
|
[0] = LAYOUT_ortho_4x12(
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||||
BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_ortho_4x12(
|
[1] = LAYOUT_ortho_4x12(
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
),
|
),
|
||||||
[2] = LAYOUT_ortho_4x12(
|
[2] = LAYOUT_ortho_4x12(
|
||||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
),
|
),
|
||||||
[3] = LAYOUT_ortho_4x12(
|
[3] = LAYOUT_ortho_4x12(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
@@ -1,15 +1,19 @@
|
|||||||
# Efreet
|
# Efreet
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Custom PCB for the Efreet (as4x) keyboard.
|
Custom PCB for the Efreet (as4x) keyboard.
|
||||||
|
|
||||||
Keyboard Maintainer: [Amber Holly](https://github.com/amberstarlight)
|
* Keyboard Maintainer: [Amber Holly](https://github.com/amberstarlight)
|
||||||
Hardware Supported: Efreet PCB
|
* Hardware Supported: Efreet PCB
|
||||||
Hardware Availability: private group buy
|
* Hardware Availability: private group buy
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make efreet:default
|
make efreet:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make efreet:default:flash
|
||||||
|
|
||||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
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).
|
||||||
+10
-17
@@ -2,30 +2,23 @@
|
|||||||
MCU = atmega32u2
|
MCU = atmega32u2
|
||||||
|
|
||||||
# Bootloader selection
|
# 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
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
CONSOLE_ENABLE = no # Console for debug
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
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 = yes # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
MIDI_ENABLE = no # MIDI support
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
UNICODE_ENABLE = no # Unicode
|
AUDIO_ENABLE = no # Audio output
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
|
||||||
AUDIO_ENABLE = no # Audio output on port C6
|
|
||||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
|
||||||
|
|
||||||
LAYOUTS = ortho_4x12 planck_mit
|
LAYOUTS = ortho_4x12 planck_mit
|
||||||
@@ -6,7 +6,57 @@
|
|||||||
"height": 4.5,
|
"height": 4.5,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"layout": [{"x":3, "y":0}, {"x":11, "y":0}, {"x":2, "y":0.25}, {"x":4, "y":0.25}, {"x":10, "y":0.25}, {"x":12, "y":0.25}, {"x":1, "y":0.5}, {"x":5, "y":0.5}, {"x":9, "y":0.5}, {"x":13, "y":0.5}, {"x":0, "y":0.75}, {"x":14, "y":0.75}, {"x":3, "y":1}, {"x":11, "y":1}, {"x":2, "y":1.25}, {"x":4, "y":1.25}, {"x":10, "y":1.25}, {"x":12, "y":1.25}, {"x":1, "y":1.5}, {"x":5, "y":1.5}, {"x":9, "y":1.5}, {"x":13, "y":1.5}, {"x":0, "y":1.75}, {"x":14, "y":1.75}, {"x":3, "y":2}, {"x":11, "y":2}, {"x":2, "y":2.25}, {"x":4, "y":2.25}, {"x":10, "y":2.25}, {"x":12, "y":2.25}, {"x":1, "y":2.5}, {"x":5, "y":2.5}, {"x":9, "y":2.5}, {"x":13, "y":2.5}, {"x":0, "y":2.75}, {"x":14, "y":2.75}, {"x":3, "y":3}, {"x":11, "y":3}, {"x":2, "y":3.25}, {"x":4, "y":3.25}, {"x":10, "y":3.25}, {"x":12, "y":3.25}, {"x":5, "y":3.5}, {"x":6, "y":3.5}, {"x":8, "y":3.5}, {"x":9, "y":3.5}]
|
"layout": [
|
||||||
|
{"x":0, "y":0.75},
|
||||||
|
{"x":1, "y":0.5},
|
||||||
|
{"x":2, "y":0.25},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0.25},
|
||||||
|
{"x":5, "y":0.5},
|
||||||
|
{"x":9, "y":0.5},
|
||||||
|
{"x":10, "y":0.25},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0.25},
|
||||||
|
{"x":13, "y":0.5},
|
||||||
|
{"x":14, "y":0.75},
|
||||||
|
|
||||||
|
{"x":0, "y":1.75},
|
||||||
|
{"x":1, "y":1.5},
|
||||||
|
{"x":2, "y":1.25},
|
||||||
|
{"x":3, "y":1},
|
||||||
|
{"x":4, "y":1.25},
|
||||||
|
{"x":5, "y":1.5},
|
||||||
|
{"x":9, "y":1.5},
|
||||||
|
{"x":10, "y":1.25},
|
||||||
|
{"x":11, "y":1},
|
||||||
|
{"x":12, "y":1.25},
|
||||||
|
{"x":13, "y":1.5},
|
||||||
|
{"x":14, "y":1.75},
|
||||||
|
|
||||||
|
{"x":0, "y":2.75},
|
||||||
|
{"x":1, "y":2.5},
|
||||||
|
{"x":2, "y":2.25},
|
||||||
|
{"x":3, "y":2},
|
||||||
|
{"x":4, "y":2.25},
|
||||||
|
{"x":5, "y":2.5},
|
||||||
|
{"x":9, "y":2.5},
|
||||||
|
{"x":10, "y":2.25},
|
||||||
|
{"x":11, "y":2},
|
||||||
|
{"x":12, "y":2.25},
|
||||||
|
{"x":13, "y":2.5},
|
||||||
|
{"x":14, "y":2.75},
|
||||||
|
|
||||||
|
{"x":2, "y":3.25},
|
||||||
|
{"x":3, "y":3},
|
||||||
|
{"x":4, "y":3.25},
|
||||||
|
{"x":5, "y":3.5},
|
||||||
|
{"x":6, "y":3.5},
|
||||||
|
{"x":8, "y":3.5},
|
||||||
|
{"x":9, "y":3.5},
|
||||||
|
{"x":10, "y":3.25},
|
||||||
|
{"x":11, "y":3},
|
||||||
|
{"x":12, "y":3.25}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -19,8 +19,8 @@
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xFEED
|
#define VENDOR_ID 0x4558 // "EX"
|
||||||
#define PRODUCT_ID 0x6060
|
#define PRODUCT_ID 0xE605 // E6.5
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER Exclusive / E-Team
|
#define MANUFACTURER Exclusive / E-Team
|
||||||
#define PRODUCT E6.5
|
#define PRODUCT E6.5
|
||||||
|
|||||||
+127
-129
@@ -40,13 +40,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_noblocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_ansi_noblocker_splitbs( \
|
#define LAYOUT_65_ansi_noblocker_splitbs( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
||||||
@@ -54,13 +54,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_noblocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_iso_noblocker( \
|
#define LAYOUT_65_iso_noblocker( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
||||||
@@ -68,13 +68,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_noblocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K410, K412, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
// Ansi layout with bottom row 1.25,1.25,1,25,6.25,1.25,1.25 blocker <-,v,->
|
// Ansi layout with bottom row 1.25,1.25,1,25,6.25,1.25,1.25 blocker <-,v,->
|
||||||
#define LAYOUT_65_all_blocker( \
|
#define LAYOUT_65_all_blocker( \
|
||||||
@@ -97,13 +97,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_blocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_ansi_blocker_splitbs( \
|
#define LAYOUT_65_ansi_blocker_splitbs( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
||||||
@@ -111,13 +111,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_blocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_iso_blocker( \
|
#define LAYOUT_65_iso_blocker( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
||||||
@@ -125,14 +125,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_blocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
|
|
||||||
// ANSI layout with bottom row 1.5,1.5,7,1.5,1.5,<-,v,->
|
// ANSI layout with bottom row 1.5,1.5,7,1.5,1.5,<-,v,->
|
||||||
#define LAYOUT_65_all_7u_noblocker( \
|
#define LAYOUT_65_all_7u_noblocker( \
|
||||||
@@ -155,13 +154,14 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K406, K410, K412, K413, K414, K415 \
|
K400, K401, K406, K410, K412, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_noblocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K406, K410, K412, K413, K414, K415 \
|
{ K400, K401, KC_NO, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
|
|
||||||
#define LAYOUT_65_ansi_7u_noblocker_splitbs( \
|
#define LAYOUT_65_ansi_7u_noblocker_splitbs( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
||||||
@@ -169,13 +169,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K406, K410, K412, K413, K414, K415 \
|
K400, K401, K406, K410, K412, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_noblocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K406, K410, K412, K413, K414, K415 \
|
{ K400, K401, KC_NO, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_iso_7u_noblocker( \
|
#define LAYOUT_65_iso_7u_noblocker( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
||||||
@@ -183,14 +183,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K406, K410, K412, K413, K414, K415 \
|
K400, K401, K406, K410, K412, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_noblocker( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K406, K410, K412, K413, K414, K415 \
|
{ K400, K401, KC_NO, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, KC_NO, K412, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
|
|
||||||
// ANSI layout with bottom row 1.5,1,1.5,7,1.5, blocker, <-,v,->
|
// ANSI layout with bottom row 1.5,1,1.5,7,1.5, blocker, <-,v,->
|
||||||
#define LAYOUT_65_all_7u_wk( \
|
#define LAYOUT_65_all_7u_wk( \
|
||||||
@@ -213,13 +212,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K411, K413, K414, K415 \
|
K400, K401, K403, K406, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_wk( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, KC_NO, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_ansi_7u_wk_splitbs( \
|
#define LAYOUT_65_ansi_7u_wk_splitbs( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
||||||
@@ -227,13 +226,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K411, K413, K414, K415 \
|
K400, K401, K403, K406, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_wk( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, KC_NO, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_iso_7u_wk( \
|
#define LAYOUT_65_iso_7u_wk( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
||||||
@@ -241,13 +240,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K403, K406, K411, K413, K414, K415 \
|
K400, K401, K403, K406, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_wk( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K403, K406, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, KC_NO, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
// layout with bottom row 1.5,blocker,1.5,7,1.5, blocker, <-,v,->
|
// layout with bottom row 1.5,blocker,1.5,7,1.5, blocker, <-,v,->
|
||||||
#define LAYOUT_65_all_7u_wkl( \
|
#define LAYOUT_65_all_7u_wkl( \
|
||||||
@@ -270,13 +269,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K402, K406, K411, K413, K414, K415 \
|
K400, K402, K406, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_wkl( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K402, K406, K411, K413, K414, K415 \
|
{ K400, KC_NO, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, KC_NO, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_ansi_7u_wkl_splitbs( \
|
#define LAYOUT_65_ansi_7u_wkl_splitbs( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
||||||
@@ -284,13 +283,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K402, K406, K411, K413, K414, K415 \
|
K400, K402, K406, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_wkl( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K402, K406, K411, K413, K414, K415 \
|
{ K400, KC_NO, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, KC_NO, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_iso_7u_wkl( \
|
#define LAYOUT_65_iso_7u_wkl( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
||||||
@@ -298,14 +297,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K402, K406, K411, K413, K414, K415 \
|
K400, K402, K406, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_wkl( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K402, K406, K411, K413, K414, K415 \
|
{ K400, KC_NO, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, KC_NO, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
|
|
||||||
// layout with bottom row blocker,1,1.5,7,1.5,1, blocker, <-,v,->
|
// layout with bottom row blocker,1,1.5,7,1.5,1, blocker, <-,v,->
|
||||||
#define LAYOUT_65_all_7u_hhkb( \
|
#define LAYOUT_65_all_7u_hhkb( \
|
||||||
@@ -328,13 +326,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K406, K410, K411, K413, K414, K415 \
|
K400, K401, K406, K410, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_hhkb( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K406, K410, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_ansi_7u_hhkb_splitbs( \
|
#define LAYOUT_65_ansi_7u_hhkb_splitbs( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
||||||
@@ -342,13 +340,13 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K406, K410, K411, K413, K414, K415 \
|
K400, K401, K406, K410, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_hhkb( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K406, K410, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
#define LAYOUT_65_iso_7u_hhkb( \
|
#define LAYOUT_65_iso_7u_hhkb( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K015, \
|
||||||
@@ -356,12 +354,12 @@
|
|||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K214, K215, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
||||||
K400, K401, K406, K410, K411, K413, K414, K415 \
|
K400, K401, K406, K410, K411, K413, K414, K415 \
|
||||||
) LAYOUT_65_all_7u_hhkb( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015 }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
|
{ K100, KC_NO, 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, \
|
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215 }, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, K315, \
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314, K315 }, \
|
||||||
K400, K401, K406, K410, K411, K413, K414, K415 \
|
{ K400, K401, KC_NO, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413, K414, K415 } \
|
||||||
)
|
}
|
||||||
|
|
||||||
// clang-format on
|
// clang-format on
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/* Copyright 2020
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TRNS, KC_INS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||||
|
KC_LSFT, KC_TRNS, 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_DEL,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_NO, RESET,
|
||||||
|
BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
|
||||||
|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(1), RGB_SAI, RGB_VAD, RGB_SAD),
|
||||||
|
|
||||||
|
[2] = LAYOUT_all(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[3] = LAYOUT_all(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
@@ -19,12 +19,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
#define VENDOR_ID 0x20A0
|
#define VENDOR_ID 0x5143 // "QC"
|
||||||
#define PRODUCT_ID 0x422D
|
#define PRODUCT_ID 0x4558 // "EX"
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER Quadcube
|
#define MANUFACTURER Quadcube
|
||||||
#define PRODUCT Exent
|
#define PRODUCT Exent
|
||||||
#define DESCRIPTION 65% Keyboard
|
|
||||||
|
|
||||||
#define RGBLED_NUM 18
|
#define RGBLED_NUM 18
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/* layer 0: qwerty */
|
||||||
|
[0] = LAYOUT_65_ansi(
|
||||||
|
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_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_PGUP,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_65_ansi(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
|
||||||
|
BL_TOGG, BL_STEP, BL_INC, BL_DEC, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_65_ansi(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_65_ansi(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -31,4 +31,4 @@ AUDIO_ENABLE = no # Audio output on port C6
|
|||||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
|
|
||||||
LAYOUTS = 65_ansi_blocker 65_iso_blocker
|
LAYOUTS = 65_ansi_blocker 65_ansi_blocker_split_bs 65_iso_blocker 65_iso_blocker_split_bs
|
||||||
+92
-16
@@ -20,15 +20,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xFEED
|
#define VENDOR_ID 0xFEED
|
||||||
#define PRODUCT_ID 0x0000
|
#define PRODUCT_ID 0x1895
|
||||||
#define DEVICE_VER 0x0002
|
#define DEVICE_VER 0x0002
|
||||||
#define MANUFACTURER HnahKB
|
#define MANUFACTURER HnahKB
|
||||||
#define PRODUCT Freyr
|
#define PRODUCT Freyr
|
||||||
#define DESCRIPTION Custom PCB TKL keyboard
|
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 10
|
#define MATRIX_ROWS 10
|
||||||
#define MATRIX_COLS 10
|
#define MATRIX_COLS 10
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -40,26 +39,103 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
#define MATRIX_ROW_PINS { D3, B2, B1, B0, E6, F0, D2, D5, F4, F1 }
|
#define MATRIX_ROW_PINS { D3, B2, B1, B0, E6, F0, D2, D5, F4, F1 }
|
||||||
#define MATRIX_COL_PINS { B4, D7, D6, D4, B5, C7, C6, F5, F6, F7 }
|
#define MATRIX_COL_PINS { B4, D7, D6, D4, B5, C7, C6, F5, F6, F7 }
|
||||||
#define UNUSED_PINS
|
#define UNUSED_PINS
|
||||||
|
|
||||||
/* COL2ROW, ROW2COL*/
|
/* COL2ROW, ROW2COL */
|
||||||
#define DIODE_DIRECTION COL2ROW
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
/*
|
|
||||||
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B6
|
#define BACKLIGHT_PIN B6
|
||||||
#define BACKLIGHT_BREATHING
|
|
||||||
#define BACKLIGHT_LEVELS 3
|
#define BACKLIGHT_LEVELS 3
|
||||||
|
#define BACKLIGHT_BREATHING
|
||||||
|
|
||||||
|
//#define RGB_DI_PIN E2
|
||||||
|
//#ifdef RGB_DI_PIN
|
||||||
|
//# define RGBLED_NUM 16
|
||||||
|
//# define RGBLIGHT_HUE_STEP 8
|
||||||
|
//# define RGBLIGHT_SAT_STEP 8
|
||||||
|
//# define RGBLIGHT_VAL_STEP 8
|
||||||
|
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||||
|
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||||
|
/*== all animations enable ==*/
|
||||||
|
//# define RGBLIGHT_ANIMATIONS
|
||||||
|
/*== or choose animations ==*/
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
|
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
|
//# define RGBLIGHT_EFFECT_SNAKE
|
||||||
|
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||||
|
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||||
|
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
|
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||||
|
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||||
|
/*== customize breathing effect ==*/
|
||||||
|
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||||
|
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||||
|
/*==== use exp() and sin() ====*/
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||||
|
//#endif
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||||
|
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||||
|
*/
|
||||||
|
//#define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force NKRO
|
||||||
|
*
|
||||||
|
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||||
|
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||||
|
* makefile for this to work.)
|
||||||
|
*
|
||||||
|
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||||
|
* until the next keyboard reset.
|
||||||
|
*
|
||||||
|
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||||
|
* fully operational during normal computer usage.
|
||||||
|
*
|
||||||
|
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||||
|
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||||
|
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||||
|
* power-up.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//#define FORCE_NKRO
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
/* disable these deprecated features by default */
|
||||||
|
#define NO_ACTION_MACRO
|
||||||
|
#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
/* Bootmagic Lite key configuration */
|
/* Bootmagic Lite key configuration */
|
||||||
#define BOOTMAGIC_LITE_ROW 0
|
//#define BOOTMAGIC_LITE_ROW 0
|
||||||
#define BOOTMAGIC_LITE_COLUMN 0
|
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||||
+13
-22
@@ -13,33 +13,24 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "freyr.h"
|
#include "freyr.h"
|
||||||
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
void matrix_init_kb(void) {
|
||||||
matrix_init_user();
|
matrix_init_user();
|
||||||
led_init_ports();
|
led_init_ports();
|
||||||
};
|
}
|
||||||
|
|
||||||
void led_init_ports(void) {
|
void led_init_ports(void) {
|
||||||
setPinOutput(B3);
|
setPinOutput(B3);
|
||||||
setPinOutput(B7);
|
setPinOutput(B7);
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_kb(uint8_t usb_led) {
|
bool led_update_kb(led_t led_state) {
|
||||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
if (led_update_user(led_state)) {
|
||||||
// Turn Caps Lock LED on
|
writePin(B3, !led_state.caps_lock);
|
||||||
writePinLow(B3);
|
writePin(B7, !led_state.scroll_lock);
|
||||||
} else {
|
}
|
||||||
// Turn Caps Lock LED off
|
|
||||||
writePinHigh(B3);
|
return true;
|
||||||
}
|
|
||||||
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
|
|
||||||
// Turn Scroll Lock LED on
|
|
||||||
writePinLow(B7);
|
|
||||||
} else {
|
|
||||||
// Turn Scroll Lock LED off
|
|
||||||
writePinHigh(B7);
|
|
||||||
}
|
|
||||||
led_set_user(usb_led);
|
|
||||||
}
|
}
|
||||||
+48
-39
@@ -13,60 +13,69 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
#define LAYOUT_all( \
|
#define LAYOUT_all( \
|
||||||
k00, k01, k02, k03, k04, k06, k07, k08,k09, k60, k61, k62, k63, k64, k65, k66, \
|
k00, k01, k02, k03, k04, k06, k07, k08, k09, k60, k61, k62, k63, k64, k65, k66, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k70, k71, k72, k73, k74, k75, k76, k67, \
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k70, k71, k72, k73, k74, k75, k76, k67, \
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k80, k81, k82, k83, k78, k77, k68, \
|
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k80, k81, k82, k83, k78, k77, k68, \
|
||||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k90, k91, k92, k84, \
|
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k90, k91, k92, k84, \
|
||||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k95, k94, k85, k93, k79, \
|
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k95, k94, k85, k93, k79, \
|
||||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k69 \
|
k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k69 \
|
||||||
) { \
|
) { \
|
||||||
{ k00, k01, k02, k03, k04, KC_NO, k06, k07, k08, k09 }, \
|
{ k00, k01, k02, k03, k04, XXX, k06, k07, k08, k09 }, \
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49}, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 }, \
|
{ k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, k66, k67, k68, k69 }, \
|
{ k60, k61, k62, k63, k64, k65, k66, k67, k68, k69 }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77, k78, k79 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77, k78, k79 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
{ k80, k81, k82, k83, k84, k85, XXX, XXX, XXX, XXX }, \
|
||||||
{ k90, k91, k92, k93, k94, k95, KC_NO, KC_NO, KC_NO, KC_NO } \
|
{ k90, k91, k92, k93, k94, k95, XXX, XXX, XXX, XXX } \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LAYOUT_tkl_ansi( \
|
#define LAYOUT_tkl_ansi( \
|
||||||
k00, k01, k02, k03, k04, k06, k07, k08,k09, k60, k61, k62, k63, k64, k65, k66, \
|
k00, k01, k02, k03, k04, k06, k07, k08, k09, k60, k61, k62, k63, k64, k65, k66, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k70, k71, k72, k73, k75, k76, k67, \
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k70, k71, k72, k73, k75, k76, k67, \
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k80, k81, k82, k83, k78, k77, k68, \
|
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k80, k81, k82, k83, k78, k77, k68, \
|
||||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k90, k91, k84, \
|
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k90, k91, k84, \
|
||||||
k40, k42, k43, k44, k45, k46, k47, k48, k49, k95, k94, k93, k79, \
|
k40, k42, k43, k44, k45, k46, k47, k48, k49, k95, k94, k93, k79, \
|
||||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k69 \
|
k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k69 \
|
||||||
) LAYOUT_all( \
|
) { \
|
||||||
k00, k01, k02, k03, k04, k06, k07, k08,k09, k60, k61, k62, k63, k64, k65, k66, \
|
{ k00, k01, k02, k03, k04, XXX, k06, k07, k08, k09 }, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k70, k71, k72, k73, KC_NO, k75, k76, k67, \
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k80, k81, k82, k83, k78, k77, k68, \
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
|
||||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k90, k91, KC_NO, k84, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \
|
||||||
k40, KC_NO, k42, k43, k44, k45, k46, k47, k48, k49, k95, k94, KC_NO, k93, k79, \
|
{ k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49 }, \
|
||||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k69 \
|
{ k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 }, \
|
||||||
)
|
{ k60, k61, k62, k63, k64, k65, k66, k67, k68, k69 }, \
|
||||||
|
{ k70, k71, k72, k73, XXX, k75, k76, k77, k78, k79 }, \
|
||||||
|
{ k80, k81, k82, k83, k84, XXX, XXX, XXX, XXX, XXX }, \
|
||||||
|
{ k90, k91, XXX, k93, k94, k95, XXX, XXX, XXX, XXX } \
|
||||||
|
}
|
||||||
|
|
||||||
#define LAYOUT_tkl_iso( \
|
#define LAYOUT_tkl_iso( \
|
||||||
k00, k01, k02, k03, k04, k06, k07, k08,k09, k60, k61, k62, k63, k64, k65, k66, \
|
k00, k01, k02, k03, k04, k06, k07, k08, k09, k60, k61, k62, k63, k64, k65, k66, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k70, k71, k72, k73, k75, k76, k67, \
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k70, k71, k72, k73, k75, k76, k67, \
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k80, k81, k82, k78, k77, k68, \
|
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k80, k81, k82, k78, k77, k68, \
|
||||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k90, k91, k92, k84, \
|
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k90, k91, k92, k84, \
|
||||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k95, k94, k93, k79, \
|
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k95, k94, k93, k79, \
|
||||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k69 \
|
k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k69 \
|
||||||
) LAYOUT_all( \
|
) { \
|
||||||
k00, k01, k02, k03, k04, k06, k07, k08,k09, k60, k61, k62, k63, k64, k65, k66, \
|
{ k00, k01, k02, k03, k04, XXX, k06, k07, k08, k09 }, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k70, k71, k72, k73, KC_NO, k75, k76, k67, \
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k80, k81, k82, KC_NO, k78, k77, k68, \
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \
|
||||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k90, k91, k92, k84, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39 }, \
|
||||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k95, k94, KC_NO, k93, k79, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49 }, \
|
||||||
k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k69 \
|
{ k50, k51, k52, k53, k54, k55, k56, k57, k58, k59 }, \
|
||||||
)
|
{ k60, k61, k62, k63, k64, k65, k66, k67, k68, k69 }, \
|
||||||
|
{ k70, k71, k72, k73, XXX, k75, k76, k77, k78, k79 }, \
|
||||||
|
{ k80, k81, k82, XXX, k84, XXX, XXX, XXX, XXX, XXX }, \
|
||||||
|
{ k90, k91, k92, k93, k94, k95, XXX, XXX, XXX, XXX } \
|
||||||
|
}
|
||||||
+305
-269
@@ -6,284 +6,320 @@
|
|||||||
"height": 6.25,
|
"height": 6.25,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_all": {
|
"LAYOUT_all": {
|
||||||
"key_count": 91,
|
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"Esc (k00)", "x":0, "y":0},
|
{"x": 0, "y": 0},
|
||||||
{"label":"F1 (k01)", "x":2, "y":0},
|
|
||||||
{"label":"F2 (k02)", "x":3, "y":0},
|
{"x": 2, "y": 0},
|
||||||
{"label":"F3 (k03)", "x":4, "y":0},
|
{"x": 3, "y": 0},
|
||||||
{"label":"F4 (k04)", "x":5, "y":0},
|
{"x": 4, "y": 0},
|
||||||
{"label":"F5 (k06)", "x":6.5, "y":0},
|
{"x": 5, "y": 0},
|
||||||
{"label":"F6 (k07)", "x":7.5, "y":0},
|
|
||||||
{"label":"F7 (k08)", "x":8.5, "y":0},
|
{"x": 6.5, "y": 0},
|
||||||
{"label":"F8 (k09)", "x":9.5, "y":0},
|
{"x": 7.5, "y": 0},
|
||||||
{"label":"F9 (k60)", "x":11, "y":0},
|
{"x": 8.5, "y": 0},
|
||||||
{"label":"F10 (k61)", "x":12, "y":0},
|
{"x": 9.5, "y": 0},
|
||||||
{"label":"F11 (k62)", "x":13, "y":0},
|
|
||||||
{"label":"F12 (k63)", "x":14, "y":0},
|
{"x": 11, "y": 0},
|
||||||
{"label":"PrtSc (k64)", "x":15.25, "y":0},
|
{"x": 12, "y": 0},
|
||||||
{"label":"Scroll Lock (k65)", "x":16.25, "y":0},
|
{"x": 13, "y": 0},
|
||||||
{"label":"Pause (k66)", "x":17.25, "y":0},
|
{"x": 14, "y": 0},
|
||||||
{"label":"~ (k10)", "x":0, "y":1.25},
|
|
||||||
{"label":"! (k11)", "x":1, "y":1.25},
|
{"x": 15.25, "y": 0},
|
||||||
{"label":"@ (k12)", "x":2, "y":1.25},
|
{"x": 16.25, "y": 0},
|
||||||
{"label":"# (k13)", "x":3, "y":1.25},
|
{"x": 17.25, "y": 0},
|
||||||
{"label":"$ (k14)", "x":4, "y":1.25},
|
|
||||||
{"label":"% (k15)", "x":5, "y":1.25},
|
{"x": 0, "y": 1.25},
|
||||||
{"label":"^ (k16)", "x":6, "y":1.25},
|
{"x": 1, "y": 1.25},
|
||||||
{"label":"& (k17)", "x":7, "y":1.25},
|
{"x": 2, "y": 1.25},
|
||||||
{"label":"* (k18)", "x":8, "y":1.25},
|
{"x": 3, "y": 1.25},
|
||||||
{"label":"( (k19)", "x":9, "y":1.25},
|
{"x": 4, "y": 1.25},
|
||||||
{"label":") (k70)", "x":10, "y":1.25},
|
{"x": 5, "y": 1.25},
|
||||||
{"label":"_ (k71)", "x":11, "y":1.25},
|
{"x": 6, "y": 1.25},
|
||||||
{"label":"+ (k72)", "x":12, "y":1.25},
|
{"x": 7, "y": 1.25},
|
||||||
{"label":"Backspace (k73)", "x":13, "y":1.25},
|
{"x": 8, "y": 1.25},
|
||||||
{"label":"Backspace2 (k74)", "x":14, "y":1.25},
|
{"x": 9, "y": 1.25},
|
||||||
{"label":"Insert (k75)", "x":15.25, "y":1.25},
|
{"x": 10, "y": 1.25},
|
||||||
{"label":"Home (k76)", "x":16.25, "y":1.25},
|
{"x": 11, "y": 1.25},
|
||||||
{"label":"PgUp (k67)", "x":17.25, "y":1.25},
|
{"x": 12, "y": 1.25},
|
||||||
{"label":"Tab (k20)", "x":0, "y":2.25, "w":1.5},
|
{"x": 13, "y": 1.25},
|
||||||
{"label":"Q (k21)", "x":1.5, "y":2.25},
|
{"x": 14, "y": 1.25},
|
||||||
{"label":"W (k22)", "x":2.5, "y":2.25},
|
|
||||||
{"label":"E (k23)", "x":3.5, "y":2.25},
|
{"x": 15.25, "y": 1.25},
|
||||||
{"label":"R (k24)", "x":4.5, "y":2.25},
|
{"x": 16.25, "y": 1.25},
|
||||||
{"label":"T (k25)", "x":5.5, "y":2.25},
|
{"x": 17.25, "y": 1.25},
|
||||||
{"label":"Y (k26)", "x":6.5, "y":2.25},
|
|
||||||
{"label":"U (k27)", "x":7.5, "y":2.25},
|
{"x": 0, "y": 2.25, "w": 1.5},
|
||||||
{"label":"I (k28)", "x":8.5, "y":2.25},
|
{"x": 1.5, "y": 2.25},
|
||||||
{"label":"O (k29)", "x":9.5, "y":2.25},
|
{"x": 2.5, "y": 2.25},
|
||||||
{"label":"P (k80)", "x":10.5, "y":2.25},
|
{"x": 3.5, "y": 2.25},
|
||||||
{"label":"{ (k81)", "x":11.5, "y":2.25},
|
{"x": 4.5, "y": 2.25},
|
||||||
{"label":"} (k82)", "x":12.5, "y":2.25},
|
{"x": 5.5, "y": 2.25},
|
||||||
{"label":"| (k83)", "x":13.5, "y":2.25, "w":1.5},
|
{"x": 6.5, "y": 2.25},
|
||||||
{"label":"Delete (k78)", "x":15.25, "y":2.25},
|
{"x": 7.5, "y": 2.25},
|
||||||
{"label":"End (k77)", "x":16.25, "y":2.25},
|
{"x": 8.5, "y": 2.25},
|
||||||
{"label":"PgDn (k68)", "x":17.25, "y":2.25},
|
{"x": 9.5, "y": 2.25},
|
||||||
{"label":"Caps Lock (k30)", "x":0, "y":3.25, "w":1.75},
|
{"x": 10.5, "y": 2.25},
|
||||||
{"label":"A (k31)", "x":1.75, "y":3.25},
|
{"x": 11.5, "y": 2.25},
|
||||||
{"label":"S (k32)", "x":2.75, "y":3.25},
|
{"x": 12.5, "y": 2.25},
|
||||||
{"label":"D (k33)", "x":3.75, "y":3.25},
|
{"x": 13.5, "y": 2.25, "w": 1.5},
|
||||||
{"label":"F (k34)", "x":4.75, "y":3.25},
|
|
||||||
{"label":"G (k35)", "x":5.75, "y":3.25},
|
{"x": 15.25, "y": 2.25},
|
||||||
{"label":"H (k36)", "x":6.75, "y":3.25},
|
{"x": 16.25, "y": 2.25},
|
||||||
{"label":"J (k37)", "x":7.75, "y":3.25},
|
{"x": 17.25, "y": 2.25},
|
||||||
{"label":"K (k38)", "x":8.75, "y":3.25},
|
|
||||||
{"label":"L (k39)", "x":9.75, "y":3.25},
|
{"x": 0, "y": 3.25, "w": 1.75},
|
||||||
{"label":": (k90)", "x":10.75, "y":3.25},
|
{"x": 1.75, "y": 3.25},
|
||||||
{"label":"\" (k91)", "x":11.75, "y":3.25},
|
{"x": 2.75, "y": 3.25},
|
||||||
{"label":"~ (k92)", "x":12.75, "y":3.25},
|
{"x": 3.75, "y": 3.25},
|
||||||
{"label":"Enter (k84)", "x":13.75, "y":3.25, "w":1.25},
|
{"x": 4.75, "y": 3.25},
|
||||||
{"label":"Shift (k40)", "x":0, "y":4.25, "w":1.25},
|
{"x": 5.75, "y": 3.25},
|
||||||
{"label":"| (k41)", "x":1.25, "y":4.25},
|
{"x": 6.75, "y": 3.25},
|
||||||
{"label":"Z (k42)", "x":2.25, "y":4.25},
|
{"x": 7.75, "y": 3.25},
|
||||||
{"label":"X (k43)", "x":3.25, "y":4.25},
|
{"x": 8.75, "y": 3.25},
|
||||||
{"label":"C (k44)", "x":4.25, "y":4.25},
|
{"x": 9.75, "y": 3.25},
|
||||||
{"label":"V (k45)", "x":5.25, "y":4.25},
|
{"x": 10.75, "y": 3.25},
|
||||||
{"label":"B (k46)", "x":6.25, "y":4.25},
|
{"x": 11.75, "y": 3.25},
|
||||||
{"label":"N (k47)", "x":7.25, "y":4.25},
|
{"x": 12.75, "y": 3.25},
|
||||||
{"label":"M (k48)", "x":8.25, "y":4.25},
|
{"x": 13.75, "y": 3.25, "w": 1.25},
|
||||||
{"label":"< (k49)", "x":9.25, "y":4.25},
|
|
||||||
{"label":"> (k95)", "x":10.25, "y":4.25},
|
{"x": 0, "y": 4.25, "w": 1.25},
|
||||||
{"label":"? (k94)", "x":11.25, "y":4.25},
|
{"x": 1.25, "y": 4.25},
|
||||||
{"label":"JP Ro (k85)", "x":12.25, "y":4.25},
|
{"x": 2.25, "y": 4.25},
|
||||||
{"label":"Shift (k93)", "x":13.25, "y":4.25, "w":1.75},
|
{"x": 3.25, "y": 4.25},
|
||||||
{"label":"Up (k79)", "x":16.25, "y":4.25},
|
{"x": 4.25, "y": 4.25},
|
||||||
{"label":"Ctrl (k50)", "x":0, "y":5.25, "w":1.25},
|
{"x": 5.25, "y": 4.25},
|
||||||
{"label":"Win (k51)", "x":1.25, "y":5.25, "w":1.25},
|
{"x": 6.25, "y": 4.25},
|
||||||
{"label":"Alt (k52)", "x":2.5, "y":5.25, "w":1.25},
|
{"x": 7.25, "y": 4.25},
|
||||||
{"label":"Space (k53)", "x":3.75, "y":5.25, "w":6.25},
|
{"x": 8.25, "y": 4.25},
|
||||||
{"label":"Alt (k54)", "x":10, "y":5.25, "w":1.25},
|
{"x": 9.25, "y": 4.25},
|
||||||
{"label":"Win (k55)", "x":11.25, "y":5.25, "w":1.25},
|
{"x": 10.25, "y": 4.25},
|
||||||
{"label":"Menu (k56)", "x":12.5, "y":5.25, "w":1.25},
|
{"x": 11.25, "y": 4.25},
|
||||||
{"label":"Ctrl (k57)", "x":13.75, "y":5.25, "w":1.25},
|
{"x": 12.25, "y": 4.25},
|
||||||
{"label":"Left (k58)", "x":15.25, "y":5.25},
|
{"x": 13.25, "y": 4.25, "w": 1.75},
|
||||||
{"label":"Down (k59)", "x":16.25, "y":5.25},
|
|
||||||
{"label":"Right (k69)", "x":17.25, "y":5.25}
|
{"x": 16.25, "y": 4.25},
|
||||||
|
|
||||||
|
{"x": 0, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 1.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 2.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 3.75, "y": 5.25, "w": 6.25},
|
||||||
|
{"x": 10, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 11.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 12.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 13.75, "y": 5.25, "w": 1.25},
|
||||||
|
|
||||||
|
{"x": 15.25, "y": 5.25},
|
||||||
|
{"x": 16.25, "y": 5.25},
|
||||||
|
{"x": 17.25, "y": 5.25}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"LAYOUT_tkl_ansi": {
|
"LAYOUT_tkl_ansi": {
|
||||||
"key_count": 87,
|
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"Esc", "x":0, "y":0},
|
{"x": 0, "y": 0},
|
||||||
{"label":"F1", "x":2, "y":0},
|
|
||||||
{"label":"F2", "x":3, "y":0},
|
{"x": 2, "y": 0},
|
||||||
{"label":"F3", "x":4, "y":0},
|
{"x": 3, "y": 0},
|
||||||
{"label":"F4", "x":5, "y":0},
|
{"x": 4, "y": 0},
|
||||||
{"label":"F5", "x":6.5, "y":0},
|
{"x": 5, "y": 0},
|
||||||
{"label":"F6", "x":7.5, "y":0},
|
|
||||||
{"label":"F7", "x":8.5, "y":0},
|
{"x": 6.5, "y": 0},
|
||||||
{"label":"F8", "x":9.5, "y":0},
|
{"x": 7.5, "y": 0},
|
||||||
{"label":"F9", "x":11, "y":0},
|
{"x": 8.5, "y": 0},
|
||||||
{"label":"F10", "x":12, "y":0},
|
{"x": 9.5, "y": 0},
|
||||||
{"label":"F11", "x":13, "y":0},
|
|
||||||
{"label":"F12", "x":14, "y":0},
|
{"x": 11, "y": 0},
|
||||||
{"label":"PrtSc", "x":15.25, "y":0},
|
{"x": 12, "y": 0},
|
||||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
{"x": 13, "y": 0},
|
||||||
{"label":"Pause", "x":17.25, "y":0},
|
{"x": 14, "y": 0},
|
||||||
{"label":"~", "x":0, "y":1.25},
|
|
||||||
{"label":"!", "x":1, "y":1.25},
|
{"x": 15.25, "y": 0},
|
||||||
{"label":"@", "x":2, "y":1.25},
|
{"x": 16.25, "y": 0},
|
||||||
{"label":"#", "x":3, "y":1.25},
|
{"x": 17.25, "y": 0},
|
||||||
{"label":"$", "x":4, "y":1.25},
|
|
||||||
{"label":"%", "x":5, "y":1.25},
|
{"x": 0, "y": 1.25},
|
||||||
{"label":"^", "x":6, "y":1.25},
|
{"x": 1, "y": 1.25},
|
||||||
{"label":"&", "x":7, "y":1.25},
|
{"x": 2, "y": 1.25},
|
||||||
{"label":"*", "x":8, "y":1.25},
|
{"x": 3, "y": 1.25},
|
||||||
{"label":"(", "x":9, "y":1.25},
|
{"x": 4, "y": 1.25},
|
||||||
{"label":")", "x":10, "y":1.25},
|
{"x": 5, "y": 1.25},
|
||||||
{"label":"_", "x":11, "y":1.25},
|
{"x": 6, "y": 1.25},
|
||||||
{"label":"+", "x":12, "y":1.25},
|
{"x": 7, "y": 1.25},
|
||||||
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
{"x": 8, "y": 1.25},
|
||||||
{"label":"Insert", "x":15.25, "y":1.25},
|
{"x": 9, "y": 1.25},
|
||||||
{"label":"Home", "x":16.25, "y":1.25},
|
{"x": 10, "y": 1.25},
|
||||||
{"label":"PgUp", "x":17.25, "y":1.25},
|
{"x": 11, "y": 1.25},
|
||||||
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
{"x": 12, "y": 1.25},
|
||||||
{"label":"Q", "x":1.5, "y":2.25},
|
{"x": 13, "y": 1.25, "w": 2},
|
||||||
{"label":"W", "x":2.5, "y":2.25},
|
|
||||||
{"label":"E", "x":3.5, "y":2.25},
|
{"x": 15.25, "y": 1.25},
|
||||||
{"label":"R", "x":4.5, "y":2.25},
|
{"x": 16.25, "y": 1.25},
|
||||||
{"label":"T", "x":5.5, "y":2.25},
|
{"x": 17.25, "y": 1.25},
|
||||||
{"label":"Y", "x":6.5, "y":2.25},
|
|
||||||
{"label":"U", "x":7.5, "y":2.25},
|
{"x": 0, "y": 2.25, "w": 1.5},
|
||||||
{"label":"I", "x":8.5, "y":2.25},
|
{"x": 1.5, "y": 2.25},
|
||||||
{"label":"O", "x":9.5, "y":2.25},
|
{"x": 2.5, "y": 2.25},
|
||||||
{"label":"P", "x":10.5, "y":2.25},
|
{"x": 3.5, "y": 2.25},
|
||||||
{"label":"{", "x":11.5, "y":2.25},
|
{"x": 4.5, "y": 2.25},
|
||||||
{"label":"}", "x":12.5, "y":2.25},
|
{"x": 5.5, "y": 2.25},
|
||||||
{"label":"|", "x":13.5, "y":2.25, "w":1.5},
|
{"x": 6.5, "y": 2.25},
|
||||||
{"label":"Delete", "x":15.25, "y":2.25},
|
{"x": 7.5, "y": 2.25},
|
||||||
{"label":"End", "x":16.25, "y":2.25},
|
{"x": 8.5, "y": 2.25},
|
||||||
{"label":"PgDn", "x":17.25, "y":2.25},
|
{"x": 9.5, "y": 2.25},
|
||||||
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
{"x": 10.5, "y": 2.25},
|
||||||
{"label":"A", "x":1.75, "y":3.25},
|
{"x": 11.5, "y": 2.25},
|
||||||
{"label":"S", "x":2.75, "y":3.25},
|
{"x": 12.5, "y": 2.25},
|
||||||
{"label":"D", "x":3.75, "y":3.25},
|
{"x": 13.5, "y": 2.25, "w": 1.5},
|
||||||
{"label":"F", "x":4.75, "y":3.25},
|
|
||||||
{"label":"G", "x":5.75, "y":3.25},
|
{"x": 15.25, "y": 2.25},
|
||||||
{"label":"H", "x":6.75, "y":3.25},
|
{"x": 16.25, "y": 2.25},
|
||||||
{"label":"J", "x":7.75, "y":3.25},
|
{"x": 17.25, "y": 2.25},
|
||||||
{"label":"K", "x":8.75, "y":3.25},
|
|
||||||
{"label":"L", "x":9.75, "y":3.25},
|
{"x": 0, "y": 3.25, "w": 1.75},
|
||||||
{"label":":", "x":10.75, "y":3.25},
|
{"x": 1.75, "y": 3.25},
|
||||||
{"label":"\"", "x":11.75, "y":3.25},
|
{"x": 2.75, "y": 3.25},
|
||||||
{"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
{"x": 3.75, "y": 3.25},
|
||||||
{"label":"Shift", "x":0, "y":4.25, "w":2.25},
|
{"x": 4.75, "y": 3.25},
|
||||||
{"label":"Z", "x":2.25, "y":4.25},
|
{"x": 5.75, "y": 3.25},
|
||||||
{"label":"X", "x":3.25, "y":4.25},
|
{"x": 6.75, "y": 3.25},
|
||||||
{"label":"C", "x":4.25, "y":4.25},
|
{"x": 7.75, "y": 3.25},
|
||||||
{"label":"V", "x":5.25, "y":4.25},
|
{"x": 8.75, "y": 3.25},
|
||||||
{"label":"B", "x":6.25, "y":4.25},
|
{"x": 9.75, "y": 3.25},
|
||||||
{"label":"N", "x":7.25, "y":4.25},
|
{"x": 10.75, "y": 3.25},
|
||||||
{"label":"M", "x":8.25, "y":4.25},
|
{"x": 11.75, "y": 3.25},
|
||||||
{"label":"<", "x":9.25, "y":4.25},
|
{"x": 12.75, "y": 3.25, "w": 2.25},
|
||||||
{"label":">", "x":10.25, "y":4.25},
|
|
||||||
{"label":"?", "x":11.25, "y":4.25},
|
{"x": 0, "y": 4.25, "w": 2.25},
|
||||||
{"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
|
{"x": 2.25, "y": 4.25},
|
||||||
{"label":"Up", "x":16.25, "y":4.25},
|
{"x": 3.25, "y": 4.25},
|
||||||
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
{"x": 4.25, "y": 4.25},
|
||||||
{"label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
{"x": 5.25, "y": 4.25},
|
||||||
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
{"x": 6.25, "y": 4.25},
|
||||||
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
{"x": 7.25, "y": 4.25},
|
||||||
{"label":"Alt", "x":10, "y":5.25, "w":1.25},
|
{"x": 8.25, "y": 4.25},
|
||||||
{"label":"Win", "x":11.25, "y":5.25, "w":1.25},
|
{"x": 9.25, "y": 4.25},
|
||||||
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
{"x": 10.25, "y": 4.25},
|
||||||
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
{"x": 11.25, "y": 4.25},
|
||||||
{"label":"Left", "x":15.25, "y":5.25},
|
{"x": 12.25, "y": 4.25, "w": 2.75},
|
||||||
{"label":"Down", "x":16.25, "y":5.25},
|
|
||||||
{"label":"Right", "x":17.25, "y":5.25}
|
{"x": 16.25, "y": 4.25},
|
||||||
|
|
||||||
|
{"x": 0, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 1.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 2.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 3.75, "y": 5.25, "w": 6.25},
|
||||||
|
{"x": 10, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 11.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 12.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 13.75, "y": 5.25, "w": 1.25},
|
||||||
|
|
||||||
|
{"x": 15.25, "y": 5.25},
|
||||||
|
{"x": 16.25, "y": 5.25},
|
||||||
|
{"x": 17.25, "y": 5.25}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"LAYOUT_tkl_iso": {
|
"LAYOUT_tkl_iso": {
|
||||||
"key_count": 88,
|
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"Esc", "x":0, "y":0},
|
{"x": 0, "y": 0},
|
||||||
{"label":"F1", "x":2, "y":0},
|
|
||||||
{"label":"F2", "x":3, "y":0},
|
{"x": 2, "y": 0},
|
||||||
{"label":"F3", "x":4, "y":0},
|
{"x": 3, "y": 0},
|
||||||
{"label":"F4", "x":5, "y":0},
|
{"x": 4, "y": 0},
|
||||||
{"label":"F5", "x":6.5, "y":0},
|
{"x": 5, "y": 0},
|
||||||
{"label":"F6", "x":7.5, "y":0},
|
|
||||||
{"label":"F7", "x":8.5, "y":0},
|
{"x": 6.5, "y": 0},
|
||||||
{"label":"F8", "x":9.5, "y":0},
|
{"x": 7.5, "y": 0},
|
||||||
{"label":"F9", "x":11, "y":0},
|
{"x": 8.5, "y": 0},
|
||||||
{"label":"F10", "x":12, "y":0},
|
{"x": 9.5, "y": 0},
|
||||||
{"label":"F11", "x":13, "y":0},
|
|
||||||
{"label":"F12", "x":14, "y":0},
|
{"x": 11, "y": 0},
|
||||||
{"label":"PrtSc", "x":15.25, "y":0},
|
{"x": 12, "y": 0},
|
||||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
{"x": 13, "y": 0},
|
||||||
{"label":"Pause", "x":17.25, "y":0},
|
{"x": 14, "y": 0},
|
||||||
{"label":"\u00ac", "x":0, "y":1.25},
|
|
||||||
{"label":"!", "x":1, "y":1.25},
|
{"x": 15.25, "y": 0},
|
||||||
{"label":"\"", "x":2, "y":1.25},
|
{"x": 16.25, "y": 0},
|
||||||
{"label":"\u00a3", "x":3, "y":1.25},
|
{"x": 17.25, "y": 0},
|
||||||
{"label":"$", "x":4, "y":1.25},
|
|
||||||
{"label":"%", "x":5, "y":1.25},
|
{"x": 0, "y": 1.25},
|
||||||
{"label":"^", "x":6, "y":1.25},
|
{"x": 1, "y": 1.25},
|
||||||
{"label":"&", "x":7, "y":1.25},
|
{"x": 2, "y": 1.25},
|
||||||
{"label":"*", "x":8, "y":1.25},
|
{"x": 3, "y": 1.25},
|
||||||
{"label":"(", "x":9, "y":1.25},
|
{"x": 4, "y": 1.25},
|
||||||
{"label":")", "x":10, "y":1.25},
|
{"x": 5, "y": 1.25},
|
||||||
{"label":"_", "x":11, "y":1.25},
|
{"x": 6, "y": 1.25},
|
||||||
{"label":"+", "x":12, "y":1.25},
|
{"x": 7, "y": 1.25},
|
||||||
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
{"x": 8, "y": 1.25},
|
||||||
{"label":"Insert", "x":15.25, "y":1.25},
|
{"x": 9, "y": 1.25},
|
||||||
{"label":"Home", "x":16.25, "y":1.25},
|
{"x": 10, "y": 1.25},
|
||||||
{"label":"PgUp", "x":17.25, "y":1.25},
|
{"x": 11, "y": 1.25},
|
||||||
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
{"x": 12, "y": 1.25},
|
||||||
{"label":"Q", "x":1.5, "y":2.25},
|
{"x": 13, "y": 1.25, "w": 2},
|
||||||
{"label":"W", "x":2.5, "y":2.25},
|
|
||||||
{"label":"E", "x":3.5, "y":2.25},
|
{"x": 15.25, "y": 1.25},
|
||||||
{"label":"R", "x":4.5, "y":2.25},
|
{"x": 16.25, "y": 1.25},
|
||||||
{"label":"T", "x":5.5, "y":2.25},
|
{"x": 17.25, "y": 1.25},
|
||||||
{"label":"Y", "x":6.5, "y":2.25},
|
|
||||||
{"label":"U", "x":7.5, "y":2.25},
|
{"x": 0, "y": 2.25, "w": 1.5},
|
||||||
{"label":"I", "x":8.5, "y":2.25},
|
{"x": 1.5, "y": 2.25},
|
||||||
{"label":"O", "x":9.5, "y":2.25},
|
{"x": 2.5, "y": 2.25},
|
||||||
{"label":"P", "x":10.5, "y":2.25},
|
{"x": 3.5, "y": 2.25},
|
||||||
{"label":"{", "x":11.5, "y":2.25},
|
{"x": 4.5, "y": 2.25},
|
||||||
{"label":"}", "x":12.5, "y":2.25},
|
{"x": 5.5, "y": 2.25},
|
||||||
{"label":"Delete", "x":15.25, "y":2.25},
|
{"x": 6.5, "y": 2.25},
|
||||||
{"label":"End", "x":16.25, "y":2.25},
|
{"x": 7.5, "y": 2.25},
|
||||||
{"label":"PgDn", "x":17.25, "y":2.25},
|
{"x": 8.5, "y": 2.25},
|
||||||
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
{"x": 9.5, "y": 2.25},
|
||||||
{"label":"A", "x":1.75, "y":3.25},
|
{"x": 10.5, "y": 2.25},
|
||||||
{"label":"S", "x":2.75, "y":3.25},
|
{"x": 11.5, "y": 2.25},
|
||||||
{"label":"D", "x":3.75, "y":3.25},
|
{"x": 12.5, "y": 2.25},
|
||||||
{"label":"F", "x":4.75, "y":3.25},
|
|
||||||
{"label":"G", "x":5.75, "y":3.25},
|
{"x": 15.25, "y": 2.25},
|
||||||
{"label":"H", "x":6.75, "y":3.25},
|
{"x": 16.25, "y": 2.25},
|
||||||
{"label":"J", "x":7.75, "y":3.25},
|
{"x": 17.25, "y": 2.25},
|
||||||
{"label":"K", "x":8.75, "y":3.25},
|
|
||||||
{"label":"L", "x":9.75, "y":3.25},
|
{"x": 0, "y": 3.25, "w": 1.75},
|
||||||
{"label":":", "x":10.75, "y":3.25},
|
{"x": 1.75, "y": 3.25},
|
||||||
{"label":"@", "x":11.75, "y":3.25},
|
{"x": 2.75, "y": 3.25},
|
||||||
{"label":"~", "x":12.75, "y":3.25},
|
{"x": 3.75, "y": 3.25},
|
||||||
{"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
|
{"x": 4.75, "y": 3.25},
|
||||||
{"label":"Shift", "x":0, "y":4.25, "w":1.25},
|
{"x": 5.75, "y": 3.25},
|
||||||
{"label":"|", "x":1.25, "y":4.25},
|
{"x": 6.75, "y": 3.25},
|
||||||
{"label":"Z", "x":2.25, "y":4.25},
|
{"x": 7.75, "y": 3.25},
|
||||||
{"label":"X", "x":3.25, "y":4.25},
|
{"x": 8.75, "y": 3.25},
|
||||||
{"label":"C", "x":4.25, "y":4.25},
|
{"x": 9.75, "y": 3.25},
|
||||||
{"label":"V", "x":5.25, "y":4.25},
|
{"x": 10.75, "y": 3.25},
|
||||||
{"label":"B", "x":6.25, "y":4.25},
|
{"x": 11.75, "y": 3.25},
|
||||||
{"label":"N", "x":7.25, "y":4.25},
|
{"x": 12.75, "y": 3.25},
|
||||||
{"label":"M", "x":8.25, "y":4.25},
|
{"x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
|
||||||
{"label":"<", "x":9.25, "y":4.25},
|
|
||||||
{"label":">", "x":10.25, "y":4.25},
|
{"x": 0, "y": 4.25, "w": 1.25},
|
||||||
{"label":"?", "x":11.25, "y":4.25},
|
{"x": 1.25, "y": 4.25},
|
||||||
{"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
|
{"x": 2.25, "y": 4.25},
|
||||||
{"label":"Up", "x":16.25, "y":4.25},
|
{"x": 3.25, "y": 4.25},
|
||||||
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
{"x": 4.25, "y": 4.25},
|
||||||
{"label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
{"x": 5.25, "y": 4.25},
|
||||||
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
{"x": 6.25, "y": 4.25},
|
||||||
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
{"x": 7.25, "y": 4.25},
|
||||||
{"label":"AltGr", "x":10, "y":5.25, "w":1.25},
|
{"x": 8.25, "y": 4.25},
|
||||||
{"label":"Win", "x":11.25, "y":5.25, "w":1.25},
|
{"x": 9.25, "y": 4.25},
|
||||||
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
{"x": 10.25, "y": 4.25},
|
||||||
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
{"x": 11.25, "y": 4.25},
|
||||||
{"label":"Left", "x":15.25, "y":5.25},
|
{"x": 12.25, "y": 4.25, "w": 2.75},
|
||||||
{"label":"Down", "x":16.25, "y":5.25},
|
|
||||||
{"label":"Right", "x":17.25, "y":5.25}
|
{"x": 16.25, "y": 4.25},
|
||||||
|
|
||||||
|
{"x": 0, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 1.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 2.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 3.75, "y": 5.25, "w": 6.25},
|
||||||
|
{"x": 10, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 11.25, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 12.5, "y": 5.25, "w": 1.25},
|
||||||
|
{"x": 13.75, "y": 5.25, "w": 1.25},
|
||||||
|
|
||||||
|
{"x": 15.25, "y": 5.25},
|
||||||
|
{"x": 16.25, "y": 5.25},
|
||||||
|
{"x": 17.25, "y": 5.25}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,32 +13,33 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
enum hnah_layers{
|
enum layer_names {
|
||||||
_QWERTY,
|
_QWERTY,
|
||||||
_LOWER
|
_LOWER
|
||||||
};
|
};
|
||||||
|
|
||||||
#define LOWER MO(_LOWER)
|
#define LOWER MO(_LOWER)
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_QWERTY] = LAYOUT_tkl_iso(
|
[_QWERTY] = LAYOUT_tkl_iso(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS , \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,\
|
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,\
|
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,\
|
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,\
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_APP, LOWER, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
|
||||||
),
|
|
||||||
[_LOWER] = LAYOUT_tkl_iso(
|
|
||||||
RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , \
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
|
||||||
KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \
|
|
||||||
)
|
|
||||||
};
|
|
||||||
|
|
||||||
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||||
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, LOWER, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[_LOWER] = LAYOUT_tkl_iso(
|
||||||
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
@@ -1 +1 @@
|
|||||||
# The default keymap for freyr
|
# The default keymap for freyr
|
||||||
@@ -1,15 +1,20 @@
|
|||||||
# freyr
|
# freyr
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
Freyr is a tenkeyless keyboard, support ansi and iso layout.
|
||||||
|
|
||||||
Freyr is a tenkeyless keyboard, support ansi and iso layout.
|
|
||||||
[Full layout here](http://www.keyboard-layout-editor.com/#/gists/438ef0c58c46ec28c80d9894ffcff177)
|
[Full layout here](http://www.keyboard-layout-editor.com/#/gists/438ef0c58c46ec28c80d9894ffcff177)
|
||||||
|
|
||||||
Keyboard Maintainer: [HnahKB](https://github.com/vuhopkep)
|
* Keyboard Maintainer: [HnahKB](https://github.com/vuhopkep)
|
||||||
Hardware Supported: Freyr.revB PCB
|
* Hardware Supported: Freyr.revB PCB
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make freyr:default
|
make freyr:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make freyr:default:flash
|
||||||
|
|
||||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
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).
|
||||||
@@ -2,34 +2,23 @@
|
|||||||
MCU = atmega32u4
|
MCU = atmega32u4
|
||||||
|
|
||||||
# Bootloader selection
|
# 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
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
MOUSEKEY_ENABLE = no # Mouse keys
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
CONSOLE_ENABLE = yes # Console for debug
|
CONSOLE_ENABLE = yes # Console for debug
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
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
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
MIDI_ENABLE = no # MIDI support
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
UNICODE_ENABLE = no # Unicode
|
AUDIO_ENABLE = no # Audio output
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
|
||||||
AUDIO_ENABLE = no # Audio output on port C6
|
|
||||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
|
||||||
|
|
||||||
# Supported layouts
|
|
||||||
LAYOUTS = tkl_ansi tkl_iso
|
LAYOUTS = tkl_ansi tkl_iso
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/* Copyright 2020 GEN ONE LLC
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
|
#define PRODUCT_ID 0x2222
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER GEN ONE LLC
|
||||||
|
#define PRODUCT Eclipse65
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 15
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 { B3, B7, B0, B1, B2 }
|
||||||
|
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright 2020 GEN ONE LLC
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "eclipse_65.h"
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/* Copyright 2020 GEN ONE LLC
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define ____ KC_NO
|
||||||
|
|
||||||
|
|
||||||
|
#define LAYOUT_65_ansi( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K213, K214, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
|
||||||
|
K400, K401, K402, K406, K409, K410, K411, K412, K413, K414 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, ____, K213, K214 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
|
||||||
|
{ K400, K401, K402, ____, ____, ____, K406, ____, ____, K409, K410, K411, K412, K413, K414 } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "eclipse_65",
|
||||||
|
"url": "https://genonemerch.com",
|
||||||
|
"maintainer": "rojasa1990",
|
||||||
|
"width": 16,
|
||||||
|
"height": 5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_65_ansi": {
|
||||||
|
"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, "w":2}, {"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, "w":2.25}, {"x":15, "y":2}, {"x":0, "y":3, "w":2.25}, {"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}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/* Copyright 2020 GEN ONE LLC
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
// Default layer
|
||||||
|
[0] = LAYOUT_65_ansi(
|
||||||
|
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_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_PGUP,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
// Fn1 Layer
|
||||||
|
[1] = LAYOUT_65_ansi(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
|
||||||
|
KC_CAPS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
};
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# GEN ONE Eclipse_65
|
||||||
|
|
||||||
|
Eclipse_65 is a keyboard PCB supporting 65% layout. [More info at GEN ONE MERCH](https://genonemerch.com)
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [rojasa1990](https://github.com/rojasa1990)
|
||||||
|
* Hardware Supported: GEN ONE Eclipse_65
|
||||||
|
* Hardware Availability: GEN ONE MERCH
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make genone/eclipse_65:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make genone/eclipse_65:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# 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 = 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
|
||||||
|
# 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 = yes # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keybaord RGB underglow
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
|
||||||
|
LAYOUTS = 65_ansi
|
||||||
@@ -1,2 +1 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
@@ -1,2 +1,3 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
|
CONSOLE_ENABLE = no
|
||||||
@@ -1,2 +1,4 @@
|
|||||||
VIA_ENABLE = yes
|
VIA_ENABLE = yes
|
||||||
MOUSEKEY_ENABLE = no
|
LTO_ENABLE = yes
|
||||||
|
|
||||||
|
CONSOLE_ENABLE = no
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,52 @@
|
|||||||
|
/*
|
||||||
|
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 0xB141
|
||||||
|
#define PRODUCT_ID 0x0602 //F is 6th in alphabet, 02 as in DUO
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER ParyzFilip
|
||||||
|
#define PRODUCT Freoduo
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
/* rows are doubled-up */
|
||||||
|
#define MATRIX_ROWS 10
|
||||||
|
#define MATRIX_COLS 6
|
||||||
|
|
||||||
|
/* wiring of each half */
|
||||||
|
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
|
||||||
|
#define MATRIX_COL_PINS { B2, B6, F6, B3, B1, F7 }
|
||||||
|
#define EE_HANDS
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 3
|
||||||
|
|
||||||
|
/* serial.c configuration for split keyboard */
|
||||||
|
#define SOFT_SERIAL_PIN D0
|
||||||
|
|
||||||
|
/* ws2812 RGB LED */
|
||||||
|
#define RGB_DI_PIN D4
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLIGHT_SLEEP
|
||||||
|
#define RGBLIGHT_HUE_STEP 16
|
||||||
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#include "freoduo.h"
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
|
||||||
|
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
|
||||||
|
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
|
||||||
|
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
|
||||||
|
L40, L41, L42, L43, L44, R41, R42, R43, R44, R45 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ L00, L01, L02, L03, L04, L05 }, \
|
||||||
|
{ L10, L11, L12, L13, L14, L15 }, \
|
||||||
|
{ L20, L21, L22, L23, L24, L25 }, \
|
||||||
|
{ L30, L31, L32, L33, L34, L35 }, \
|
||||||
|
{ L40, L41, L42, L43, L44, KC_NO}, \
|
||||||
|
{ R00, R01, R02, R03, R04, R05 }, \
|
||||||
|
{ R10, R11, R12, R13, R14, R15 }, \
|
||||||
|
{ R20, R21, R22, R23, R24, R25 }, \
|
||||||
|
{ R30, R31, R32, R33, R34, R35 }, \
|
||||||
|
{ KC_NO, R41, R42, R43, R44, R45 } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Freoduo",
|
||||||
|
"manufacturer": "Filip Paryz",
|
||||||
|
"url": "https://github.com/FilipParyz",
|
||||||
|
"maintainer": "https://github.com/FilipParyz",
|
||||||
|
"width": 12,
|
||||||
|
"height": 5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"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": 7, "y": 0},
|
||||||
|
{"x": 8, "y": 0},
|
||||||
|
{"x": 9, "y": 0},
|
||||||
|
{"x": 10, "y": 0},
|
||||||
|
{"x": 11, "y": 0},
|
||||||
|
{"x": 12, "y": 0},
|
||||||
|
{"x": 0, "y": 1},
|
||||||
|
{"x": 1, "y": 1},
|
||||||
|
{"x": 2, "y": 1},
|
||||||
|
{"x": 3, "y": 1},
|
||||||
|
{"x": 4, "y": 1},
|
||||||
|
{"x": 5, "y": 1},
|
||||||
|
{"x": 7, "y": 1},
|
||||||
|
{"x": 8, "y": 1},
|
||||||
|
{"x": 9, "y": 1},
|
||||||
|
{"x": 10, "y": 1},
|
||||||
|
{"x": 11, "y": 1},
|
||||||
|
{"x": 12, "y": 1},
|
||||||
|
{"x": 0, "y": 2},
|
||||||
|
{"x": 1, "y": 2},
|
||||||
|
{"x": 2, "y": 2},
|
||||||
|
{"x": 3, "y": 2},
|
||||||
|
{"x": 4, "y": 2},
|
||||||
|
{"x": 5, "y": 2},
|
||||||
|
{"x": 7, "y": 2},
|
||||||
|
{"x": 8, "y": 2},
|
||||||
|
{"x": 9, "y": 2},
|
||||||
|
{"x": 10, "y": 2},
|
||||||
|
{"x": 11, "y": 2},
|
||||||
|
{"x": 12, "y": 2},
|
||||||
|
{"x": 0, "y": 3},
|
||||||
|
{"x": 1, "y": 3},
|
||||||
|
{"x": 2, "y": 3},
|
||||||
|
{"x": 3, "y": 3},
|
||||||
|
{"x": 4, "y": 3},
|
||||||
|
{"x": 5, "y": 3},
|
||||||
|
{"x": 7, "y": 3},
|
||||||
|
{"x": 8, "y": 3},
|
||||||
|
{"x": 9, "y": 3},
|
||||||
|
{"x": 10, "y": 3},
|
||||||
|
{"x": 11, "y": 3},
|
||||||
|
{"x": 12, "y": 3},
|
||||||
|
{"x": 0, "y": 4},
|
||||||
|
{"x": 1, "y": 4},
|
||||||
|
{"x": 2, "y": 4},
|
||||||
|
{"x": 3, "y": 4},
|
||||||
|
{"x": 4, "y": 4, "w": 2},
|
||||||
|
{"x": 7, "y": 4, "w": 2},
|
||||||
|
{"x": 9, "y": 4},
|
||||||
|
{"x": 10, "y": 4},
|
||||||
|
{"x": 11, "y": 4},
|
||||||
|
{"x": 12, "y": 4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loaded 100 of 454 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user