Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						5c3f3e8332
					
				
					 18 changed files with 998 additions and 0 deletions
				
			
		
							
								
								
									
										5
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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"
 | 
			
		||||
							
								
								
									
										37
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/6x6_4.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 } \
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										40
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
							
								
								
									
										108
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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 ,_______,_______,_______,
 | 
			
		||||
                                                _______,_______,            _______,_______,
 | 
			
		||||
                                               _______,_______,            _______,_______,
 | 
			
		||||
                                               _______,_______,            _______,_______
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										19
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/handwired/dactyl_manuform/6x6_4/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
| 
						 | 
				
			
			@ -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 } \
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										40
									
								
								keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								keyboards/handwired/dactyl_manuform/6x6_kinesis/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
							
								
								
									
										108
									
								
								keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								keyboards/handwired/dactyl_manuform/6x6_kinesis/info.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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 ,                         _______, _______,
 | 
			
		||||
                                            _______, _______,                         _______, _______,
 | 
			
		||||
                                            _______, _______,                         _______, _______
 | 
			
		||||
    ),
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										85
									
								
								keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								keyboards/handwired/dactyl_manuform/6x6_kinesis/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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  |      |      |
 | 
			
		||||
                                         `--------------------'      `--------------------'
 | 
			
		||||
							
								
								
									
										19
									
								
								keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/handwired/dactyl_manuform/6x6_kinesis/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										26
									
								
								keyboards/splitkb/kyria/keymaps/lw/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/splitkb/kyria/keymaps/lw/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 
 | 
			
		||||
							
								
								
									
										251
									
								
								keyboards/splitkb/kyria/keymaps/lw/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										251
									
								
								keyboards/splitkb/kyria/keymaps/lw/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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) */
 | 
			
		||||
							
								
								
									
										104
									
								
								keyboards/splitkb/kyria/keymaps/lw/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								keyboards/splitkb/kyria/keymaps/lw/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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). 
 | 
			
		||||
							
								
								
									
										6
									
								
								keyboards/splitkb/kyria/keymaps/lw/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								keyboards/splitkb/kyria/keymaps/lw/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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 
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue