~ruther/qmk_firmware

5c3f3e8332b991b7ae6dc84c600899d1e9135f99 — QMK Bot 3 years ago 50baf28 + 5c58385
Merge remote-tracking branch 'origin/master' into develop
A keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c => keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c +5 -0
@@ 0,0 1,5 @@
// Copyright 2012 Jun Wako <wakojun@gmail.com>
// Copyright 2021 Dmitriy Kuminov (@dmik)
// SPDX-License-Identifier: GPL-2.0-or-later

#include "6x6_4.h"

A keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h => keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h +37 -0
@@ 0,0 1,37 @@
// Copyright 2012 Jun Wako <wakojun@gmail.com>
// Copyright 2021 Dmitriy Kuminov (@dmik)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "dactyl_manuform.h"

#define XXX KC_NO

#define LAYOUT_6x6_4( \
    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, L45,                          R40, R41, R42, R43, R44, R45, \
    L50, L51, L52, L53,                                              R52, R53, R54, R55, \
                        L54, L55,                          R50, R51, \
                                  L64, L65,      R60, R61, \
                                  L62, L63,      R62, R63 \
) { \
    { 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, L45 }, \
    { L50, L51, L52, L53, L54, L55 }, \
    { XXX, XXX, L62, L63, L64, L65 }, \
\
    { R00, R01, R02, R03, R04, R05 }, \
    { R10, R11, R12, R13, R14, R15 }, \
    { R20, R21, R22, R23, R24, R25 }, \
    { R30, R31, R32, R33, R34, R35 }, \
    { R40, R41, R42, R43, R44, R45 }, \
    { R50, R51, R52, R53, R54, R55 }, \
    { R60, R61, R62, R63, XXX, XXX } \
}

A keyboards/handwired/dactyl_manuform/6x6_4/config.h => keyboards/handwired/dactyl_manuform/6x6_4/config.h +40 -0
@@ 0,0 1,40 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert

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"

#define PRODUCT_ID 0x3636
#define DEVICE_VER 0x0001
#define PRODUCT    Dactyl-Manuform (6x6+4)

/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 14
#define MATRIX_COLS 6

// wiring of each half
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN D3
#define RGBLED_NUM 12

A keyboards/handwired/dactyl_manuform/6x6_4/info.json => keyboards/handwired/dactyl_manuform/6x6_4/info.json +108 -0
@@ 0,0 1,108 @@
{
    "keyboard_name": "Dactyl Manuform 6x6 4 extra keys",
    "url": "",
    "maintainer": "dmik",
    "layouts": {
        "LAYOUT_6x6_4": {
            "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": 11, "y": 0},
                {"x": 12, "y": 0},
                {"x": 13, "y": 0},
                {"x": 14, "y": 0},
                {"x": 15, "y": 0},
                {"x": 16, "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": 11, "y": 1},
                {"x": 12, "y": 1},
                {"x": 13, "y": 1},
                {"x": 14, "y": 1},
                {"x": 15, "y": 1},
                {"x": 16, "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": 11, "y": 2},
                {"x": 12, "y": 2},
                {"x": 13, "y": 2},
                {"x": 14, "y": 2},
                {"x": 15, "y": 2},
                {"x": 16, "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": 11, "y": 3},
                {"x": 12, "y": 3},
                {"x": 13, "y": 3},
                {"x": 14, "y": 3},
                {"x": 15, "y": 3},
                {"x": 16, "y": 3},

                {"x": 0, "y": 4},
                {"x": 1, "y": 4},
                {"x": 2, "y": 4},
                {"x": 3, "y": 4},
                {"x": 4, "y": 4},
                {"x": 5, "y": 4},

                {"x": 11, "y": 4},
                {"x": 12, "y": 4},
                {"x": 13, "y": 4},
                {"x": 14, "y": 4},
                {"x": 15, "y": 4},
                {"x": 16, "y": 4},

                {"x": 0, "y": 5},
                {"x": 1, "y": 5},
                {"x": 2, "y": 5},
                {"x": 3, "y": 5},

                {"x": 13, "y": 5},
                {"x": 14, "y": 5},
                {"x": 15, "y": 5},
                {"x": 16, "y": 5},

                {"x": 4, "y": 6},
                {"x": 5, "y": 6},

                {"x": 11, "y": 6},
                {"x": 12, "y": 6},

                {"x": 6, "y": 7},
                {"x": 7, "y": 7},

                {"x": 9, "y": 7},
                {"x": 10, "y": 7},

                {"x": 6, "y": 8},
                {"x": 7, "y": 8},

                {"x": 9, "y": 8},
                {"x": 10, "y": 8}
            ]
        }
    }
}

A keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c => keyboards/handwired/dactyl_manuform/6x6_4/keymaps/default/keymap.c +52 -0
@@ 0,0 1,52 @@
// Copyright 2012 Jun Wako <wakojun@gmail.com>
// Copyright 2021 Dmitriy Kuminov (@dmik)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

enum custom_layers {
    _QWERTY,
    _LOWER,
    _RAISE,
};

