Updated all keymaps to use proper userspace

This commit is contained in:
Frederik Baerentsen 2020-07-13 17:44:22 +02:00
parent cb03c65285
commit 516a561f47
12 changed files with 355 additions and 126 deletions

View File

@ -17,6 +17,7 @@
#pragma once #pragma once
#define EE_HANDS #define EE_HANDS
#define MASTER_LEFT
#ifdef OLED_DRIVER_ENABLE #ifdef OLED_DRIVER_ENABLE
# define OLED_DISPLAY_128X64 # define OLED_DISPLAY_128X64
@ -39,3 +40,8 @@
#define SPLIT_USB_TIMEOUT 1000 #define SPLIT_USB_TIMEOUT 1000
#define KEYLOGGER_LENGTH 10 #define KEYLOGGER_LENGTH 10
#define ENCODER_RESOLUTION 2
#define LEADER_PER_KEY_TIMING
#define LEADER_TIMEOUT 350

View File

@ -1,5 +1,8 @@
#include "drashna.h" #include "drashna.h"
// make kyria/rev1:drashna:avrdude-split-let
uint8_t is_master; uint8_t is_master;
#ifndef UNICODE_ENABLE #ifndef UNICODE_ENABLE
@ -20,12 +23,13 @@ uint8_t is_master;
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
) \ ) \
LAYOUT_wrapper( \ LAYOUT_wrapper( \
KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ KC_ESC, K01, K02, K03, K04, K05, /*----*/ K06, K07, K08, K09, K0A, KC_BSPC, \
LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(KC_QUOT), \ KC_LSFT, K11, K12, K13, K14, K15, /*----*/ K16, K17, K18, K19, K1A, KC_QUOT, \
OS_LSFT, CTL_T(K21), K22, K23, K24, K25, KC_NO, MEH(KC_MINS), TG(_DIABLO), KC_NO, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ KC_LCTL, K21, K22, K23, K24, K25, KC_CCCV, KC_NO, /*----*/ KC_LEAD, TG(_WARCRAFT), K26, K27, K28, K29, K2A, KC_MINS, \
KC_MUTE, OS_LALT, KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI, UC(0x03A8), UC(0x2E2E) \ LGUI(0), KC_LALT, LT(_NAV, KC_SPC), MO(_LOWER), KC_ENT, /*----*/ KC_DEL, MO(_RAISE), LT(_NAV, KC_SPC), KC_TAB, KC_RALT \
) )
/* Re-pass though to allow templates to be used */ /* Re-pass though to allow templates to be used */
#define LAYOUT_kyria_base_wrapper(...) LAYOUT_kyria_base(__VA_ARGS__) #define LAYOUT_kyria_base_wrapper(...) LAYOUT_kyria_base(__VA_ARGS__)
@ -37,53 +41,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
), ),
[_COLEMAK] = LAYOUT_kyria_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),
[_DVORAK] = LAYOUT_kyria_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
[_WORKMAN] = LAYOUT_kyria_base_wrapper( [_WORKMAN] = LAYOUT_kyria_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________, _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________ _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
), ),
[_NORMAN] = LAYOUT_kyria_base_wrapper(
_________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
_________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
_________________NORMAN_L3_________________, _________________NORMAN_R3_________________
),
[_MALTRON] = LAYOUT_kyria_base_wrapper(
_________________MALTRON_L1________________, _________________MALTRON_R1________________,
_________________MALTRON_L2________________, _________________MALTRON_R2________________,
_________________MALTRON_L3________________, _________________MALTRON_R3________________
),
[_EUCALYN] = LAYOUT_kyria_base_wrapper(
_________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
_________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
_________________EUCALYN_L3________________, _________________EUCALYN_R3________________
),
[_CARPLAX] = LAYOUT_kyria_base_wrapper(
_____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
_____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
_____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
),
[_MODS] = LAYOUT_wrapper( [_MODS] = LAYOUT_wrapper(
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______, _______, ___________________BLANK___________________, ___________________BLANK___________________, _______,
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______, KC_LSFT, ___________________BLANK___________________, ___________________BLANK___________________, _______,
KC_LSFT, ___________________BLANK___________________, _______, _______, _______, _______, ___________________BLANK___________________, KC_RSFT, KC_LCTL, ___________________BLANK___________________, _______, _______, _______, _______, ___________________BLANK___________________, _______,
_______, _______, KC_LALT, _______, _______, _______, _______, KC_RGUI, _______, _______ KC_LGUI, KC_LALT, _______, _______, _______, _______, _______, _______, _______, KC_RALT
), ),
[_DIABLO] = LAYOUT_wrapper( [_DIABLO] = LAYOUT_wrapper(
KC_ESC, KC_S, KC_I, KC_F, KC_M, KC_T, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_ESC, KC_S, KC_I, KC_F, KC_M, KC_T, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
@ -91,23 +59,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, KC_J, KC_L, TG(_DIABLO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, KC_J, KC_L, TG(_DIABLO), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_DIABLO_CLEAR, KC_J, KC_NO, SFT_T(KC_SPACE), ALT_T(KC_Q), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO KC_DIABLO_CLEAR, KC_J, KC_NO, SFT_T(KC_SPACE), ALT_T(KC_Q), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
), ),
[_LOWER] = LAYOUT_wrapper(
KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11, [_WARCRAFT] = LAYOUT_wrapper(
_______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE, KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , _______, _______, _______, _______, _______, _______,
_______, _________________LOWER_L3__________________, _______, _______, _______, _______, _________________LOWER_R3__________________, _______, KC_LSFT, LSFT(KC_GRV), KC_Q , KC_W , KC_E , LSFT(KC_R) , _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ KC_LCTL, KC_F , KC_A , KC_S , KC_D , LSFT(KC_F) , _______, _______, KC_M , _______ , _______, _______, _______, _______, _______, _______,
_______, KC_TAB , KC_SPC , KC_C , KC_T , KC_B , KC_I , _______, KC_DOT , _______
), ),
[_RAISE] = LAYOUT_wrapper(
KC_F12, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_F11, [_LOWER] = LAYOUT_kyria_base_wrapper(
_______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS, _________________LOWER_L1__________________, _________________LOWER_R1__________________,
_______, _________________RAISE_L3__________________, _______, _______, _______, _______, _________________RAISE_R3__________________, _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _________________LOWER_L3__________________, _________________LOWER_R3__________________
), ),
[_ADJUST] = LAYOUT_wrapper( [_RAISE] = LAYOUT_kyria_base_wrapper(
KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RESET, _________________RAISE_L1__________________, _________________RAISE_R1__________________,
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, _________________RAISE_L2__________________, _________________RAISE_R2__________________,
_______, _________________ADJUST_L3_________________, HPT_TOG, HPT_FBK, MG_NKRO, UC_MOD, _________________ADJUST_R3_________________, TG_MODS, _________________RAISE_L3__________________, _________________RAISE_R3__________________
_______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, _______ ),
[_ADJUST] = LAYOUT_kyria_base_wrapper(
_________________ADJUST_L1_________________, _________________ADJUST_R1_________________,
_________________ADJUST_L2_________________, _________________ADJUST_R2_________________,
_________________ADJUST_L3_________________, _________________ADJUST_R3_________________
),
[_NAV] = LAYOUT_kyria_base_wrapper(
___________________NAV_L1__________________, ___________________NAV_R1__________________,
___________________NAV_L2__________________, ___________________NAV_R2__________________,
___________________NAV_L3__________________, ___________________NAV_R3__________________
), ),
// [_LAYERINDEX] = LAYOUT_wrapper( // [_LAYERINDEX] = LAYOUT_wrapper(
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@ -153,22 +131,3 @@ void oled_driver_render_logo(void) {
# endif # endif
#endif #endif
#ifdef ENCODER_ENABLE
void 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);
}
}
}
#endif

