Merge remote-tracking branch 'origin/master' into develop

master
QMK Bot 2022-08-29 04:49:22 +00:00
commit 7ef6c179e4
25 changed files with 1243 additions and 1 deletions

View File

@ -0,0 +1,35 @@
/*
Copyright 2021 Dr.Doof
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"
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
/* key matrix pins */
#define MATRIX_ROW_PINS { B4, D2, D4, D6, D7 }
#define MATRIX_COL_PINS { D3, D5, C6, C7, B6, B5, B7, F0, F1, F4, F5, F6, F7, B3, B2, D1 }
#define UNUSED_PINS { E2, E6, D0, B1, B0 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 0

View File

@ -0,0 +1,376 @@
{
"keyboard_name":"Nearfield",
"manufacturer":"JLC",
"url":"",
"maintainer":"tominabox1",
"usb":{
"vid":"0x0004",
"pid":"0x0002",
"device_version":"0.0.1"
},
"layouts":{
"LAYOUT_all":{
"layout":[
{
"label":"~",
"x":0,
"y":0
},
{
"label":"!",
"x":1,
"y":0
},
{
"label":"@",
"x":2,
"y":0
},
{
"label":"#",
"x":3,
"y":0
},
{
"label":"$",
"x":4,
"y":0
},
{
"label":"%",
"x":5,
"y":0
},
{
"label":"^",
"x":7.5,
"y":0
},
{
"label":"&",
"x":8.5,
"y":0
},
{
"label":"*",
"x":9.5,
"y":0
},
{
"label":"(",
"x":10.5,
"y":0
},
{
"label":")",
"x":11.5,
"y":0
},
{
"label":"_",
"x":12.5,
"y":0
},
{
"label":"+",
"x":13.5,
"y":0
},
{
"label":"Insert",
"x":15.5,
"y":0
},
{
"label":"Home",
"x":16.5,
"y":0
},
{
"label":"PgUp",
"x":17.5,
"y":0
},
{
"label":"Tab",
"x":0,
"y":1.5
},
{
"label":"Q",
"x":1,
"y":1.5
},
{
"label":"W",
"x":2,
"y":1.5
},
{
"label":"E",
"x":3,
"y":1.5
},
{
"label":"R",
"x":4,
"y":1.5
},
{
"label":"T",
"x":5,
"y":1.5
},
{
"label":"Y",
"x":7.5,
"y":1.5
},
{
"label":"U",
"x":8.5,
"y":1.5
},
{
"label":"I",
"x":9.5,
"y":1.5
},
{
"label":"O",
"x":10.5,
"y":1.5
},
{
"label":"P",
"x":11.5,
"y":1.5
},
{
"label":"{",
"x":12.5,
"y":1.5
},
{
"label":"}",
"x":13.5,
"y":1.5
},
{
"label":"Insert",
"x":15.5,
"y":1.5
},
{
"label":"Home",
"x":16.5,
"y":1.5
},
{
"label":"PgUp",
"x":17.5,
"y":1.5
},
{
"label":"Caps Lock",
"x":0,
"y":2.5,
"w":1.25
},
{
"label":"A",
"x":1.25,
"y":2.5
},
{
"label":"S",
"x":2.25,
"y":2.5
},
{
"label":"D",
"x":3.25,
"y":2.5
},
{
"label":"F",
"x":4.25,
"y":2.5
},
{
"label":"G",
"x":5.25,
"y":2.5
},
{
"label":"H",
"x":7.75,
"y":2.5
},
{
"label":"J",
"x":8.75,
"y":2.5
},
{
"label":"K",
"x":9.75,
"y":2.5
},
{
"label":"L",
"x":10.75,
"y":2.5
},
{
"label":"\"",
"x":11.75,
"y":2.5
},
{
"label":"Enter",
"x":12.75,
"y":2.5,
"w":1.75
},
{
"label":"Delete",
"x":15.5,
"y":2.5
},
{
"label":"End",
"x":16.5,
"y":2.5
},
{
"label":"PgDn",
"x":17.5,
"y":2.5
},
{
"label":"Shift",
"x":0,
"y":3.5,
"w":1.75
},
{
"label":"Z",
"x":1.75,
"y":3.5
},
{
"label":"X",
"x":2.75,
"y":3.5
},
{
"label":"C",
"x":3.75,
"y":3.5
},
{
"label":"V",
"x":4.75,
"y":3.5
},
{
"label":"B",
"x":5.75,
"y":3.5
},
{
"label":"N",
"x":8.25,
"y":3.5
},
{
"label":"M",
"x":9.25,
"y":3.5
},
{
"label":"<",
"x":10.25,
"y":3.5
},
{
"label":">",
"x":11.25,
"y":3.5
},
{
"label":"?",
"x":12.25,
"y":3.5
},
{
"label":"r4 dogshift",
"x":13.25,
"y":3.5,
"w":1.25
},
{
"label":"Ctrl",
"x":0,
"y":4.5,
"w":1.25
},
{
"label":"Alt",
"x":2.5,
"y":4.5,
"w":1.25
},
{
"x":3.75,
"y":4.5
},
{
"label":"",
"x":4.75,
"y":4.5,
"w":2
},
{
"label":"",
"x":8.25,
"y":4.5,
"w":2.25
},
{
"label":"Alt",
"x":10.5,
"y":4.5,
"w":1.25
},
{
"label":"Ctrl",
"x":13,
"y":4.5,
"w":1.5
},
{
"label":"\u2191",
"x":16.5,
"y":4.5
},
{
"label":"\u2190",
"x":15.5,
"y":5.5
},
{
"label":"\u2193",
"x":16.5,
"y":5.5
},
{
"label":"\u2192",
"x":17.5,
"y":5.5
}
]
}
}
}