#define RAISE MO(_RAISE)
#define LOWER MO(_LOWER)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_QWERTY] = LAYOUT_6x6_4(
        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_ESC , KC_1  , KC_2  , KC_3  , KC_4  , KC_5  ,                         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_Y  , KC_U  , KC_I  , KC_O  , KC_P  ,KC_MINS,
        KC_LSFT, KC_A  , KC_S  , KC_D  , KC_F  , KC_G  ,                         KC_H  , KC_J  , KC_K  , KC_L  ,KC_SCLN,KC_QUOT,
        KC_LCTL, KC_Z  , KC_X  , KC_C  , KC_V  , KC_B  ,                         KC_N  , KC_M  ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH,
        _______,_______, KC_LBRC,KC_RBRC,                                                       KC_PLUS, KC_EQL,_______,_______,
                                         RAISE,KC_SPC,                        KC_ENT, LOWER,
                                         KC_TAB,KC_HOME,                         KC_END,  KC_DEL,
                                         KC_BSPC, KC_GRV,                        KC_LGUI, KC_LALT
    ),

    [_LOWER] = LAYOUT_6x6_4(
        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_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC,                        KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
        _______,_______,_______,_______,_______,KC_LBRC,                        KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
        _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN,                        KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
        _______,_______,_______,_______,_______,_______,                        _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
                                _______,_______,_______,KC_PSCR,            _______, KC_P0,_______,_______,
                                                _______,_______,            _______,_______,
                                                _______,_______,            _______,_______,
                                                _______,_______,            _______,_______
    ),

    [_RAISE] = LAYOUT_6x6_4(
        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_LBRC,                        KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE,
        _______,KC_LEFT,KC_UP  ,KC_DOWN,KC_RGHT,KC_LPRN,                        KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
        _______,_______,_______,_______,_______,_______,                        _______,_______,_______,_______,_______,KC_VOLD,
        _______,_______,_______,_______,_______,_______,                        _______,_______,_______,_______,_______,_______,
                                _______,_______,_______,_______,            KC_EQL ,_______,_______,_______,
                                                _______,_______,            _______,_______,
                                               _______,_______,            _______,_______,
                                               _______,_______,            _______,_______
    )
};

A keyboards/handwired/dactyl_manuform/6x6_4/rules.mk => keyboards/handwired/dactyl_manuform/6x6_4/rules.mk +19 -0
@@ 0,0 1,19 @@
# 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

A keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c => keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.c +5 -0
@@ 0,0 1,5 @@
// Copyright 2012 Jun Wako <wakojun@gmail.com>
// Copyright 2021 Dmitriy Kuminov (@dmik)
// SPDX-License-Identifier: GPL-2.0-or-later

#include "6x6_kinesis.h"

A keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h => keyboards/handwired/dactyl_manuform/6x6_kinesis/6x6_kinesis.h +37 -0
@@ 0,0 1,37 @@
// Copyright 2012 Jun Wako <wakojun@gmail.com>
// Copyright 2021 Dmitriy Kuminov (@dmik)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "dactyl_manuform.h"

#define XXX KC_NO

#define LAYOUT_6x6_kinesis( \
    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, L45,                          R40, R41, R42, R43, R44, R45, \
    L50, L51, L52, L53,                                              R52, R53, R54, R55, \
                        L54, L55,                          R50, R51, \
                                  L64, L65,      R60, R61, \
                                  L62, L63,      R62, R63 \
) { \
    { 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, L45 }, \
    { L50, L51, L52, L53, L54, L55 }, \
    { XXX, XXX, L62, L63, L64, L65 }, \
\
    { R00, R01, R02, R03, R04, R05 }, \
    { R10, R11, R12, R13, R14, R15 }, \
    { R20, R21, R22, R23, R24, R25 }, \
    { R30, R31, R32, R33, R34, R35 }, \
    { R40, R41, R42, R43, R44, R45 }, \
    { R50, R51, R52, R53, R54, R55 }, \
    { R60, R61, R62, R63, XXX, XXX } \
}

A keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h => keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h +40 -0
@@ 0,0 1,40 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert

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"

#define PRODUCT_ID 0x3636
#define DEVICE_VER 0x0001
#define PRODUCT    Dactyl-Manuform (6x6+4)

/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 14
#define MATRIX_COLS 6

// wiring of each half
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F5, F6, F7, B1, B3, B2, B6 }

#define DIODE_DIRECTION COL2ROW

// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN D3
#define RGBLED_NUM 12

A keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json => keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json +108 -0
@@ 0,0 1,108 @@
{
    "keyboard_name": "Dactyl Manuform 6x6 Kinesis Advantage edition",
    "url": "",
    "maintainer": "dmik",
    "layouts": {
        "LAYOUT_6x6_kinesis": {
            "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": 11, "y": 0},
                {"x": 12, "y": 0},
                {"x": 13, "y": 0},
                {"x": 14, "y": 0},
                {"x": 15, "y": 0},
                {"x": 16, "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": 11, "y": 1},
                {"x": 12, "y": 1},
                {"x": 13, "y": 1},
                {"x": 14, "y": 1},
                {"x": 15, "y": 1},
                {"x": 16, "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": 11, "y": 2},
                {"x": 12, "y": 2},
                {"x": 13, "y": 2},
                {"x": 14, "y": 2},
                {"x": 15, "y": 2},
                {"x": 16, "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": 11, "y": 3},
                {"x": 12, "y": 3},
                {"x": 13, "y": 3},
                {"x": 14, "y": 3},
                {"x": 15, "y": 3},
                {"x": 16, "y": 3},

                {"x": 0, "y": 4},
                {"x": 1, "y": 4},
                {"x": 2, "y": 4},
                {"x": 3, "y": 4},
                {"x": 4, "y": 4},
                {"x": 5, "y": 4},

                {"x": 11, "y": 4},
                {"x": 12, "y": 4},
                {"x": 13, "y": 4},
                {"x": 14, "y": 4},
                {"x": 15, "y": 4},
                {"x": 16, "y": 4},

                {"x": 1, "y": 5},
                {"x": 2, "y": 5},
                {"x": 3, "y": 5},
                {"x": 4, "y": 5},

                {"x": 12, "y": 5},
                {"x": 13, "y": 5},
                {"x": 14, "y": 5},
                {"x": 15, "y": 5},

                {"x": 5, "y": 7, "h": 2},
                {"x": 6, "y": 7, "h": 2},

                {"x": 10, "y": 7, "h": 2},
                {"x": 11, "y": 7, "h": 2},

                {"x": 6, "y": 6},
                {"x": 7, "y": 6},

                {"x": 9, "y": 6},
                {"x": 10, "y": 6},

                {"x": 7, "y": 8},
                {"x": 7, "y": 7},

                {"x": 9, "y": 7},
                {"x": 9, "y": 8}
            ]
        }
    }
}

A keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c => keyboards/handwired/dactyl_manuform/6x6_kinesis/keymaps/default/keymap.c +52 -0
@@ 0,0 1,52 @@
// Copyright 2012 Jun Wako <wakojun@gmail.com>
// Copyright 2021 Dmitriy Kuminov (@dmik)
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

enum custom_layers {
    _QWERTY,
    _LOWER,
    _RAISE,
};

#define RAISE MO(_RAISE)
#define LOWER MO(_LOWER)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [_QWERTY] = LAYOUT_6x6_kinesis(
        KC_ESC , KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_F5  ,                         KC_F6  , KC_F7  , KC_F8  , KC_F9  , KC_F10 , KC_CAPS,
        KC_EQL , KC_1   , KC_2   , KC_3   , KC_4   , KC_5   ,                         KC_6   , KC_7   , KC_8   , KC_9   , KC_0   , KC_MINS,
        KC_TAB , KC_Q   , KC_W   , KC_E   , KC_R   , KC_T   ,                         KC_Y   , KC_U   , KC_I   , KC_O   , KC_P   , KC_BSLS,
        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_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   ,                         KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
                 KC_GRV , LOWER  , KC_LEFT, KC_RGHT,                                           KC_UP  , KC_DOWN, KC_LBRC, KC_RBRC,
                                            KC_BSPC, KC_DEL ,                         KC_ENT , KC_SPC ,
                                            KC_LGUI, KC_LALT,                         KC_RCTL, KC_RGUI,
                                            KC_END , KC_HOME,                         KC_PGUP, KC_PGDN
    ),

    [_LOWER] = LAYOUT_6x6_kinesis(
        _______, KC_F11 , KC_F12 , _______, _______, _______,                         KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______,
        _______, _______, _______, _______, _______, _______,                         _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______,                         _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______,                         _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______,                         _______, _______, _______, _______, _______, _______,
                 _______, _______, _______, _______,                                           _______, _______, _______, _______,
                                            _______, KC_INS ,                         _______, _______,
                                            _______, _______,                         _______, _______,
                                            _______, _______,                         _______, _______
    ),

    [_RAISE] = LAYOUT_6x6_kinesis(
        _______, KC_F11 , KC_F12 , _______, _______, _______,                         KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______,
        _______, _______, _______, _______, _______, _______,                         _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______,                         _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______,                         _______, _______, _______, _______, _______, _______,
        _______, _______, _______, _______, _______, _______,                         _______, _______, _______, _______, _______, _______,
                 _______, _______, _______, _______,                                           _______, _______, _______, _______,
                                            _______, KC_INS ,                         _______, _______,
                                            _______, _______,                         _______, _______,
                                            _______, _______,                         _______, _______
    ),
};

A keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md => keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md +85 -0
@@ 0,0 1,85 @@
# Kinesis Advantage Keymap

## About this keymap

This keymap is designed after Kinesis Advantage's QWERTY layout with the following key differences:
 - There are only 10 F-keys in the main layer, F1 and F2 are moved to additional LOWER layer.
 - The INS key acts like a LOWER layer activation key and Del in LOWER layer ats like INS.
 - LCtl is placed where CAPS should be and CAPS is moved to a free key after F10.
 - Brigtness and volume control keys are added to LOWER layer.

 The keymap file also contains RAISE layer but it is currently equivalent to LOWER layer and does
 not have an activation key mapped. It is intended for possible extensions.

## Mapping details

        Main QUERTY layer:
        ,-------------------------------------------.                           ,-------------------------------------------.
        | ESC    |  F1  |  F2  |  F3  |  F4  |  F5  |                           |  F6  |  F7  |  F8  |  F9  |  F10 | CAPS   |
        |--------+------+------+------+------+------|                           |------+------+------+------+------+--------|
        | =      |   1  |   2  |   3  |   4  |   5  |                           |   6  |   7  |   8  |   9  |   0  |   -    |
        |--------+------+------+------+------+------|                           |------+------+------+------+------+--------|
        | Tab    |   Q  |   W  |   E  |   R  |   T  |                           |   Y  |   U  |   I  |   O  |   P  |   \    |
        |--------+------+------+------+------+------|                           |------+------+------+------+------+--------|
        | LCtl   |   A  |   S  |   D  |   F  |   G  |                           |   H  |   J  |   K  |   L  |   ;  |   '    |
        |--------+------+------+------+------+------|                           |------+------+------+------+------+--------|
        | LShift |   Z  |   X  |   C  |   V  |   B  |                           |   N  |   M  |   ,  |   .  |   /  | RShift |
        `--------+------+------+------+------+------'                           `------+------+------+------+------+--------'
                 |   `  | LOWER| Left | Rght |                                         |  Up  |  Dn  |   [  |   ]  |
                 `---------------------------'                                         `---------------------------'
                                                ,-------------.      ,-------------.
                                                | LGui | LAlt |      | RCtl | RGui |
                                         ,------|------|------|      |------+------+------.
                                         |      |      | Home |      | PgUp |      |      |
                                         | BkSp | Del  |------|      |------|Enter |Space |
                                         |      |      | End  |      | PgDn |      |      |
                                         `--------------------'      `--------------------'

        LOWER layer:
        ,-------------------------------------------.                           ,-------------------------------------------.
        |        |  F11 |  F12 |      |      |      |                           |BriDn |BriUp |VMute |VolDn |VolUp |        |
        |--------+------+------+------+------+------|                           |------+------+------+------+------+--------|
        |        |      |      |      |      |      |                           |      |      |      |      |      |        |
        |--------+------+------+------+------+------|                           |------+------+------+------+------+--------|
        |        |      |      |      |      |      |                           |      |      |      |      |      |        |
        |--------+------+------+------+------+------|                           |------+------+------+------+------+--------|
        |        |      |      |      |      |      |                           |      |      |      |      |      |        |
        |--------+------+------+------+------+------|                           |------+------+------+------+------+--------|
        |        |      |      |      |      |      |                           |      |      |      |      |      |        |
        `--------+------+------+------+------+------'                           `------+------+------+------+------+--------'
                 |      |      |      |      |                                         |      |      |      |      |
                 `---------------------------'                                         `---------------------------'
                                                ,-------------.      ,-------------.
                                                |      |      |      |      |      |
                                         ,------|------|------|      |------+------+------.
                                         |      |      |      |      |      |      |      |
                                         |      | INS  |------|      |------|      |      |
                                         |      |      |      |      |      |      |      |
                                         `--------------------'      `--------------------'

## Soldering details

The below picture shows correspondence between the keys and the row/column wires of the left and
right halves:

        LOWER layer:
        ,-------------------------------------------.                           ,-------------------------------------------.
        |  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  | L45  |                           | R40  | R41  | R42  | R43  | R44  |  R45   |
        `--------+------+------+------+------+------'                           `------+------+------+------+------+--------'
                 | L50  | L51  | L52  | L53  |                                         | R52  | R53  | R54  | R55  |
                 `---------------------------'                                         `---------------------------'
                                                ,-------------.      ,-------------.
                                                | L64  | L65  |      | R60  | R61  |
                                         ,------|------|------|      |------+------+------.
                                         |      |      | L63  |      | R62  |      |      |
                                         | L54  | L55  |------|      |------| R50  | R51  |
                                         |      |      | L62  |      | R63  |      |      |
                                         `--------------------'      `--------------------'

A keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk => keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk +19 -0
@@ 0,0 1,19 @@
# 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

M keyboards/handwired/dactyl_manuform/dactyl_manuform.h => keyboards/handwired/dactyl_manuform/dactyl_manuform.h +4 -0
@@ 16,6 16,10 @@
#    include "5x7.h"
#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6)
#    include "6x6.h"
#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6_4)
#    include "6x6_4.h"
#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6_kinesis)
#    include "6x6_kinesis.h"
#elif defined(KEYBOARD_handwired_dactyl_manuform_6x7)
#    include "6x7.h"
#elif defined(KEYBOARD_handwired_dactyl_manuform_dmote_62key)