View File

@ -2,6 +2,7 @@ OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
ENCODER_ENABLE = yes # ENables the use of one or more encoders ENCODER_ENABLE = yes # ENables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
RGBLIGHT_STARTUP_ANIMATION = no RGBLIGHT_STARTUP_ANIMATION = no
LEADER_ENABLE = yes
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys MOUSEKEY_ENABLE = no # Mouse keys
@ -11,7 +12,7 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # USB Nkey Rollover NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
MIDI_ENABLE = no # MIDI support MIDI_ENABLE = no # MIDI support
UNICODE_ENABLE = yes # Unicode UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6 AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
@ -20,5 +21,7 @@ HD44780_ENABLE = no # Enable support for HD44780 based LCDs
BOOTLOADER = atmel-dfu BOOTLOADER = atmel-dfu
SPLIT_TRANSPORT = mirror SPLIT_TRANSPORT = mirror
SPLIT_KEYBOARD = yes
TAP_DANCE_ENABLE = yes TAP_DANCE_ENABLE = yes

View File

@ -21,3 +21,5 @@
// place overrides here // place overrides here
#define LEADER_PER_KEY_TIMING #define LEADER_PER_KEY_TIMING
#define LEADER_TIMEOUT 350 #define LEADER_TIMEOUT 350
#define DROP_ALT