View File

@ -0,0 +1,30 @@
/*
Copyright 2021 Dr.Doof
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_INS, KC_HOME, KC_PGUP,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, KC_DEL, KC_END, 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_LCTL, KC_LALT, KC_SPC, KC_NO, KC_SPC, KC_LALT, KC_LCTL, KC_UP, KC_LEFT, KC_DOWN, KC_RIGHT
)
};

View File

@ -0,0 +1,18 @@
/*
Copyright 2021 Dr.Doof
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 "nearfield.h"

View File

@ -0,0 +1,35 @@
/*
Copyright 2021 Dr.Doof
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 XXX KC_NO
#define LAYOUT_all( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
K41, K42, K44, K45, K47, K49, K4B, K4D, K4E, K4F, K4G \
) { \
{ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
{ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
{ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F, K2G }, \
{ K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, XXX, XXX, XXX, XXX }, \
{ K41, K42, XXX, K44, K45, XXX, K47, XXX, K49, XXX, K4B, XXX, K4D, K4E, K4F, K4G } \
}

View File

@ -0,0 +1,31 @@
# Nearfield
![Nearfield](https://i.imgur.com/hNj44FYh.jpg)
The LZ ErGO is a classic ergonomic design, predating the alice layout, and drawing inspiration from the "Microsoft natural ergonomic" series.
Nearfield expands on this by increasing the rotation of the two halves of the alpha cluster, each half is rotated 15 degrees towards the center of the board.
This increased angle forces the user to widen their elbow stance, and align their hands straighter with their forearms while typing.
Aesthetic design: Aside from the obvious layout homage to the ergo, retaining the nav cluster,
the case design draws inspiration from the M0110 keyboard series from Apple.
bog standard mx and alps support pcb, uses unified c3 daughterboard. 100mm JST cable recommended.
* Keyboard Maintainer: [TJ Campie](https://github.com/tominabox1)
* Hardware Supported: Nearfield
* Hardware Availability: [Cannonkeys](https://cannonkeys.com/collections/nearfield/products/nearfield-extra-pcb-and-daughterboard)
Make example for this keyboard (after setting up your build environment):
make nearfield:default
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,18 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View File

@ -0,0 +1,20 @@
/*
Copyright 2022 stef9998
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"

View File

@ -0,0 +1,97 @@
{
"keyboard_name": "Split_5x7",
"url": "",
"maintainer": "stef9998",
"manufacturer": "Stef9998",
"usb": {
"vid": "0x57EF",
"pid": "0x6063",
"device_version": "1.0.0"
},
"layouts": {
"LAYOUT": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1", "x":1, "y":0},
{"label":"2", "x":2, "y":0},
{"label":"3", "x":3, "y":0},
{"label":"4", "x":4, "y":0},
{"label":"5", "x":5, "y":0},
{"label":"F1", "x":6, "y":0},
{"label":"Tab", "x":0, "y":1},
{"label":"Q", "x":1, "y":1},
{"label":"W", "x":2, "y":1},
{"label":"E", "x":3, "y":1},
{"label":"R", "x":4, "y":1},
{"label":"T", "x":5, "y":1},
{"label":"[", "x":6, "y":1},
{"label":"Caps Lock", "x":0, "y":2},
{"label":"A", "x":1, "y":2},
{"label":"S", "x":2, "y":2},
{"label":"D", "x":3, "y":2},
{"label":"F", "x":4, "y":2},
{"label":"G", "x":5, "y":2},
{"label":"=", "x":6, "y":2},
{"label":"Shift", "x":0, "y":3},
{"label":"Z", "x":1, "y":3},
{"label":"X", "x":2, "y":3},
{"label":"C", "x":3, "y":3},
{"label":"V", "x":4, "y":3},
{"label":"B", "x":5, "y":3},
{"label":"F3", "x":6, "y":3},
{"label":"Ctrl", "x":0, "y":4},
{"label":"Ctrl", "x":1, "y":4},
{"label":"Gui", "x":2, "y":4, "w":1.25},
{"label":"Alt", "x":3.25, "y":4, "w":1.25},
{"label":"Space", "x":4.5, "y":4, "w":1.5},
{"label":"F5", "x":6, "y":4},
{"label":"F2", "x":14, "y":0},
{"label":"6", "x":9, "y":0},
{"label":"7", "x":10, "y":0},
{"label":"8", "x":11, "y":0},
{"label":"9", "x":12, "y":0},
{"label":"0", "x":13, "y":0},
{"label":"Backspace", "x":14, "y":0},
{"label":"]", "x":8, "y":1},
{"label":"Y", "x":9, "y":1},
{"label":"U", "x":10, "y":1},
{"label":"I", "x":11, "y":1},
{"label":"O", "x":12, "y":1},
{"label":"P", "x":13, "y":1},
{"label":"\\", "x":14, "y":1},
{"label":"-", "x":8, "y":2},
{"label":"H", "x":9, "y":2},
{"label":"J", "x":10, "y":2},
{"label":"K", "x":11, "y":2},
{"label":"L", "x":12, "y":2},
{"label":";", "x":13, "y":2},
{"label":"Enter", "x":14, "y":2},
{"label":"F4", "x":8, "y":3},
{"label":"N", "x":9, "y":3},
{"label":"M", "x":10, "y":3},
{"label":",", "x":11, "y":3},
{"label":".", "x":12, "y":3},
{"label":"/", "x":13, "y":3},
{"label":"Shift", "x":14, "y":3},
{"label":"F5", "x":8, "y":4},
{"label":"Space", "x":9, "y":4, "w":1.5},
{"label":"AltGr", "x":10.5, "y":4, "w":1.25},
{"label":"Fn", "x":11.75, "y":4, "w":1.25},
{"label":"Ctrl", "x":13, "y":4},
{"label":"Ctrl", "x":13, "y":4}
]
}
}
}

View File

@ -0,0 +1,28 @@
/*
Copyright 2022 stef9998
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
/* Use I2C or Serial, not both */
// #define USE_SERIAL
#define USE_I2C
/* Select hand configuration */
// #define MASTER_LEFT
// #define MASTER_RIGHT
#define EE_HANDS