A keyboards/splitkb/kyria/keymaps/lw/config.h => keyboards/splitkb/kyria/keymaps/lw/config.h +26 -0
@@ 0,0 1,26 @@
/* Copyright 2022 Lucas Waelti (@LucasWaelti)
 *
 * 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

// Lets you roll mod-tap keys
#define IGNORE_MOD_TAP_INTERRUPT

// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
// #define SPLIT_USB_DETECT
// #define NO_USB_STARTUP_CHECK

#define UNICODE_SELECTED_MODES UC_LNX, UC_WINC // support for Linux and Windows unicode 
\ No newline at end of file

A keyboards/splitkb/kyria/keymaps/lw/keymap.c => keyboards/splitkb/kyria/keymaps/lw/keymap.c +251 -0
@@ 0,0 1,251 @@
/* Copyright 2022 Lucas Waelti (@LucasWaelti)
 *
 * 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 <keymap_us_international.h>
// US_ACUT KC_QUOT // ´ (dead)
// US_DGRV KC_GRV  // ` (dead)
// US_DCIR S(US_6)    // ^ (dead)
// US_DIAE S(US_ACUT) // ¨ (dead)

enum layers {
    _QWERTZ = 0,    // base text layer
    _SYM,           // symbol layer 
    _NAV,           // navigation layer + accents 
};

enum unicode_names {
    APOST,
    QUOTE,
    CIRCUM,
    GRAVE,
    ACUTE,
    UMLAUT,
    CEDIL_MAJ,
    CEDIL,
    SECTION,
    DEGREE,
};

const uint32_t PROGMEM unicode_map[] = {
    [APOST]         = 0x0027, // '
    [QUOTE]         = 0x0022, // "
    [ACUTE]         = 0x00B4, // ´
    [GRAVE]         = 0x0060, // `
    [CIRCUM]        = 0x005E, // ^ 
    [UMLAUT]        = 0x00A8, // ¨
    [CEDIL_MAJ]     = 0x00C7, // Ç
    [CEDIL]         = 0x00E7, // ç
    [SECTION]       = 0x00A7, // §
    [DEGREE]        = 0x00B0, // °
};
// usage: X(ACUTE), XP(CEDIL,CEDIL_MAJ)


// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    
/*
 * 0. Base Layer: QWERTZ
 *
 * ,-------------------------------------------.                              ,-------------------------------------------.
 * |  Esc   |   Q  |   W  |   E  |   R  |   T  |                              |   Z  |   U  |   I  |   O  |   P  |  Del   |
 * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
 * |  Tab   |   A  |   S  |   D  |   F  |   G  |                              |   H  |   J  |   K  |   L  | ' "  | BkSpace|
 * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
 * | LShift |   Y  |   X  |   C  |   V  |   B  | \ |  |  ` ~ |  |  (   |   )  |   N  |   M  | ,  < | . >  | ;  : | CpLock |
 * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
 *                        |LCtrl | LGUI | LAlt | Space| MO(1)|  | MO(2)| Enter| - _  |  !   | / ?  |
 *                        |      |      |      |      |      |  |      |/shift|      |      |      |
 *                        `----------------------------------'  `----------------------------------'
 */
    [_QWERTZ] = LAYOUT(
  KC_ESC,    KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                                        KC_Z,    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, XP(APOST,QUOTE), KC_BSPC, //  XP(APOST,QUOTE) or KC_QUOT
 KC_LSFT,    KC_Y,    KC_X,    KC_C,    KC_V,    KC_B, KC_BSLS, KC_GRV,  KC_LPRN,    KC_RPRN, KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SCLN, KC_CAPS,
                            KC_LCTL, KC_LGUI, KC_LALT,  KC_SPC,   MO(1),   MO(2),  KC_SFTENT, KC_MINS, KC_EXLM, KC_SLSH
    ),

// /*
//  * 1. Sym Layer: Numbers and symbols (DEPRECATED)
//  *
//  * ,-------------------------------------------.                              ,-------------------------------------------.
//  * |   F1   | F2   | F3   | F4   | F5   | F6   |                              |  F7  | F8   | F9   | F10  | F11  |  F12   |
//  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
//  * |    .   |  1   |  2   |  3   |  4   |  5   |                              |   6  |  7   |  8   |  9   |  0   |   =    |
//  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
//  * |  LAlt  |   ?  |  !   |  @   |  #   |  <   |  [   |  {   |  |  }   |  ]   |   >  |  ^   |  /   |  *   |  -   |   +    |
//  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
//  *                        |  $   |  %   |  &   |      | MO(1)|  | MO(2)| RAlt |   ~  |   _  |  |   |
//  *                        |      |      |      |      |      |  |      |      |      |      |      |
//  *                        `----------------------------------'  `----------------------------------'
//  */
//     [_SYM] = LAYOUT(
//    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_DOT,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                                        KC_6,    KC_7,    KC_8,    KC_9,    KC_0, KC_PEQL,
//  KC_LALT, KC_QUES, KC_EXLM,   KC_AT, KC_HASH,   KC_LT, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC,   KC_GT, KC_CIRC, KC_PSLS, KC_ASTR, KC_PMNS, KC_PLUS,
//                              KC_DLR, KC_PERC, KC_AMPR, _______,   MO(1),   MO(2), KC_RALT, KC_TILD, KC_UNDS, KC_PIPE
//     ),

/*
 * 1. Sym Layer: Numbers and symbols
 *
 * ,-------------------------------------------.                              ,-------------------------------------------.
 * |   F1   |  F2  |  F3  |  F4  | LAlt | PASTE|                              |   ,  |  7   |  8   |  9   |  *   |  /     |
 * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
 * |   F5   |  F6  |  F7  |  F8  |  @   | COPY |                              |   .  |  6   |  7   |  8   |  =   |        |
 * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
 * |   F9   |  F10 |  F11 |  F12 |  &   |  CUT | UNDO | FIND |  |   [  |  ]   |   0  |  1   |  2   |  3   |  +   |   -    |
 * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
 *                        |  $   |  #   |  %   |      | MO(1)|  | MO(2)|      |  \ | |  {   |   }  |
 *                        |      |      |      |      |      |  |      |      |      |      |      |
 *                        `----------------------------------'  `----------------------------------'
 */
    [_SYM] = LAYOUT(
  KC_F1,   KC_F2,   KC_F3,   KC_F4, KC_LALT,LCTL(KC_V),                                         KC_COMM,     KC_7,    KC_8,    KC_9,  KC_ASTR, KC_PSLS,
  KC_F5,   KC_F6,   KC_F7,   KC_F8, KC_AT,  LCTL(KC_C),                                          KC_DOT,     KC_4,    KC_5,    KC_6,  KC_PEQL, _______,
  KC_F9,  KC_F10,  KC_F11,  KC_F12, KC_AMPR,LCTL(KC_X),LCTL(KC_Z), LCTL(KC_F), KC_LBRC, KC_RBRC,   KC_0,     KC_1,    KC_2,    KC_3,  KC_PLUS, KC_PMNS,
                            KC_DLR, KC_HASH,   KC_PERC, _______,   MO(1),        MO(2), _______, KC_BSLS, KC_LCBR, KC_RCBR
    ),

/*
 * 2. Nav Layer: Media, navigation, accents
 *
 * ,-------------------------------------------.                              ,-------------------------------------------.
 * |        | Brt+ | Next | Fwd  | Play | Vol+ |                              | Home | PgUp |  Up  | PgDn |      | Del    |
 * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
 * |        | Brt- | Prev | Bckw | Stop | Vol- |                              |  End | Left | Down | Right|ScrLck| BkSpace|
 * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
 * | LShift |  ´   |  `   |  ^   |  ¨   | Mute |      |UC_MOD|  |RShift| Menu | PrtSc| ç/Ç  | § °  |      | SAVE | Insert |
 * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
 *                        |LCtrl | LGUI | LAlt |      | MO(1)|  | MO(2)| UNDO |  CUT | COPY | PASTE|
 *                        |      |      |      |      |      |  |      |      |      |      |      |
 *                        `----------------------------------'  `----------------------------------'
 */
    [_NAV] = LAYOUT(
 _______, KC_BRIU, KC_MNXT, KC_MFFD, KC_MPLY, KC_VOLU,                                     KC_HOME, KC_PGUP,   KC_UP, KC_PGDN, _______,  KC_DEL,
 _______, KC_BRID, KC_MPRV, KC_MRWD, KC_MSTP, KC_VOLD,                                      KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_SLCK, KC_BSPC,
 KC_LSFT, US_ACUT, US_DGRV, US_DCIR, US_DIAE, KC_MUTE, _______,  UC_MOD, KC_RSFT,  KC_APP, KC_PSCR, XP(CEDIL,CEDIL_MAJ), XP(SECTION,DEGREE), _______, LCTL(KC_S),  KC_INS,
                            KC_LCTL, KC_LGUI, KC_LALT, _______,   MO(1),   MO(2), LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V)
    ),

// /*
//  * Layer template
//  *
//  * ,-------------------------------------------.                              ,-------------------------------------------.
//  * |        |      |      |      |      |      |                              |      |      |      |      |      |        |
//  * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
//  * |        |      |      |      |      |      |                              |      |      |      |      |      |        |
//  * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
//  * |        |      |      |      |      |      |      |      |  |      |      |      |      |      |      |      |        |
//  * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
//  *                        |      |      |      |      |      |  |      |      |      |      |      |
//  *                        |      |      |      |      |      |  |      |      |      |      |      |
//  *                        `----------------------------------'  `----------------------------------'
//  */
//     [_LAYERINDEX] = LAYOUT(
//       _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
//       _______, _______, _______, _______, _______, _______,                                     _______, _______, _______, _______, _______, _______,
//       _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//                                  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
//     ),
};

/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c
 * These default settings can be overriden by your own settings in your keymap.c
 * For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications.
 * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own.
 */