View File

@ -1,44 +1,62 @@
#include "drashna.h"
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum alt_keycodes { // clang-format off
U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active #define LAYOUT_dropALT_base( \
U_T_AGCR, //USB Toggle Automatic GCR control K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
DBG_TOG, //DEBUG Toggle On / Off K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
DBG_MTRX, //DEBUG Toggle Matrix Prints K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
DBG_KBD, //DEBUG Toggle Keyboard Prints ) \
DBG_MOU, //DEBUG Toggle Mouse Prints LAYOUT_wrapper( \
MD_BOOT, //Restart into bootloader after hold timeout KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_DEL , \
}; KC_TAB , K01 , K02 , K03 , K04 , K05 , K06 , K07 , K08 , K09 , K0A , KC_LBRC, KC_RBRC, KC_BSLS, RGB_TOG, \
KC_CAPS, K11 , K12 , K13 , K14 , K15 , K16 , K17 , K18 , K19 , K1A , KC_QUOT, KC_ENT , KC_HOME, \
KC_LSFT, K21 , K22 , K23 , K24 , K25 , K26 , K27 , K28 , K29 , K2A , KC_RSFT, KC_UP , KC_END , \
KC_LCTL, KC_LGUI, KC_LALT, LT(_NAV, KC_SPC), KC_RALT, KC_LEAD, KC_LEFT, KC_DOWN, KC_RIGHT \
)
keymap_config_t keymap_config;
/* Re-pass though to allow templates to be used */
#define LAYOUT_dropALT_base_wrapper(...) LAYOUT_dropALT_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_65_ansi_blocker(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, \ [_QWERTY] = LAYOUT_dropALT_base_wrapper(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, \ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, \ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, \ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT \
), ),
[1] = LAYOUT_65_ansi_blocker(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MUTE, \ [_WORKMAN] = LAYOUT_dropALT_base_wrapper(
_______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END, \ _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, \ _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, KC_PGUP, KC_VOLD, \ _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END \
), ),
/*
[X] = LAYOUT( [_LOWER] = LAYOUT_dropALT_base_wrapper(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _________________LOWER_L1__________________, _________________LOWER_R1__________________,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _________________LOWER_L2__________________, _________________LOWER_R2__________________,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _________________LOWER_L3__________________, _________________LOWER_R3__________________
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______ \
), ),
*/ [_RAISE] = LAYOUT_dropALT_base_wrapper(
_________________RAISE_L1__________________, _________________RAISE_R1__________________,
_________________RAISE_L2__________________, _________________RAISE_R2__________________,
_________________RAISE_L3__________________, _________________RAISE_R3__________________
),
[_ADJUST] = LAYOUT_dropALT_base_wrapper(
_________________ADJUST_L1_________________, _________________ADJUST_R1_________________,
_________________ADJUST_L2_________________, _________________ADJUST_R2_________________,
_________________ADJUST_L3_________________, _________________ADJUST_R3_________________
),
[_NAV] = LAYOUT_dropALT_base_wrapper(
___________________NAV_L1__________________, ___________________NAV_R1__________________,
___________________NAV_L2__________________, ___________________NAV_R2__________________,
___________________NAV_L3__________________, ___________________NAV_R3__________________
),
// [_LAYERINDEX] = LAYOUT_wrapper(
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// ),
}; };
#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT))
#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL))
#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT))