View File

@ -0,0 +1,96 @@
/*
Copyright 2022 stef9998
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// You can also skip layer-names entirely and just use numbers.
enum custom_layer {
_QWERTY,
_FN,
_SYM, //symbols & numbers
_CFG, //config
};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
FN,
SYM,
CONFIG,
};
// Shortcut to make keymap more readable
#define KC_FN MO(_FN)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
QK_GESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_NO , KC_NO ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC , KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CAPS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_EQL , KC_MINS ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,SH_OS , KC_NO ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
KC_LCTL ,KC_LCPO ,KC_LGUI ,KC_LALT ,KC_SPC ,MO(_SYM), MO(_SYM),KC_SPC ,KC_RALT ,MO(_FN) ,KC_RCPC ,KC_RCTL
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
[_FN] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_DEL ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PGUP ,KC_HOME ,KC_UP ,KC_END ,KC_PSCR ,XXXXXXX ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PGDN ,KC_LEFT ,KC_DOWN ,KC_RIGHT,_______ ,KC_QUOT ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ , _______ ,KC_MSEL ,KC_MPLY ,KC_MPRV ,KC_MNXT ,KC_MPLY ,_______ ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
[_SYM] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
KC_GRV ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F11 , KC_F12 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_DEL ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC ,_______ , _______ ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,XXXXXXX ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,_______ , _______ ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_MSEL ,KC_MPLY ,XXXXXXX , KC_MPRV, KC_MNXT,_______ , _______ ,KC_MSEL ,KC_MPLY , KC_MPRV, KC_MNXT,KC_MPLY ,_______ ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
QK_BOOT ,_______ ,_______ ,_______ ,_______ ,TG(_CFG), TG(_CFG),_______ ,_______ ,_______ ,_______ ,QK_BOOT
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
[_CFG] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
TG(_CFG),_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
};

View File

@ -0,0 +1,7 @@
![Split_5x7 Layout Image](https://i.imgur.com/XnDWlJOh.png)
# Default Layout
This is the default layout.
For the most part it's a straightforward and easy to follow layout.
The only thing to note is the apostrophe key which is on the second layer under return.

View File

@ -0,0 +1,34 @@
/*
Copyright 2022 stef9998
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
/* Use I2C or Serial, not both */
//#define USE_SERIAL
#define USE_I2C
/* Select hand configuration */
// #define MASTER_LEFT
// #define MASTER_RIGHT
#define EE_HANDS
#define LCPO_KEYS KC_LCTL,KC_TRNS,KC_LBRC
#define RCPC_KEYS KC_RCTL,KC_TRNS,KC_RBRC
#define TAPPING_TERM_PER_KEY
#define IGNORE_MOD_TAP_INTERRUPT
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY

View File

@ -0,0 +1,188 @@
/*
Copyright 2022 stef9998
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
enum custom_layer {
_QWERTY,
_HOMEMOD,
_FN,
_SYM, //symbols & numbers
_SPARE,
_CFG, //config
};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
HOMEMOD,
FN,
SYM,
SPARE,
CONFIG,
};
// Shortcut to make keymap more readable
#define KC_FN MO(_FN)
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_LSPO:
// Do not force the mod-tap key press to be handled as a modifier
// if any other key was pressed while the mod-tap key is held down.
return false;
// case MT(MOD_LSFT,KC_9):
// return false;
case KC_RSPC:
return false;
default:
// Force the mod-tap key press to be handled as a modifier if any
// other key was pressed while the mod-tap key is held down.
return true;
}
}
//layer_state_t layer_state_set_user(layer_state_t state) {
// return update_tri_layer_state(state, _ESS, _SYM, _SYM_ESS);
//}
//Modified from default, cause I want CapsLock to still be there even when I swap hands
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{ {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
{ {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
{ {0, 2}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}}, // caps won't be switched, because of extend
{ {0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}},
{ {0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}},
{ {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}},
{ {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}},
{ {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}},
{ {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}},
{ {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}},
};
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case SH_T(KC_SPC):
return TAPPING_TERM + 300;
default:
return TAPPING_TERM;
}
}
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
QK_GESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_NO , KC_NO ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC , KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_CAPS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_EQL , KC_MINS ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,SH_OS , KC_NO ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
KC_LCTL ,KC_LCPO ,KC_LGUI ,KC_LALT ,SH_T(KC_SPC) ,MO(_SYM), MO(_SYM),KC_SPC ,KC_RALT ,MO(_FN) ,KC_RCPC ,KC_RCTL
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
[_HOMEMOD] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,RALT_T(KC_S),LCTL_T(KC_D),LSFT_T(KC_F),LT(_SYM,KC_G),_______ , _______ ,LT(_SYM,KC_H),RSFT_T(KC_J),RCTL_T(KC_K),LALT_T(KC_L),_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSFT ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_RSFT ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
[_FN] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_DEL ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PGUP ,KC_HOME ,KC_UP ,KC_END ,KC_PSCR ,XXXXXXX ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PGDN ,KC_LEFT ,KC_DOWN ,KC_RIGHT,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ , _______ ,KC_MSEL ,KC_MPLY ,KC_MPRV ,KC_MNXT ,KC_MPLY ,_______ ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
[_SYM] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
KC_GRV ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F11 , KC_F12 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_DEL ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC ,_______ , _______ ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,XXXXXXX ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
CAPSWRD ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,_______ , _______ ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_QUOT ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,KC_MSEL ,KC_MPLY ,XXXXXXX ,KC_EQL ,KC_PLUS ,_______ , _______ ,KC_UNDS ,KC_MINS , KC_MPRV, KC_MNXT,KC_MPLY ,_______ ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
QK_BOOT ,_______ ,_______ ,_______ ,_______ ,TG(_CFG), TG(_CFG),_______ ,_______ ,_______ ,_______ ,QK_BOOT
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
[_CFG] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
TG(_CFG),_______ ,TG(_HOMEMOD),_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_1 , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
[_SPARE] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,XXXXXXX , XXXXXXX ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,QK_BOOT ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
)
};
/*
[_] = LAYOUT(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______
// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘
),
*/