/* DELETE THIS LINE TO UNCOMMENT (1/2)
#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }

bool oled_task_user(void) {
    if (is_keyboard_master()) {
        // QMK Logo and version information
        // clang-format off
        static const char PROGMEM qmk_logo[] = {
            0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
            0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
            0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
        // clang-format on

        oled_write_P(qmk_logo, false);
        oled_write_P(PSTR("Kyria rev1.0\n\n"), false);

        // Host Keyboard Layer Status
        oled_write_P(PSTR("Layer: "), false);
        switch (get_highest_layer(layer_state|default_layer_state)) {
            case _QWERTZ:
                oled_write_P(PSTR("QWERTZ\n"), false);
                break;
            case _NAV:
                oled_write_P(PSTR("Nav\n"), false);
                break;
            case _SYM:
                oled_write_P(PSTR("Sym\n"), false);
                break;
            default:
                oled_write_P(PSTR("Undefined\n"), false);
        }

        // Write host Keyboard LED Status to OLEDs
        led_t led_usb_state = host_keyboard_led_state();
        oled_write_P(led_usb_state.num_lock    ? PSTR("NUMLCK ") : PSTR("       "), false);
        oled_write_P(led_usb_state.caps_lock   ? PSTR("CAPLCK ") : PSTR("       "), false);
        oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR("       "), false);
    } else {
        // clang-format off
        static const char PROGMEM kyria_logo[] = {
            0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
            0,  0,  0,  0,  0,  0,  0,192,224,240,124, 62, 31, 15,  7,  3,  1,128,192,224,240,120, 56, 60, 28, 30, 14, 14,  7,  7,135,231,127, 31,255,255, 31,127,231,135,  7,  7, 14, 14, 30, 28, 60, 56,120,240,224,192,128,  1,  3,  7, 15, 31, 62,124,240,224,192,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
            0,  0,  0,  0,240,252,255, 31,  7,  1,  0,  0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135,  1,  0,  0,255,255,  0,  0,  1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192,  0,  0,  1,  7, 31,255,252,240,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
            0,  0,  0,255,255,255,  0,  0,  0,  0,  0,254,255,255,  1,  1,  7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30,  7,  1,  1,255,255,254,  0,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0,255,255,  0,  0,192,192, 48, 48,  0,  0,240,240,  0,  0,  0,  0,  0,  0,240,240,  0,  0,240,240,192,192, 48, 48, 48, 48,192,192,  0,  0, 48, 48,243,243,  0,  0,  0,  0,  0,  0, 48, 48, 48, 48, 48, 48,192,192,  0,  0,  0,  0,  0,
            0,  0,  0,255,255,255,  0,  0,  0,  0,  0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31,  7,255,255,  7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127,  0,  0,  0,  0,  0,255,255,255,  0,  0,  0,  0, 63, 63,  3,  3, 12, 12, 48, 48,  0,  0,  0,  0, 51, 51, 51, 51, 51, 51, 15, 15,  0,  0, 63, 63,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 48, 48, 63, 63, 48, 48,  0,  0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63,  0,  0,  0,  0,  0,
            0,  0,  0,  0, 15, 63,255,248,224,128,  0,  0,  3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128,  0,  0,255,255,  0,  0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15,  3,  0,  0,128,224,248,255, 63, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
            0,  0,  0,  0,  0,  0,  0,  3,  7, 15, 62,124,248,240,224,192,128,  1,  3,  7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15,  7,  3,  1,128,192,224,240,248,124, 62, 15,  7,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
            0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  3,  7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15,  7,  3,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
        };
        // clang-format on
        oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
    }
    return false;
}
#endif

#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {

    if (index == 0) {
        // Volume control
        if (clockwise) {
            tap_code(KC_VOLU);
        } else {
            tap_code(KC_VOLD);
        }
    } else if (index == 1) {
        // Page up/Page down
        if (clockwise) {
            tap_code(KC_PGDN);
        } else {
            tap_code(KC_PGUP);
        }
    }
    return false;
}
#endif
// DELETE THIS LINE TO UNCOMMENT (2/2) */

A keyboards/splitkb/kyria/keymaps/lw/readme.md => keyboards/splitkb/kyria/keymaps/lw/readme.md +104 -0
@@ 0,0 1,104 @@
# Kyria's lw Keymap