View File

@ -1,12 +1,12 @@
LEADER_ENABLE = yes
DROP_ALT = yes
#For platform and packs #For platform and packs
ARM_ATSAM = SAMD51J18A ARM_ATSAM = SAMD51J18A
MCU = cortex-m4 MCU = cortex-m4
CUSTOM_MATRIX = yes CUSTOM_MATRIX = yes
RGBLIGHT_STARTUP_ANIMATION = no
LEADER_ENABLE = yes
KEYLOGGER_ENABLE = no
OLED_DRIVER_ENABLE = no
# Build Options # Build Options
# comment out to disable the options. # comment out to disable the options.
# #
@ -21,7 +21,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGB_MATRIX_ENABLE = no
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
UNICODE_ENABLE = no # Unicode UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
@ -31,6 +30,3 @@ HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
VIRTSER_ENABLE = no # USB Serial Driver VIRTSER_ENABLE = no # USB Serial Driver
RAW_ENABLE = no # Raw device RAW_ENABLE = no # Raw device
AUTO_SHIFT_ENABLE = no # Auto Shift AUTO_SHIFT_ENABLE = no # Auto Shift
# This keymap requires Massdrop Configurator support
# OPT_DEFS += -DUSE_MASSDROP_CONFIGURATOR

View File

@ -0,0 +1,25 @@
/* Copyright 2018 Carlos Filoteo
*
* 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"
// place overrides here
#define LEADER_PER_KEY_TIMING
#define LEADER_TIMEOUT 350
#define DROP_ALT

View File

@ -1 +1,30 @@
LEADER_ENABLE = yes LEADER_ENABLE = yes
#For platform and packs
ARM_ATSAM = SAMD51J18A
MCU = cortex-m4
CUSTOM_MATRIX = yes
# Build Options
# comment out to disable the options.
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
VIRTSER_ENABLE = no # USB Serial Driver
RAW_ENABLE = no # Raw device
AUTO_SHIFT_ENABLE = no # Auto Shift

View File

@ -0,0 +1,23 @@
/* Copyright 2018 Carlos Filoteo
*
* 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"
// place overrides here
#define LEADER_PER_KEY_TIMING
#define LEADER_TIMEOUT 350

View File

@ -0,0 +1,158 @@
/* Copyright 2018 Carlos Filoteo
*
* 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 "drashna.h"
#include QMK_KEYBOARD_H
#define LT3_TAB LT(3, KC_TAB)
// clang-format off
#define LAYOUT_ut472_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
) \
LAYOUT_wrapper( \
KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, BSPCDEL, \
KC_TAB, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_ENT, \
KC_LSFT, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_QUOT, \
KC_LCTL, LGUI(0), KC_LALT, KC_LEAD, MO(_LOWER), LT(_NAV, KC_SPC), MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
)
/* Re-pass though to allow templates to be used */
#define LAYOUT_ut472_base_wrapper(...) LAYOUT_ut472_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_ut472_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),
[_WORKMAN] = LAYOUT_ut472_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_LOWER] = LAYOUT_ut472_base_wrapper(
_________________LOWER_L1__________________, _________________LOWER_R1__________________,
_________________LOWER_L2__________________, _________________LOWER_R2__________________,
_________________LOWER_L3__________________, _________________LOWER_R3__________________
),
[_RAISE] = LAYOUT_ut472_base_wrapper(
_________________RAISE_L1__________________, _________________RAISE_R1__________________,
_________________RAISE_L2__________________, _________________RAISE_R2__________________,
_________________RAISE_L3__________________, _________________RAISE_R3__________________
),
[_ADJUST] = LAYOUT_ut472_base_wrapper(
_________________ADJUST_L1_________________, _________________ADJUST_R1_________________,
_________________ADJUST_L2_________________, _________________ADJUST_R2_________________,
_________________ADJUST_L3_________________, _________________ADJUST_R3_________________
),
[_NAV] = LAYOUT_ut472_base_wrapper(
___________________NAV_L1__________________, ___________________NAV_R1__________________,
___________________NAV_L2__________________, ___________________NAV_R2__________________,
___________________NAV_L3__________________, ___________________NAV_R3__________________
),
// [_LAYERINDEX] = LAYOUT_wrapper(
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// ),
};
// clang-format on
// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// /* Base Layer
// * ,-------------------------------------------------------------------------.
// * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace |
// * |-------------------------------------------------------------------------+
// * |Tab/L3| A | S | D | F | G | H | J | K | L | ; | ' |
// * |-------------------------------------------------------------------------+
// * | Shift | Z | X | C | V | B | N | M | , | . | / |Sh/En|
// * |-------------------------------------------------------------------------+
// * | Ctrl| Alt | Gui | App | L2 | Space | L1 | Left| Down| Up |Right|
// * `-------------------------------------------------------------------------'
// */
// LAYOUT(
// KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
// LT3_TAB, 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_SFTENT,
// KC_LCTL, KC_LALT, KC_LGUI, KC_APP, MO(2), KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
// ),
// /* FN Layer 1
// * ,-------------------------------------------------------------------------.
// * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete|
// * |-------------------------------------------------------------------------+
// * | | | | | | | | - | = | [ | ] | \ |
// * |-------------------------------------------------------------------------+
// * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | |
// * |-------------------------------------------------------------------------+
// * | | | |Capsl| | | | Home| PgDn| PgUp| End |
// * `-------------------------------------------------------------------------'
// */
// LAYOUT( /* Right */
// KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELETE,
// _______, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
// _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______,
// _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
// ),
// FN Layer 2
// * ,-------------------------------------------------------------------------.
// * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |Delete|
// * |-------------------------------------------------------------------------+
// * | | | | | | | | _ | + | { | } | | |
// * |-------------------------------------------------------------------------+
// * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | |
// * |-------------------------------------------------------------------------+
// * | | | |Capsl| | | | Home| PgDn| PgUp| End |
// * `-------------------------------------------------------------------------'
// LAYOUT( /* Left */
// KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_DELETE,
// _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE,
// _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
// _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
// ),
// /* FN Layer 2
// * ,-------------------------------------------------------------------------.
// * | Esc | Calc|Webhm| Mail| Comp| | | | | |PrtSc| |
// * |-------------------------------------------------------------------------+
// * | | | | | | | | | | | | |
// * |-------------------------------------------------------------------------+
// * | | | | | | | | | | | | |
// * |-------------------------------------------------------------------------+
// * | | | | | | | |MousL|MousD|MousU|MousR|
// * `-------------------------------------------------------------------------'
// */
// LAYOUT( /* Tab */
// KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
// ),
// };