View File

@ -0,0 +1,4 @@
![Split_5x7 Layout Image](https://i.imgur.com/m9LkQsWh.png)
# The keymap I currently use
Pretty much a default qwerty on a 60%-ish with some function-layers

View File

@ -0,0 +1,2 @@
CAPS_WORD_ENABLE = yes
SWAP_HANDS_ENABLE = yes

View File

@ -0,0 +1,26 @@
# Split_5x7
![Split_5x7](https://i.imgur.com/fVw8al1h.jpg)
A handwired Split keyboard with the unusual layout of 5x7 on either side.
3d print files will be made available soon.
* Keyboard Maintainer: [Stefan](https://github.com/stef9998)
* Hardware Supported: Pro Micro
Make example for this keyboard (after setting up your build environment):
make handwired/stef9998/split_5x7/rev1:default
Flashing example for left side:
make handwired/stef9998/split_5x7/rev1:default:avrdude-split-left
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
How to enter the bootloader:
* **Keycode in layout**: Press the key mapped to `QK_BOOT`.\
In the default keymap it's accessible by pressing either of the buttons bringing you to layer `_SYM` and then pressing one of the outer Ctrl's.

View File

@ -0,0 +1,58 @@
/*
Copyright 2022 stef9998
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"
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
// wiring of each half
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { B2, B6, B1, B3, F7, F5, F6 }
#define MATRIX_ROW_PINS_RIGHT { B5, B4, E6, D7, C6 }
#define MATRIX_COL_PINS_RIGHT { F5, F6, F7, B1, B3, B2, B6 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
/*
* 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

View File

@ -0,0 +1,17 @@
/*
Copyright 2022 stef9998
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 "split_5x7.h"

View File

@ -0,0 +1,40 @@
/*
Copyright 2022 stef9998
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 "split_5x7.h"
#define LAYOUT( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, \
k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, \
k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, \
k42, k43, k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, k55, \
k56, k57, k58, k59, k61, k62, k63, k64, k66, k67, k68, k69 \
) \
{ \
{ k00, k01, k02, k03, k04 , k05, k06 }, \
{ k14, k15, k16, k17, k18 , k19, k20 }, \
{ k28, k29, k30, k31, k32 , k33, k34 }, \
{ k42, k43, k44, k45, k46 , k47, k48 }, \
{ k56, k57, k58, k59, KC_NO, k61, k62 }, \
{ k13, k12, k11, k10, k09 , k08, k07 }, \
{ k27, k26, k25, k24, k23 , k22, k21 }, \
{ k41, k40, k39, k38, k37 , k36, k35 }, \
{ k55, k54, k53, k52, k51 , k50, k49 }, \
{ k69, k68, k67, k66, KC_NO, k64, k63 } \
}

View File

@ -0,0 +1,4 @@
# Disable unsupported hardware
AUDIO_SUPPORTED = no
BACKLIGHT_SUPPORTED = no
RGBLIGHT_SUPPORTED = no

View File

@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes
DEFAULT_FOLDER = handwired/stef9998/split_5x7/rev1

View File

@ -0,0 +1,33 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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 "split_5x7.h"
#ifdef SWAP_HANDS_ENABLE
__attribute__ ((weak))
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}},
{{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}},
{{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}},
{{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}},
{{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}},
{{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}},
{{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}},
{{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}},
{{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}},
{{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}},
};
#endif

View File

@ -0,0 +1,23 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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
#if defined(KEYBOARD_handwired_stef9998_split_5x7_rev1)
# include "rev1.h"
#endif
#include "quantum.h"

View File

@ -2,7 +2,7 @@
![Le Chiffre](https://i.imgur.com/X1WsUmdl.png)
Le Chiffre (ironically, "the number" in French is a 30% keyboard designed by tominabox1. The purpose of the board is to provide a platform for MX and Choc ergo in one package for when ones wrists need a break. The board supports an RGB LED strip with DI on port F0. The board is also fitted with support for run-of-the-mill .91" OLED and EC11 rotary encoder.
Le Chiffre (ironically, "the number" in French) is a 30% keyboard designed by tominabox1. The purpose of the board is to provide a platform for MX and Choc ergo in one package for when ones wrists need a break. The board supports an RGB LED strip with DI on port F0. The board is also fitted with support for run-of-the-mill .91" OLED and EC11 rotary encoder.
There are 3 PCB revisions: Rev 1 (Original), Rev 2 (P3D version sold with the Le Chiffre Plus), and HE (Hotswap Edition from Checkerboards.xyz).