Custom keymap for the [kyria keyboard](https://blog.splitkb.com/blog/introducing-the-kyria). It is intended to be used with an *English (US, intl. with dead keys)* keyboard layout (includes the `keymap_us_international.h` header). 

This layout is mainly designed for every day writing in either English, French or German and programming. 

The layout implements all accents and symbols (leveraging dead keys) found on a **swiss** keyboard. It uses Unicode for special characters. It makes use of the [Linux built-in IBus Unicode input](https://docs.qmk.fm/#/feature_unicode?id=input-modes) and relies on [WinCompose](https://github.com/samhocevar/wincompose) for Windows. 

## Build this keymap
```bash
qmk compile -kb splitkb/kyria/rev1 -km lw
```

## Flash this keymap

> **Note**: this was tested for an Elite-C microcontroller. 

First, check that the bootloader is visible. For instance:
```bash
$ lsusb
...
Bus 001 Device 034: ID 03eb:2ff4 Atmel Corp. atmega32u4 DFU bootloader
...
```
If the bootloader is not visible, press the reset button of the microcontroller. The bootloader should become visible when running the `lsusb` command again. 

The microcontroller can now be flashed: 
```bash
qmk flash -kb splitkb/kyria/rev1 -km lw
```
> **Note**: if there is any issue, run `qmk doctor` to see whether the qmk configuration is valid. 

## Implemented keymaps
The default keymap contains 5 layers which allows it to include all keys found on an ANSI layout TKL keyboard plus media keys.
Hardware features of the Kyria such as OLEDs, rotary encoders and underglow are also supported.

The five different layers are the following:
1. Base layer (QWERTZ)
2. Symbols/Numbers layer
3. Navigation layer

### Base layer
This layer is activated by default. 

```
/*
 * 0. Base Layer: QWERTZ
 *
 * ,-------------------------------------------.                              ,-------------------------------------------.
 * |  Esc   |   Q  |   W  |   E  |   R  |   T  |                              |   Z  |   U  |   I  |   O  |   P  |  Del   |
 * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
 * |  Tab   |   A  |   S  |   D  |   F  |   G  |                              |   H  |   J  |   K  |   L  | ' "  | BkSpace|
 * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
 * | LShift |   Y  |   X  |   C  |   V  |   B  | \ |  |  ` ~ |  |  (   |   )  |   N  |   M  | ,  < | . >  | ;  : | CpLock |
 * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
 *                        |LCtrl | LGUI | LAlt | Space| MO(1)|  | MO(2)| Enter| - _  |  !   | / ?  |
 *                        |      |      |      |      |      |  |      |/shift|      |      |      |
 *                        `----------------------------------'  `----------------------------------'
 */
```

Hold down the `Enter` key to make it a shift. This compensates for the poor placement of the dedicated `LShift` key. 

### Symbol layer
This layer is activated when holding `MO(1)`.

```
/*
 * 1. Sym Layer: Numbers and symbols
 *
 * ,-------------------------------------------.                              ,-------------------------------------------.
 * |   F1   |  F2  |  F3  |  F4  | LAlt | PASTE|                              |   ,  |  7   |  8   |  9   |  *   |  /     |
 * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
 * |   F5   |  F6  |  F7  |  F8  |  @   | COPY |                              |   .  |  6   |  7   |  8   |  =   |        |
 * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
 * |   F9   |  F10 |  F11 |  F12 |  &   |  CUT | UNDO | FIND |  |   [  |  ]   |   0  |  1   |  2   |  3   |  +   |   -    |
 * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
 *                        |  $   |  #   |  %   |      | MO(1)|  | MO(2)|      |  \ | |  {   |   }  |
 *                        |      |      |      |      |      |  |      |      |      |      |      |
 *                        `----------------------------------'  `----------------------------------'
 */
```

### Navigation layer
This layer is activated when holding `MO(2)`.

```
/*
 * 2. Nav Layer: Media, navigation, accents
 *
 * ,-------------------------------------------.                              ,-------------------------------------------.
 * |        | Brt+ | Next | Fwd  | Play | Vol+ |                              | Home | PgUp |  Up  | PgDn |      | Del    |
 * |--------+------+------+------+------+------|                              |------+------+------+------+------+--------|
 * |        | Brt- | Prev | Bckw | Stop | Vol- |                              |  End | Left | Down | Right|ScrLck| BkSpace|
 * |--------+------+------+------+------+------+-------------.  ,-------------+------+------+------+------+------+--------|
 * | LShift |  ´   |  `   |  ^   |  ¨   | Mute |      |UC_MOD|  |RShift| Menu | PrtSc| ç/Ç  | § °  |      | SAVE | Insert |
 * `----------------------+------+------+------+------+------|  |------+------+------+------+------+----------------------'
 *                        |LCtrl | LGUI | LAlt |      | MO(1)|  | MO(2)| UNDO |  CUT | COPY | PASTE|
 *                        |      |      |      |      |      |  |      |      |      |      |      |
 *                        `----------------------------------'  `----------------------------------'
 */
```

The key `UC_MOD` allows to switch between Linux and Windows unicode. Note however that [WinCompose](https://github.com/samhocevar/wincompose) must be installed on Windows (simply download and install the latest release and it will run). 
\ No newline at end of file

A keyboards/splitkb/kyria/keymaps/lw/rules.mk => keyboards/splitkb/kyria/keymaps/lw/rules.mk +6 -0
@@ 0,0 1,6 @@
OLED_ENABLE = no 
OLED_DRIVER = SSD1306	# Enables the use of OLED displays
ENCODER_ENABLE = no     # Enables the use of one or more encoders
RGBLIGHT_ENABLE = no    # Enable keyboard RGB underglow

UNICODEMAP_ENABLE = yes	# Enable unicode 
\ No newline at end of file