View File

@ -0,0 +1,5 @@
# UT47 default keymap
![UT47 layout image](https://i.imgur.com/Tsz5qsF.png)
[KLE](http://www.keyboard-layout-editor.com/##@@_y:0%3B&=Esc&=Q&=W&=E&=R&=T&=Y&=U&=I&=O&=P&_w:1.5%3B&=Back%20Space&_x:0.25&a:4&f:4&w:4&h:4&d:true%3B&=%3Cb%3EGNAP!%3C%2F%2Fb%3E%3Cp%3E%3Cp%3EMinimum%20stagger%3Cp%3E47%20key%20layout%3B&@_a:7&f:3&w:1.25%3B&=Tab&=A&=S&=D&=F&=G&=H&=J&=K&=L&=%2F%3B&_w:1.25%3B&=%27%3B&@_w:1.5%3B&=Shift&=Z&=X&=C&=V&=B&=N&=M&=,&=.&=%2F%2F&=Return%3B&@=Ctrl&=Alt&=Super&=Menu&_w:1.25%3B&=%2F&dArr%2F%3B&_w:2%3B&=&_w:1.25%3B&=%2F&uArr%2F%3B&=%2F&larr%2F%3B&=%2F&darr%2F%3B&=%2F&uarr%2F%3B&=%2F&rarr%2F%3B%3B&=undefined)

View File

@ -0,0 +1,5 @@
LEADER_ENABLE = yes
TAP_DANCE_ENABLE = no
RGBLIGHT_ENABLE = yes
RGB_MATRIX_ENABLE = no