From 1c2705eea59c6e772dd771c5f77fbbddeda1d61d Mon Sep 17 00:00:00 2001 From: IBNobody Date: Sat, 11 Jun 2016 17:24:28 -0500 Subject: [PATCH 001/306] fixed color detection routine in makefile --- tmk_core/rules.mk | 58 +++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 8cae22b38..79a728245 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -43,7 +43,7 @@ # make flip-ee = Download the eeprom file to the device, using Atmel FLIP # (must have Atmel FLIP installed). # -# make debug = Start either simulavr or avarice as specified for debugging, +# make debug = Start either simulavr or avarice as specified for debugging, # with avr-gdb or avr-insight as the front end for debugging. # # make filename.s = Just compile filename.c into the assembler code only. @@ -66,7 +66,7 @@ BUILD_DIR = .build OBJDIR = $(BUILD_DIR)/obj_$(TARGET) -# Optimization level, can be [0, 1, 2, 3, s]. +# Optimization level, can be [0, 1, 2, 3, s]. # 0 = turn off optimization. s = optimize for size. # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) OPT = s @@ -161,10 +161,8 @@ CFLAGS += -fshort-enums CFLAGS += -fno-strict-aliasing # add color ifeq ($(COLOR),true) -ifeq ("$(shell echo "int main(){}" | $(CC) -fdiagnostics-color -x c - -o /dev/null 2>&1)", "") +ifeq ("$(echo "int main(){}" | $(CC) -fdiagnostics-color -x c - -o /dev/null 2>&1)", "") CFLAGS+= -fdiagnostics-color -else ifeq ("$(shell echo "int main(){}" | $(CC) -fcolor-diagnostics -x c - -o /dev/null 2>&1)", "") - CFLAGS+= -fcolor-diagnostics endif endif CFLAGS += -Wall @@ -223,7 +221,7 @@ endif # for use in COFF files, additional information about filenames # and function names needs to be present in the assembler source # files -- see avr-libc docs [FIXME: not yet described there] -# -listing-cont-lines: Sets the maximum number of continuation lines of hex +# -listing-cont-lines: Sets the maximum number of continuation lines of hex # dump that will be displayed for a given single line of source input. ASFLAGS = $(ADEFS) -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 ASFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) @@ -239,7 +237,7 @@ PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt # If this is left blank, then it will use the Standard printf version. -PRINTF_LIB = +PRINTF_LIB = #PRINTF_LIB = $(PRINTF_LIB_MIN) #PRINTF_LIB = $(PRINTF_LIB_FLOAT) @@ -251,7 +249,7 @@ SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt # If this is left blank, then it will use the Standard scanf version. -SCANF_LIB = +SCANF_LIB = #SCANF_LIB = $(SCANF_LIB_MIN) #SCANF_LIB = $(SCANF_LIB_FLOAT) @@ -263,7 +261,7 @@ MATH_LIB = -lm # Each directory must be seperated by a space. # Use forward slashes for directory separators. # For a directory that has spaces, enclose it in quotes. -EXTRALIBDIRS = +EXTRALIBDIRS = @@ -324,7 +322,7 @@ JTAG_DEV = /dev/com1 DEBUG_PORT = 4242 # Debugging host used to communicate between GDB / avarice / simulavr, normally -# just set to localhost unless doing some sort of crazy debugging when +# just set to localhost unless doing some sort of crazy debugging when # avarice is running on a different computer. DEBUG_HOST = localhost @@ -358,7 +356,7 @@ endif MSG_ERRORS_NONE = Errors: none MSG_BEGIN = -------- begin -------- MSG_END = -------- end -------- -MSG_SIZE_BEFORE = Size before: +MSG_SIZE_BEFORE = Size before: MSG_SIZE_AFTER = Size after: MSG_COFF = Converting to AVR COFF: MSG_EXTENDED_COFF = Converting to AVR Extended COFF: @@ -396,22 +394,22 @@ ALL_CPPFLAGS = -mmcu=$(MCU) -x c++ $(CPPFLAGS) $(GENDEPFLAGS) $(EXTRAFLAGS) ALL_ASFLAGS = -mmcu=$(MCU) -x assembler-with-cpp $(ASFLAGS) $(EXTRAFLAGS) # Default target. -all: - @$(MAKE) begin - @$(MAKE) gccversion - @$(MAKE) sizebefore +all: + @$(MAKE) begin + @$(MAKE) gccversion + @$(MAKE) sizebefore @$(MAKE) clean_list # force clean each time - @$(MAKE) build - @$(MAKE) sizeafter + @$(MAKE) build + @$(MAKE) sizeafter @$(MAKE) end # Quick make that doesn't clean -quick: - @$(MAKE) begin - @$(MAKE) gccversion - @$(MAKE) sizebefore - @$(MAKE) build - @$(MAKE) sizeafter +quick: + @$(MAKE) begin + @$(MAKE) gccversion + @$(MAKE) sizebefore + @$(MAKE) build + @$(MAKE) sizeafter @$(MAKE) end # Change the build target to build a HEX file or a library. @@ -456,12 +454,12 @@ sizeafter: # @if [[ $($(SIZE) --target=$(FORMAT) $(TARGET).hex | awk 'NR==2 {print "0x"$5}') -gt 0x200 ]]; then $(SECHO) "File is too big!"; fi # Display compiler version information. -gccversion : +gccversion : @$(SILENT) || $(CC) --version -# Program the device. +# Program the device. program: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep $(PROGRAM_CMD) @@ -492,7 +490,7 @@ endif dfu-programmer $(MCU) erase dfu-programmer $(MCU) flash $(KEYMAP_PATH)/compiled.hex dfu-programmer $(MCU) reset - + dfu-start: dfu-programmer $(MCU) reset dfu-programmer $(MCU) start @@ -514,9 +512,9 @@ endif # Generate avr-gdb config/init file which does the following: -# define the reset signal, load the target file, connect to target, and set +# define the reset signal, load the target file, connect to target, and set # a breakpoint at main(). -gdb-config: +gdb-config: @$(REMOVE) $(GDBINIT_FILE) @echo define reset >> $(GDBINIT_FILE) @echo SIGNAL SIGHUP >> $(GDBINIT_FILE) @@ -618,7 +616,7 @@ $(OBJDIR)/%.o : %.c $(OBJDIR)/%.o : %.cpp @mkdir -p $(@D) @$(SILENT) || printf "$(MSG_COMPILING_CPP) $<" | $(AWK_CMD) - $(CC) -c $(ALL_CPPFLAGS) $< -o $@ + $(CC) -c $(ALL_CPPFLAGS) $< -o $@ @$(BUILD_CMD) # Compile: create assembler files from C source files. @@ -642,7 +640,7 @@ $(OBJDIR)/%.o : %.S # Create preprocessed source for use in sending a bug report. %.i : %.c - $(CC) -E -mmcu=$(MCU) $(CFLAGS) $< -o $@ + $(CC) -E -mmcu=$(MCU) $(CFLAGS) $< -o $@ # Target: clean project. clean: begin clean_list end From de96513ff2f12e56a572b6f54db548725194c10b Mon Sep 17 00:00:00 2001 From: Toni Date: Sun, 17 Jul 2016 14:57:56 +0200 Subject: [PATCH 002/306] changes needed for a ISO satan PCB including a split right-shift key --- .../satan/keymaps/iso_split_rshift/Makefile | 70 +++++++ .../satan/keymaps/iso_split_rshift/build.sh | 17 ++ .../satan/keymaps/iso_split_rshift/config.h | 31 +++ .../satan/keymaps/iso_split_rshift/keymap.c | 192 ++++++++++++++++++ .../keymaps/iso_split_rshift/resetboard.sh | 4 + .../satan/keymaps/iso_split_rshift/satan.c | 30 +++ .../satan/keymaps/iso_split_rshift/satan.h | 96 +++++++++ 7 files changed, 440 insertions(+) create mode 100644 keyboards/satan/keymaps/iso_split_rshift/Makefile create mode 100755 keyboards/satan/keymaps/iso_split_rshift/build.sh create mode 100644 keyboards/satan/keymaps/iso_split_rshift/config.h create mode 100644 keyboards/satan/keymaps/iso_split_rshift/keymap.c create mode 100755 keyboards/satan/keymaps/iso_split_rshift/resetboard.sh create mode 100644 keyboards/satan/keymaps/iso_split_rshift/satan.c create mode 100644 keyboards/satan/keymaps/iso_split_rshift/satan.h diff --git a/keyboards/satan/keymaps/iso_split_rshift/Makefile b/keyboards/satan/keymaps/iso_split_rshift/Makefile new file mode 100644 index 000000000..67eaa078f --- /dev/null +++ b/keyboards/satan/keymaps/iso_split_rshift/Makefile @@ -0,0 +1,70 @@ + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= no # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality (+4870) +BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality (+1150) +MIDI_ENABLE ?= no # MIDI controls +AUDIO_ENABLE = no +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/satan/keymaps/iso_split_rshift/build.sh b/keyboards/satan/keymaps/iso_split_rshift/build.sh new file mode 100755 index 000000000..2bfc3bb32 --- /dev/null +++ b/keyboards/satan/keymaps/iso_split_rshift/build.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# adjust for cpu +# -j 16 gave best result on a hyperthreaded quad core core i7 +THREADS="-j 16" +echo "We need sudo later" +sudo ls 2>&1 /dev/null +make clean +make KEYMAP=toni77 ${THREADS} +if [[ $? -eq 0 ]] +then + echo "please trigger flashing! you have 5 seconds" + sleep 5 + sudo make KEYMAP=toni77 dfu ${THREADS} +else + echo "make failed" + exit 77 +fi diff --git a/keyboards/satan/keymaps/iso_split_rshift/config.h b/keyboards/satan/keymaps/iso_split_rshift/config.h new file mode 100644 index 000000000..39eec4b59 --- /dev/null +++ b/keyboards/satan/keymaps/iso_split_rshift/config.h @@ -0,0 +1,31 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + + +#define RGB_DI_PIN B2 +#define RGBLIGHT_TIMER +#define RGBLED_NUM 8 // Number of LEDs +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +#endif diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c new file mode 100644 index 000000000..fc07f6da8 --- /dev/null +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -0,0 +1,192 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "satan.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _DEF 0 +#define _SPC 1 +#define _TAB 2 +#define _SFX 3 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _DEF: Default Layer + * ,-----------------------------------------------------------.------------------------------------- + * |Grv| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | + * |-----------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | Tab is Fn1 !! + * |-----------------------------------------------------------| + * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| Return | + * |-----------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn2| RShift is UP + * |-----------------------------------------------------------| + * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| Gui Menu, RCtrl is + * `-----------------------------------------------------------' LEFT DWN RIGHT + */ +[_DEF] = KEYMAP_ISO_SPLITRSHIFT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ + F(2), 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, \ + F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, F(17), \ + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX),F(4), \ + KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, F(5), F(6), F(7)) , + /* Keymap 1: F-and-vim Layer, modified with Space (Fn0) + * ,-----------------------------------------------------------.----------------------------------------- + * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete| + * |-----------------------------------------------------------| + * | |Paus| Up| | | | | | | | | | | | + * |-----------------------------------------------------------| + * | |Lft|Dwn|Rgt| | | |Left|Down|Right|Up| | PLAY | + * |-----------------------------------------------------------| + * | | | | | | |M0 | | | | | Vol+ | | + * |-----------------------------------------------------------| + * | | | | |Alt |Prev|Vol-|Next| + * `-----------------------------------------------------------' + */ +[_SPC] = KEYMAP_ISO_SPLITRSHIFT( + KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ + KC_TRNS, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE,M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT) , + + /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (Fn1) + * ,-----------------------------------------------------------.----------------------------------------- + * |WAKE| | | | | | | | | | | | |Insert| TAB+GRC = WAKE + * |-----------------------------------------------------------| + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| + * | | | | | | | |Pos1|PgDn|PgUp|End| |Retrn | + * |-----------------------------------------------------------| + * | | | | | | |AF2| | | | | PgUp | | + * |-----------------------------------------------------------| + * | | | | |Alt |Pos1|PgDn|End | + * `-----------------------------------------------------------' + */ +[_TAB] = KEYMAP_ISO_SPLITRSHIFT( + KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END) , + + /* Keymap 3: Split right shift Numpad toggle Layer (Fn2) + * ,-----------------------------------------------------------.----------------------------------------- + * |RSET| | | | | | | 7| 8| 9| | | |Backsp | + * |-----------------------------------------------------------| + * | | | | | | | | 4 | 5 | 6 | | | | \ | + * |-----------------------------------------------------------| + * | | L | L | | | | | 1 | 2 | 3 | | | Return | + * |-----------------------------------------------------------| + * | | L | L | L | L | L | L | | 0 | | /| Up | | All "L"s represent + * |-----------------------------------------------------------| LED controlling + * |Ctrl|Win |Alt | |Alt |Left|Down|Right| + * `-----------------------------------------------------------' + */ +[_SFX] = KEYMAP_ISO_SPLITRSHIFT( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, \ + KC_TRNS, F(9), F(10), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \ + KC_TRNS, F(11), F(12), F(13), F(14), F(15), F(16), KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_SLSH, KC_TRNS, KC_UP, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT) , + +}; + +enum function_id { + LAUNCH, + RGBLED_TOGGLE, + RGBLED_STEP_MODE, + RGBLED_INCREASE_HUE, + RGBLED_DECREASE_HUE, + RGBLED_INCREASE_SAT, + RGBLED_DECREASE_SAT, + RGBLED_INCREASE_VAL, + RGBLED_DECREASE_VAL, +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_TAP_KEY(_SPC, KC_SPACE), + [1] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ESC), + [2] = ACTION_LAYER_TAP_KEY(_TAB, KC_TAB), + [3] = ACTION_LAYER_TOGGLE(_SFX), + [4] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_UP), + [5] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_LEFT), + [6] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_DOWN), + [7] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RIGHT), + [8] = ACTION_FUNCTION(LAUNCH), + [9] = ACTION_FUNCTION(RGBLED_TOGGLE), + [10] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [11] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [12] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [13] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [14] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [15] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [16] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), + [17] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ENT), +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + return (record->event.pressed ? + MACRO( D(RALT), T(SPC), U(RALT), END ) + :MACRO( END )); + break; + case 1: + return (record->event.pressed ? + MACRO( D(LALT), T(F2), U(LALT), END ) + :MACRO( END )); + break; + } + return MACRO_NONE; +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch (id) { + case RGBLED_TOGGLE: + //led operations + if (record->event.pressed) { + rgblight_toggle(); + } + break; + case RGBLED_INCREASE_HUE: + if (record->event.pressed) { + rgblight_increase_hue(); + } + break; + case RGBLED_DECREASE_HUE: + if (record->event.pressed) { + rgblight_decrease_hue(); + } + break; + case RGBLED_INCREASE_SAT: + if (record->event.pressed) { + rgblight_increase_sat(); + } + break; + case RGBLED_DECREASE_SAT: + if (record->event.pressed) { + rgblight_decrease_sat(); + } + break; + case RGBLED_INCREASE_VAL: + if (record->event.pressed) { + rgblight_increase_val(); + } + break; + case RGBLED_DECREASE_VAL: + if (record->event.pressed) { + rgblight_decrease_val(); + } + break; + case RGBLED_STEP_MODE: + if (record->event.pressed) { + rgblight_step(); + } + break; + } +} diff --git a/keyboards/satan/keymaps/iso_split_rshift/resetboard.sh b/keyboards/satan/keymaps/iso_split_rshift/resetboard.sh new file mode 100755 index 000000000..d955ccf54 --- /dev/null +++ b/keyboards/satan/keymaps/iso_split_rshift/resetboard.sh @@ -0,0 +1,4 @@ +#!/bin/bash +sudo dfu-programmer atmega32u4 erase --force +sudo dfu-programmer atmega32u4 flash clear_flash.hex +sudo dfu-programmer atmega32u4 reset diff --git a/keyboards/satan/keymaps/iso_split_rshift/satan.c b/keyboards/satan/keymaps/iso_split_rshift/satan.c new file mode 100644 index 000000000..d2c5d5c20 --- /dev/null +++ b/keyboards/satan/keymaps/iso_split_rshift/satan.c @@ -0,0 +1,30 @@ +#include "satan.h" +#include "led.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + matrix_init_user(); + led_init_ports(); +}; + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + matrix_scan_user(); +}; + +void led_init_ports(void) { + // * Set our LED pins as output + DDRB |= (1<<2); +} + +void led_set_kb(uint8_t usb_led) { + if (usb_led & (1< Date: Sun, 17 Jul 2016 15:10:14 +0200 Subject: [PATCH 003/306] helper file for me to stay up-to-date with master --- keyboards/satan/keymaps/iso_split_rshift/updatemerge.sh | 4 ++++ 1 file changed, 4 insertions(+) create mode 100755 keyboards/satan/keymaps/iso_split_rshift/updatemerge.sh diff --git a/keyboards/satan/keymaps/iso_split_rshift/updatemerge.sh b/keyboards/satan/keymaps/iso_split_rshift/updatemerge.sh new file mode 100755 index 000000000..d17ec76ec --- /dev/null +++ b/keyboards/satan/keymaps/iso_split_rshift/updatemerge.sh @@ -0,0 +1,4 @@ +#!/bin/bash +git checkout iso_split_rshift # gets you "on branch dmgr2" +git fetch origin # gets you up to date with origin +git merge origin/master From 11bf8355cf90b64d749d39cd49ec597a48e8beb9 Mon Sep 17 00:00:00 2001 From: Toni Date: Sun, 17 Jul 2016 23:13:49 +0200 Subject: [PATCH 004/306] new modifier "J" is crtl --- keyboards/satan/keymaps/iso_split_rshift/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index fc07f6da8..a2623e0e0 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DEF] = KEYMAP_ISO_SPLITRSHIFT( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ F(2), 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, \ - F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, F(17), \ + F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, F(17), KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX),F(4), \ KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, F(5), F(6), F(7)) , /* Keymap 1: F-and-vim Layer, modified with Space (Fn0) @@ -124,7 +124,7 @@ const uint16_t PROGMEM fn_actions[] = { [14] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), [15] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), [16] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), - [17] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ENT), + [17] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_J), }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) From 36242d5ac5b42d828b51ff87a9317dc8420c1b6c Mon Sep 17 00:00:00 2001 From: Toni Date: Mon, 18 Jul 2016 10:50:19 +0200 Subject: [PATCH 005/306] reduced makefile size. not so much needed due to "inheritance" --- .../satan/keymaps/iso_split_rshift/Makefile | 51 ------------------- 1 file changed, 51 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/Makefile b/keyboards/satan/keymaps/iso_split_rshift/Makefile index 67eaa078f..e25515b69 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/Makefile +++ b/keyboards/satan/keymaps/iso_split_rshift/Makefile @@ -1,54 +1,3 @@ - -# MCU name -#MCU = at90usb1287 -MCU = atmega32u4 - -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - - -# Boot Section Size in *bytes* -# Teensy halfKay 512 -# Teensy++ halfKay 1024 -# Atmel DFU loader 4096 -# LUFA bootloader 4096 -# USBaspLoader 2048 -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - # Build Options # comment out to disable the options. # From 4b32a161d04c9efe650479b89d4c8f323dd41aa3 Mon Sep 17 00:00:00 2001 From: Toni Date: Mon, 18 Jul 2016 10:50:45 +0200 Subject: [PATCH 006/306] renamed keymap --- keyboards/satan/keymaps/iso_split_rshift/build.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/build.sh b/keyboards/satan/keymaps/iso_split_rshift/build.sh index 2bfc3bb32..c286f26f8 100755 --- a/keyboards/satan/keymaps/iso_split_rshift/build.sh +++ b/keyboards/satan/keymaps/iso_split_rshift/build.sh @@ -2,15 +2,16 @@ # adjust for cpu # -j 16 gave best result on a hyperthreaded quad core core i7 THREADS="-j 16" +KMAP=iso_split_rschift echo "We need sudo later" sudo ls 2>&1 /dev/null make clean -make KEYMAP=toni77 ${THREADS} +make KEYMAP=iso_split_rschift ${THREADS} if [[ $? -eq 0 ]] then echo "please trigger flashing! you have 5 seconds" sleep 5 - sudo make KEYMAP=toni77 dfu ${THREADS} + sudo make KEYMAP=iso_split_rschift dfu ${THREADS} else echo "make failed" exit 77 From 1988c180e3cc971e83db0f9e862de4857ce6d766 Mon Sep 17 00:00:00 2001 From: Toni Date: Tue, 19 Jul 2016 09:16:55 +0200 Subject: [PATCH 007/306] small cosmetic change --- keyboards/satan/keymaps/iso_split_rshift/build.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/build.sh b/keyboards/satan/keymaps/iso_split_rshift/build.sh index c286f26f8..9523f6716 100755 --- a/keyboards/satan/keymaps/iso_split_rshift/build.sh +++ b/keyboards/satan/keymaps/iso_split_rshift/build.sh @@ -2,16 +2,16 @@ # adjust for cpu # -j 16 gave best result on a hyperthreaded quad core core i7 THREADS="-j 16" -KMAP=iso_split_rschift +KMAP=iso_split_rshift echo "We need sudo later" sudo ls 2>&1 /dev/null make clean -make KEYMAP=iso_split_rschift ${THREADS} +make KEYMAP=${KMAP} ${THREADS} if [[ $? -eq 0 ]] then echo "please trigger flashing! you have 5 seconds" sleep 5 - sudo make KEYMAP=iso_split_rschift dfu ${THREADS} + sudo make KEYMAP=${KMAP} dfu ${THREADS} else echo "make failed" exit 77 From 5cd6d607fc7362fdf72ecd76f802305bce68270c Mon Sep 17 00:00:00 2001 From: Toni Date: Tue, 19 Jul 2016 09:17:31 +0200 Subject: [PATCH 008/306] changed ctrl back to enter. "j" interfered with my vimming --- keyboards/satan/keymaps/iso_split_rshift/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index a2623e0e0..fc07f6da8 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DEF] = KEYMAP_ISO_SPLITRSHIFT( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ F(2), 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, \ - F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, F(17), KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ + F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, F(17), \ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX),F(4), \ KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, F(5), F(6), F(7)) , /* Keymap 1: F-and-vim Layer, modified with Space (Fn0) @@ -124,7 +124,7 @@ const uint16_t PROGMEM fn_actions[] = { [14] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), [15] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), [16] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), - [17] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_J), + [17] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ENT), }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) From c1f014b1dd24ba7e121ae3ca999d832b07ce50cf Mon Sep 17 00:00:00 2001 From: Toni Date: Fri, 22 Jul 2016 08:13:06 +0200 Subject: [PATCH 009/306] purely cosmetic changes --- .../satan/keymaps/iso_split_rshift/keymap.c | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index fc07f6da8..17d4b3345 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _DEF: Default Layer - * ,-----------------------------------------------------------.------------------------------------- + * ,-----------------------------------------------------------. * |Grv| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | * |-----------------------------------------------------------| * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | Tab is Fn1 !! @@ -26,14 +26,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| Gui Menu, RCtrl is * `-----------------------------------------------------------' LEFT DWN RIGHT */ -[_DEF] = KEYMAP_ISO_SPLITRSHIFT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ - F(2), 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, \ - F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, F(17), \ - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX),F(4), \ - KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, F(5), F(6), F(7)) , + [_DEF] = KEYMAP_ISO_SPLITRSHIFT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ + F(2), 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, \ + F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, F(17), \ + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX),F(4), \ + KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, F(5), F(6), F(7)) , + /* Keymap 1: F-and-vim Layer, modified with Space (Fn0) - * ,-----------------------------------------------------------.----------------------------------------- + * ,-----------------------------------------------------------. * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete| * |-----------------------------------------------------------| * | |Paus| Up| | | | | | | | | | | | @@ -45,15 +46,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | |Alt |Prev|Vol-|Next| * `-----------------------------------------------------------' */ -[_SPC] = KEYMAP_ISO_SPLITRSHIFT( - KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ - KC_TRNS, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE,M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT) , - + [_SPC] = KEYMAP_ISO_SPLITRSHIFT( + KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ + KC_TRNS, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE,M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), + /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (Fn1) - * ,-----------------------------------------------------------.----------------------------------------- + * ,-----------------------------------------------------------. * |WAKE| | | | | | | | | | | | |Insert| TAB+GRC = WAKE * |-----------------------------------------------------------| * | | | | | | | | | | | | | | | @@ -65,15 +66,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | |Alt |Pos1|PgDn|End | * `-----------------------------------------------------------' */ -[_TAB] = KEYMAP_ISO_SPLITRSHIFT( - KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END) , - + [_TAB] = KEYMAP_ISO_SPLITRSHIFT( + KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), + /* Keymap 3: Split right shift Numpad toggle Layer (Fn2) - * ,-----------------------------------------------------------.----------------------------------------- + * ,-----------------------------------------------------------. * |RSET| | | | | | | 7| 8| 9| | | |Backsp | * |-----------------------------------------------------------| * | | | | | | | | 4 | 5 | 6 | | | | \ | @@ -85,13 +86,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Ctrl|Win |Alt | |Alt |Left|Down|Right| * `-----------------------------------------------------------' */ -[_SFX] = KEYMAP_ISO_SPLITRSHIFT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, \ - KC_TRNS, F(9), F(10), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \ - KC_TRNS, F(11), F(12), F(13), F(14), F(15), F(16), KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_SLSH, KC_TRNS, KC_UP, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT) , - + [_SFX] = KEYMAP_ISO_SPLITRSHIFT( + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, \ + KC_TRNS, F(9), F(10), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \ + KC_TRNS, F(11), F(12), F(13), F(14), F(15), F(16), KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_SLSH, KC_TRNS, KC_UP, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT), }; enum function_id { @@ -129,19 +129,19 @@ const uint16_t PROGMEM fn_actions[] = { const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - // MACRODOWN only works in this function - switch(id) { + // MACRODOWN only works in this function + switch(id) { case 0: - return (record->event.pressed ? - MACRO( D(RALT), T(SPC), U(RALT), END ) - :MACRO( END )); - break; + return (record->event.pressed ? + MACRO( D(RALT), T(SPC), U(RALT), END ) + :MACRO( END )); + break; case 1: - return (record->event.pressed ? - MACRO( D(LALT), T(F2), U(LALT), END ) - :MACRO( END )); - break; - } + return (record->event.pressed ? + MACRO( D(LALT), T(F2), U(LALT), END ) + :MACRO( END )); + break; + } return MACRO_NONE; }; From 197244e47f619b0853e4fdb54bb821a32b584764 Mon Sep 17 00:00:00 2001 From: Toni Date: Fri, 22 Jul 2016 08:14:08 +0200 Subject: [PATCH 010/306] more cosmetic changes (whitespace) --- keyboards/satan/keymaps/iso_split_rshift/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index 17d4b3345..c7aad3fc0 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -116,7 +116,7 @@ const uint16_t PROGMEM fn_actions[] = { [6] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_DOWN), [7] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RIGHT), [8] = ACTION_FUNCTION(LAUNCH), - [9] = ACTION_FUNCTION(RGBLED_TOGGLE), + purely cosmetic changes [9] = ACTION_FUNCTION(RGBLED_TOGGLE), [10] = ACTION_FUNCTION(RGBLED_STEP_MODE), [11] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), [12] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), From 5631f1436c356fb9e09138f186981dc9b6cb43a2 Mon Sep 17 00:00:00 2001 From: Toni Date: Fri, 22 Jul 2016 11:17:57 +0200 Subject: [PATCH 011/306] converted funtions to QMK aliases --- .../satan/keymaps/iso_split_rshift/keymap.c | 55 ++++++++----------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index c7aad3fc0..545cb1ab1 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -27,13 +27,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' LEFT DWN RIGHT */ [_DEF] = KEYMAP_ISO_SPLITRSHIFT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ - F(2), 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, \ - F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, F(17), \ - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX),F(4), \ - KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, F(5), F(6), F(7)) , - - /* Keymap 1: F-and-vim Layer, modified with Space (Fn0) + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ + LT(_TAB,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, \ + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, CTL_T(KC_ENT), \ + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX), SFT_T(KC_UP), \ + KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, ALT_T(KC_LEFT), GUI_T(KC_DOWN), CTL_T(KC_RIGHT)), + /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) * ,-----------------------------------------------------------. * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete| * |-----------------------------------------------------------| @@ -53,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE,M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (Fn1) + /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (by holding tab) * ,-----------------------------------------------------------. * |WAKE| | | | | | | | | | | | |Insert| TAB+GRC = WAKE * |-----------------------------------------------------------| @@ -73,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), - /* Keymap 3: Split right shift Numpad toggle Layer (Fn2) + /* Keymap 3: Split right shift Numpad toggle Layer (by tapping the split rshift key) * ,-----------------------------------------------------------. * |RSET| | | | | | | 7| 8| 9| | | |Backsp | * |-----------------------------------------------------------| @@ -87,11 +86,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_SFX] = KEYMAP_ISO_SPLITRSHIFT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, \ - KC_TRNS, F(9), F(10), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \ - KC_TRNS, F(11), F(12), F(13), F(14), F(15), F(16), KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_SLSH, KC_TRNS, KC_UP, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT), + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, \ + KC_TRNS, F(2), F(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \ + KC_TRNS, F(4), F(5), F(6), F(7), F(8), F(9), KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_SLSH, KC_TRNS, KC_UP, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT), }; enum function_id { @@ -107,24 +106,16 @@ enum function_id { }; const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_TAP_KEY(_SPC, KC_SPACE), - [1] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ESC), - [2] = ACTION_LAYER_TAP_KEY(_TAB, KC_TAB), - [3] = ACTION_LAYER_TOGGLE(_SFX), - [4] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_UP), - [5] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_LEFT), - [6] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_DOWN), - [7] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RIGHT), - [8] = ACTION_FUNCTION(LAUNCH), - purely cosmetic changes [9] = ACTION_FUNCTION(RGBLED_TOGGLE), - [10] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [11] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [12] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [13] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [14] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [15] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [16] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), - [17] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ENT), + [1] = ACTION_FUNCTION(LAUNCH), + [2] = ACTION_FUNCTION(RGBLED_TOGGLE), + [3] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [4] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [5] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [6] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [7] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [8] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [9] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), + [10] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ENT), }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) From 34bce6f206e30c06f4b6ccd22d461690732ea607 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Sun, 24 Jul 2016 04:08:40 +0200 Subject: [PATCH 012/306] fixed stupid errors --- keyboards/planck/keymaps/bone2planck/keymap.c | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index ceb556425..4cac60ff9 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -3,10 +3,15 @@ #ifdef BACKLIGHT_ENABLE #include "backlight.h" #endif +#include "keymap_german.h" + +/* for intellisense, comment for building #include "..\..\..\..\quantum\keymap_extras\keymap_german.h" #include "..\..\..\..\quantum\keymap_common.h" #include "..\..\..\..\tmk_core\common\keycode.h" -#define _______ = KC_TRNS; +*/ + +#define _______ KC_TRNS /* This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout. It has "üäöß" as it is optimized for a mix of German & English. @@ -26,14 +31,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| F | V | Ü | Ä | Ö | Y | Z | , | . | K |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [0] = { { DE_Q, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_SS }, { LT(1,KC_TAB), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) }, { KC_LSFT, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, KC_LSFT }, - { KC_LGUI, KC_LCTL, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_NO, KC_RCTL, KC_ESC } + { KC_RGUI, KC_LCTL, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_RALT, KC_RCTL, KC_ESC } }, /* M1 Special Characters @@ -45,7 +50,7 @@ very ergonomic placement for coding * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| # | $ | | | ~ | € | + | % | " | ' | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [1] = { @@ -64,7 +69,7 @@ very easy to get used to & intuituve placement * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| | Tab | Ins | Enter| | 0 | 1 | 2 | 3 | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M3 | M2 | Space | M2 | M3 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M3 | M2 | Space | M2 | M3 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [2] = { @@ -83,12 +88,12 @@ accessed by sliding from M2 to M3 with thumb * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| 0 | 1 | 2 | 3 | ; | | Tab | Ins | Enter| |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M3 | | Space | | M3 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M3 | | Space | | M3 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [3] = { - { KC_NO, KC_NO, DE_7, DE_8 DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, + { KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, { _______, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______ }, { _______, DE_0, DE_1, DE_2, DE_3, DE_SCLN, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, _______ }, { _______, _______, _______, _______, KC_NO, _______, _______, KC_NO, _______, _______, _______, _______ } @@ -104,7 +109,7 @@ slide from m4 to m5 to access flipped version * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M5 | Space | M5 | M4 | | Ctrl | Esc | +* | GUI | Ctrl | Alt | M4 | M5 | Space | M5 | M4 | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [4] = { @@ -112,7 +117,7 @@ slide from m4 to m5 to access flipped version { KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO }, { _______, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, _______ }, { _______, _______, _______, _______, MO(5), _______, _______, MO(5), _______, _______, _______, _______ } -} +}, /* flipped Function & Media Keys @@ -123,13 +128,13 @@ slide from m4 to m5 to access flipped version * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| ² | F1 | F2 | F3 | | | Prev | Play | Next | |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | | M5 | Space | M5 | | | Ctrl | Esc | +* | GUI | Ctrl | Alt | | M5 | Space | M5 | | Alt | Ctrl | Esc | * `-----------------------------------------------------------------------------------' */ [5] = { { KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO }, - { KC_NO, KC_SQ3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO }, - { _______, KC_SQ2, KC_F1, KC_F2, KC_F3, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ }, + { KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO }, + { _______, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ }, { _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO, _______, _______, _______ } } }; From 58f092cf872a8f3f584b98445672f3e6809672c2 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Sun, 24 Jul 2016 04:52:35 +0200 Subject: [PATCH 013/306] moved ctrl --- keyboards/planck/keymaps/bone2planck/keymap.c | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 4cac60ff9..440de7f0d 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -5,7 +5,8 @@ #endif #include "keymap_german.h" -/* for intellisense, comment for building +// for intellisense, comment for building +/* #include "..\..\..\..\quantum\keymap_extras\keymap_german.h" #include "..\..\..\..\quantum\keymap_common.h" #include "..\..\..\..\tmk_core\common\keycode.h" @@ -31,14 +32,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| F | V | Ü | Ä | Ö | Y | Z | , | . | K |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M4 | M2 | Space | M2 | M4 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [0] = { - { DE_Q, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_SS }, - { LT(1,KC_TAB), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) }, - { KC_LSFT, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, KC_LSFT }, - { KC_RGUI, KC_LCTL, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_RALT, KC_RCTL, KC_ESC } + { DE_Q, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_SS }, + { LT(1,KC_TAB), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) }, + { KC_LSFT, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, KC_LSFT }, + { KC_LCTL, KC_RGUI, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_RALT, KC_ESC, KC_RCTL } }, /* M1 Special Characters @@ -50,7 +51,7 @@ very ergonomic placement for coding * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| # | $ | | | ~ | € | + | % | " | ' | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M2 | Space | M2 | M4 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M4 | M2 | Space | M2 | M4 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [1] = { @@ -69,7 +70,7 @@ very easy to get used to & intuituve placement * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| | Tab | Ins | Enter| | 0 | 1 | 2 | 3 | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M3 | M2 | Space | M2 | M3 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [2] = { @@ -88,7 +89,7 @@ accessed by sliding from M2 to M3 with thumb * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| 0 | 1 | 2 | 3 | ; | | Tab | Ins | Enter| |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M3 | | Space | | M3 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M3 | | Space | | M3 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ @@ -109,7 +110,7 @@ slide from m4 to m5 to access flipped version * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| | Prev | Play | Next | | ² | F1 | F2 | F3 | F10 |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | M4 | M5 | Space | M5 | M4 | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | M4 | M5 | Space | M5 | M4 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [4] = { @@ -128,7 +129,7 @@ slide from m4 to m5 to access flipped version * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shift| ² | F1 | F2 | F3 | | | Prev | Play | Next | |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| -* | GUI | Ctrl | Alt | | M5 | Space | M5 | | Alt | Ctrl | Esc | +* | Ctrl | GUI | Alt | | M5 | Space | M5 | | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [5] = { From 1bfd57e2345119d5c60e95cdf82e14eb81a3b027 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Sun, 24 Jul 2016 05:02:06 +0200 Subject: [PATCH 014/306] moved insert --- keyboards/planck/keymaps/bone2planck/keymap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 440de7f0d..6390e1289 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -64,19 +64,19 @@ very ergonomic placement for coding /* Navigation & Number Blocks very easy to get used to & intuituve placement * ,-----------------------------------------------------------------------------------. -* | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | | +* | | PgUp | Bksp | Up | DEL | PgDn | | 7 | 8 | 9 | | Ins | * |------+------+------+------+------+-------------+------+------+------+------+------| * | Tab | Home | Lft | Down | Right| End | . | 4 | 5 | 6 | , | Enter| * |------+------+------+------+------+------|------+------+------+------+------+------| -* | Shift| | Tab | Ins | Enter| | 0 | 1 | 2 | 3 | ; |Shift | +* | Shift| | Tab | | Enter| | 0 | 1 | 2 | 3 | ; |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Ctrl | GUI | Alt | M3 | M2 | Space | M2 | M3 | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [2] = { - { KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_NO }, + { KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_INS }, { KC_TAB, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_ENT }, - { _______, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, DE_0, DE_1, DE_2, DE_3, DE_SCLN, _______ }, + { _______, KC_NO, KC_TAB, KC_NO, KC_ENT, KC_NO, DE_0, DE_1, DE_2, DE_3, DE_SCLN, _______ }, { _______, _______, _______, MO(3), _______, _______, _______, _______, MO(3), _______, _______, _______ } }, @@ -94,7 +94,7 @@ accessed by sliding from M2 to M3 with thumb */ [3] = { - { KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, + { KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, { _______, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______ }, { _______, DE_0, DE_1, DE_2, DE_3, DE_SCLN, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, _______ }, { _______, _______, _______, _______, KC_NO, _______, _______, KC_NO, _______, _______, _______, _______ } From 4e0bf283f695b4b584bb62d31bb4cd6d7d1f2203 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Sun, 24 Jul 2016 05:11:07 +0200 Subject: [PATCH 015/306] added readme --- keyboards/planck/keymaps/bone2planck/readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 keyboards/planck/keymaps/bone2planck/readme.md diff --git a/keyboards/planck/keymaps/bone2planck/readme.md b/keyboards/planck/keymaps/bone2planck/readme.md new file mode 100644 index 000000000..3c425efdd --- /dev/null +++ b/keyboards/planck/keymaps/bone2planck/readme.md @@ -0,0 +1,8 @@ +check keymap.c to the layers + +This Layout tries to emulate the Bone2 Variant of Neo2, and is intended to be used with a German QWERTZ Softwarelayout. +It has "üäöß" as it is optimized for a mix of German & English. +My favourite features are the placement of the special characters often used for programming right on the home row +and the number & navigation block combo, so you never have to move your hands from their home position. + +Bone2 wiki page: http://wiki.neo-layout.org/wiki/Bone \ No newline at end of file From 3e462fac3101955ad3561a104c24ca6125e85acd Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Mon, 25 Jul 2016 20:21:32 +0200 Subject: [PATCH 016/306] added missing F keys in flipped layer --- keyboards/planck/keymaps/bone2planck/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 6390e1289..5abae692c 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -123,19 +123,19 @@ slide from m4 to m5 to access flipped version /* flipped Function & Media Keys * ,-----------------------------------------------------------------------------------. -* | | | F7 | F8 | F9 | | | Print|Scroll| Pause| | | +* | | | F7 | F8 | F9 | F12 | | Print|Scroll| Pause| | | * |------+------+------+------+------+-------------+------+------+------+------+------| -* | | ³ | F4 | F5 | F6 | | | Mute | Vol- | Vol+ | | | +* | | ³ | F4 | F5 | F6 | F11 | | Mute | Vol- | Vol+ | | | * |------+------+------+------+------+------|------+------+------+------+------+------| -* | Shift| ² | F1 | F2 | F3 | | | Prev | Play | Next | |Shift | +* | Shift| ² | F1 | F2 | F3 | F10 | | Prev | Play | Next | |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Ctrl | GUI | Alt | | M5 | Space | M5 | | Alt | Esc | Ctrl | * `-----------------------------------------------------------------------------------' */ [5] = { - { KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO }, - { KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_NO, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO }, - { _______, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ }, + { KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F12, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_NO }, + { KC_NO, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO }, + { _______, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, _______ }, { _______, _______, _______, KC_NO, _______, _______, _______, _______, KC_NO, _______, _______, _______ } } }; From 8244fa40ccd89ad16ddc00210d5b1b169fb655c2 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Tue, 26 Jul 2016 14:58:17 +0200 Subject: [PATCH 017/306] added config.h, and missing Ins of filpped navigation layer --- keyboards/planck/keymaps/bone2planck/config.h | 90 +++++++++++++++++++ keyboards/planck/keymaps/bone2planck/keymap.c | 6 +- 2 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 keyboards/planck/keymaps/bone2planck/config.h diff --git a/keyboards/planck/keymaps/bone2planck/config.h b/keyboards/planck/keymaps/bone2planck/config.h new file mode 100644 index 000000000..ba157db92 --- /dev/null +++ b/keyboards/planck/keymaps/bone2planck/config.h @@ -0,0 +1,90 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#define PREVENT_STUCK_MODIFIERS + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define MANUFACTURER Ortholinear Keyboards +#define PRODUCT The Planck Keyboard +#define DESCRIPTION A compact ortholinear keyboard + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* Planck PCB default pin-out */ +#define MATRIX_ROW_PINS { D0, D5, B5, B6 } +#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } +#define UNUSED_PINS + +#define BACKLIGHT_PIN B7 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#ifdef SUBPROJECT_rev3 + #include "rev3/config.h" +#endif +#ifdef SUBPROJECT_rev4 + #include "rev4/config.h" +#endif + +#endif diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c index 5abae692c..7db3197a7 100644 --- a/keyboards/planck/keymaps/bone2planck/keymap.c +++ b/keyboards/planck/keymaps/bone2planck/keymap.c @@ -5,7 +5,7 @@ #endif #include "keymap_german.h" -// for intellisense, comment for building +// for intellisense, has to be commented for building /* #include "..\..\..\..\quantum\keymap_extras\keymap_german.h" #include "..\..\..\..\quantum\keymap_common.h" @@ -83,7 +83,7 @@ very easy to get used to & intuituve placement /* Flipped Navigation & Number Blocks for one handed use accessed by sliding from M2 to M3 with thumb * ,-----------------------------------------------------------------------------------. -* | | | 7 | 8 | 9 | | PgUp | Bksp | Up | DEL | PgDn | | +* | Ins | | 7 | 8 | 9 | | PgUp | Bksp | Up | DEL | PgDn | | * |------+------+------+------+------+-------------+------+------+------+------+------| * | Tab | . | 4 | 5 | 6 | , | Home | Left | Down | Right| End | Enter| * |------+------+------+------+------+------|------+------+------+------+------+------| @@ -94,7 +94,7 @@ accessed by sliding from M2 to M3 with thumb */ [3] = { - { KC_NO, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, + { KC_INS, KC_NO, DE_7, DE_8, DE_9, KC_NO, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NO }, { _______, DE_DOT, DE_4, DE_5, DE_6, DE_COMM, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______ }, { _______, DE_0, DE_1, DE_2, DE_3, DE_SCLN, KC_NO, KC_TAB, KC_INS, KC_ENT, KC_NO, _______ }, { _______, _______, _______, _______, KC_NO, _______, _______, KC_NO, _______, _______, _______, _______ } From a41a7a9100b9f4c6bfdf49b39b05e626ffd95397 Mon Sep 17 00:00:00 2001 From: Jason Janse van Rensburg Date: Tue, 26 Jul 2016 16:19:34 +0200 Subject: [PATCH 018/306] include base config.h instead of copying it --- keyboards/planck/keymaps/bone2planck/config.h | 93 +------------------ 1 file changed, 5 insertions(+), 88 deletions(-) diff --git a/keyboards/planck/keymaps/bone2planck/config.h b/keyboards/planck/keymaps/bone2planck/config.h index ba157db92..60aff6db0 100644 --- a/keyboards/planck/keymaps/bone2planck/config.h +++ b/keyboards/planck/keymaps/bone2planck/config.h @@ -1,90 +1,7 @@ -/* -Copyright 2012 Jun Wako - -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 . -*/ - -#ifndef CONFIG_H -#define CONFIG_H - -#define PREVENT_STUCK_MODIFIERS - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define MANUFACTURER Ortholinear Keyboards -#define PRODUCT The Planck Keyboard -#define DESCRIPTION A compact ortholinear keyboard - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 12 - -/* Planck PCB default pin-out */ -#define MATRIX_ROW_PINS { D0, D5, B5, B6 } -#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } -#define UNUSED_PINS - -#define BACKLIGHT_PIN B7 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -#define BACKLIGHT_LEVELS 3 - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCING_DELAY 5 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* key combination for command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#ifdef SUBPROJECT_rev3 - #include "rev3/config.h" -#endif -#ifdef SUBPROJECT_rev4 - #include "rev4/config.h" +#ifndef CONFIG_USER_H +#define CONFIG_USER_H #endif -#endif +#include "../../config.h" + +#define PREVENT_STUCK_MODIFIERS \ No newline at end of file From 6ff8a8152035a32f6521d09d91594eeba269486d Mon Sep 17 00:00:00 2001 From: Toni Date: Wed, 27 Jul 2016 21:11:55 +0200 Subject: [PATCH 019/306] first try ar adding the parenthesis mess for german iso --- keyboards/satan/keymaps/iso_split_rshift/keymap.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index 545cb1ab1..4bd990d37 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -32,25 +32,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, CTL_T(KC_ENT), \ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX), SFT_T(KC_UP), \ KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, ALT_T(KC_LEFT), GUI_T(KC_DOWN), CTL_T(KC_RIGHT)), + /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) * ,-----------------------------------------------------------. * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete| * |-----------------------------------------------------------| - * | |Paus| Up| | | | | | | | | | | | + * | |Paus| Up| [ | ] | | | | ( | ) | | | | | * |-----------------------------------------------------------| * | |Lft|Dwn|Rgt| | | |Left|Down|Right|Up| | PLAY | * |-----------------------------------------------------------| - * | | | | | | |M0 | | | | | Vol+ | | + * | | | | < | > | |M0 | | { | } | | Vol+ | | * |-----------------------------------------------------------| * | | | | |Alt |Prev|Vol-|Next| * `-----------------------------------------------------------' */ [_SPC] = KEYMAP_ISO_SPLITRSHIFT( - KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ - KC_TRNS, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPACE,M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), + KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ + KC_TRNS, KC_PAUS, KC_UP, RALT(KC_8), RALT(KC_9), KC_TRNS, KC_TRNS, LSFT(KC_8), LSFT(KC_9), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUBS, LSFT(KC_NUBS), KC_SPACE,M(0), RALT(KC_7), RALT(KC_0), KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (by holding tab) * ,-----------------------------------------------------------. From 684d869fab8bf513b2939ea544068f115b9d7b85 Mon Sep 17 00:00:00 2001 From: Toni Date: Thu, 28 Jul 2016 11:58:53 +0200 Subject: [PATCH 020/306] added homerow-ish brackets --- keyboards/satan/keymaps/iso_split_rshift/keymap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index 4bd990d37..7af7c14bd 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| Return | * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn2| RShift is UP + * |Sft | < | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn2| RShift is UP * |-----------------------------------------------------------| * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| Gui Menu, RCtrl is * `-----------------------------------------------------------' LEFT DWN RIGHT @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * | |Lft|Dwn|Rgt| | | |Left|Down|Right|Up| | PLAY | * |-----------------------------------------------------------| - * | | | | < | > | |M0 | | { | } | | Vol+ | | + * | | | | | < | > | |M0 | | { | } | | Vol+ | | * |-----------------------------------------------------------| * | | | | |Alt |Prev|Vol-|Next| * `-----------------------------------------------------------' @@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * | | | | | | | |Pos1|PgDn|PgUp|End| |Retrn | * |-----------------------------------------------------------| - * | | | | | | |AF2| | | | | PgUp | | + * | | | | | | | |AF2| | | | | PgUp | | * |-----------------------------------------------------------| * | | | | |Alt |Pos1|PgDn|End | * `-----------------------------------------------------------' @@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * | | L | L | | | | | 1 | 2 | 3 | | | Return | * |-----------------------------------------------------------| - * | | L | L | L | L | L | L | | 0 | | /| Up | | All "L"s represent + * | | | L | L | L | L | L | L | | 0 | | /| Up | | All "L"s represent * |-----------------------------------------------------------| LED controlling * |Ctrl|Win |Alt | |Alt |Left|Down|Right| * `-----------------------------------------------------------' From dcf672223f20412ae79eb73a58d80ccbb0bd5c31 Mon Sep 17 00:00:00 2001 From: Toni Date: Fri, 5 Aug 2016 20:53:58 +0200 Subject: [PATCH 021/306] enterfn / enterisctrl on hold added --- .../satan/keymaps/iso_split_rshift/keymap.c | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index 7af7c14bd..3ee141eb4 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------. * |Grv| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | * |-----------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | Tab is Fn1 !! + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | Tab is Fn1 * |-----------------------------------------------------------| * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '| Return | * |-----------------------------------------------------------| @@ -107,15 +107,15 @@ enum function_id { }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_FUNCTION(LAUNCH), - [2] = ACTION_FUNCTION(RGBLED_TOGGLE), - [3] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [4] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [5] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [6] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [7] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [8] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [9] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), + [1] = ACTION_FUNCTION(LAUNCH), + [2] = ACTION_FUNCTION(RGBLED_TOGGLE), + [3] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [4] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [5] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [6] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [7] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [8] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [9] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), [10] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ENT), }; From b5fcb5a7447424a160b86b4d2c0d2ea29ae1d813 Mon Sep 17 00:00:00 2001 From: Toni Date: Sun, 7 Aug 2016 11:37:28 +0200 Subject: [PATCH 022/306] new variant with the curly braces on tab layer --- .../satan/keymaps/iso_split_rshift/keymap.c | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index 3ee141eb4..71c205a48 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -27,11 +27,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' LEFT DWN RIGHT */ [_DEF] = KEYMAP_ISO_SPLITRSHIFT( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ - LT(_TAB,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, \ - CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, CTL_T(KC_ENT), \ - KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX), SFT_T(KC_UP), \ - KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, ALT_T(KC_LEFT), GUI_T(KC_DOWN), CTL_T(KC_RIGHT)), + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \ + LT(_TAB,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, \ + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, CTL_T(KC_ENT), \ + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, TG(_SFX), SFT_T(KC_UP), \ + KC_LCTL, KC_LGUI, KC_LALT, LT(_SPC,KC_SPACE), KC_RALT, ALT_T(KC_LEFT), GUI_T(KC_DOWN), CTL_T(KC_RIGHT)), /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) * ,-----------------------------------------------------------. @@ -39,27 +39,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * | |Paus| Up| [ | ] | | | | ( | ) | | | | | * |-----------------------------------------------------------| - * | |Lft|Dwn|Rgt| | | |Left|Down|Right|Up| | PLAY | + * | |Lft|Dwn|Rgt| | |Left|Down|Right|Up| | | PLAY | * |-----------------------------------------------------------| - * | | | | | < | > | |M0 | | { | } | | Vol+ | | + * | | | | | < | > | |M0 | | | | | Vol+ | | * |-----------------------------------------------------------| * | | | | |Alt |Prev|Vol-|Next| * `-----------------------------------------------------------' */ [_SPC] = KEYMAP_ISO_SPLITRSHIFT( - KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ - KC_TRNS, KC_PAUS, KC_UP, RALT(KC_8), RALT(KC_9), KC_TRNS, KC_TRNS, LSFT(KC_8), LSFT(KC_9), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUBS, LSFT(KC_NUBS), KC_SPACE,M(0), RALT(KC_7), RALT(KC_0), KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), + KC_PSCR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ + KC_TRNS, KC_PAUS, KC_UP, RALT(KC_8), RALT(KC_9), KC_TRNS, KC_TRNS, LSFT(KC_8), LSFT(KC_9), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUBS, LSFT(KC_NUBS), KC_SPACE,M(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), /* Keymap 2: Tab Layer w/ vim pageup, modified with Tab (by holding tab) * ,-----------------------------------------------------------. * |WAKE| | | | | | | | | | | | |Insert| TAB+GRC = WAKE * |-----------------------------------------------------------| - * | | | | | | | | | | | | | | | + * | | | | | | | | | { | } | | | | | * |-----------------------------------------------------------| - * | | | | | | | |Pos1|PgDn|PgUp|End| |Retrn | + * | | | | | | |Pos1|PgDn|PgUp|End| | |Retrn | * |-----------------------------------------------------------| * | | | | | | | |AF2| | | | | PgUp | | * |-----------------------------------------------------------| @@ -67,11 +67,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_TAB] = KEYMAP_ISO_SPLITRSHIFT( - KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), + KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_7), RALT(KC_0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), /* Keymap 3: Split right shift Numpad toggle Layer (by tapping the split rshift key) * ,-----------------------------------------------------------. @@ -87,11 +87,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_SFX] = KEYMAP_ISO_SPLITRSHIFT( - RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, \ - KC_TRNS, F(2), F(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \ - KC_TRNS, F(4), F(5), F(6), F(7), F(8), F(9), KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_SLSH, KC_TRNS, KC_UP, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT), + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, \ + KC_TRNS, F(2), F(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, KC_NO, KC_ENT, \ + KC_TRNS, F(4), F(5), F(6), F(7), F(8), F(9), KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_SLSH, KC_TRNS, KC_UP, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT), }; enum function_id { From f41c2e6863f2ebf55311051cdead743683846a49 Mon Sep 17 00:00:00 2001 From: Felix Uhl Date: Mon, 8 Aug 2016 17:53:08 +0200 Subject: [PATCH 023/306] Update TMK_README.md updated link to non-existent build.md file --- doc/TMK_README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/TMK_README.md b/doc/TMK_README.md index f3d96717a..0c75a0e27 100644 --- a/doc/TMK_README.md +++ b/doc/TMK_README.md @@ -113,7 +113,7 @@ Third party libraries like LUFA, PJRC and V-USB have their own license respectiv Build Firmware and Program Controller ------------------------------------- -See [doc/build.md](tmk_core/doc/build.md), or the readme in the particular keyboards/* folder. +See [doc/BUILD_GUIDE.md](tmk_core/doc/BUILD_GUIDE.md), or the readme in the particular keyboards/* folder. From 76cd7c5444471c7fbf0f648088cac13f4c79af57 Mon Sep 17 00:00:00 2001 From: Corey Finley Date: Fri, 5 Aug 2016 09:08:55 -0400 Subject: [PATCH 024/306] Adds keymap based on Kinesis advantage --- keyboards/preonic/keymaps/kinesis/Makefile | 27 ++++ keyboards/preonic/keymaps/kinesis/config.h | 92 +++++++++++++ keyboards/preonic/keymaps/kinesis/keymap.c | 144 ++++++++++++++++++++ keyboards/preonic/keymaps/kinesis/readme.md | 1 + 4 files changed, 264 insertions(+) create mode 100644 keyboards/preonic/keymaps/kinesis/Makefile create mode 100644 keyboards/preonic/keymaps/kinesis/config.h create mode 100644 keyboards/preonic/keymaps/kinesis/keymap.c create mode 100644 keyboards/preonic/keymaps/kinesis/readme.md diff --git a/keyboards/preonic/keymaps/kinesis/Makefile b/keyboards/preonic/keymaps/kinesis/Makefile new file mode 100644 index 000000000..6c8d2897c --- /dev/null +++ b/keyboards/preonic/keymaps/kinesis/Makefile @@ -0,0 +1,27 @@ + + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = yes # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +TAP_DANCE_ENABLE = yes + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/preonic/keymaps/kinesis/config.h b/keyboards/preonic/keymaps/kinesis/config.h new file mode 100644 index 000000000..086baa84f --- /dev/null +++ b/keyboards/preonic/keymaps/kinesis/config.h @@ -0,0 +1,92 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6061 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Ortholinear Keyboards +#define PRODUCT The Preonic Keyboard +#define DESCRIPTION A compact ortholinear keyboard + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 12 + +/* Planck PCB default pin-out */ +#define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 } +#define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7 } +#define UNUSED_PINS + +#define BACKLIGHT_PIN B7 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 3 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* ws2812 RGB LED */ +#define RGB_DI_PIN D1 +#define RGBLIGHT_TIMER +#define RGBLED_NUM 28 // Number of LEDs +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +#define TAPPING_TERM 200 + +/* disable debug print */ +// #define NO_DEBUG + +/* disable print */ +// #define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/preonic/keymaps/kinesis/keymap.c b/keyboards/preonic/keymaps/kinesis/keymap.c new file mode 100644 index 000000000..1cd6eb993 --- /dev/null +++ b/keyboards/preonic/keymaps/kinesis/keymap.c @@ -0,0 +1,144 @@ +#include "preonic.h" +#include "action_layer.h" +#include "eeconfig.h" +#ifdef AUDIO_ENABLE +#include "audio.h" +#endif + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _FN 1 +#define _ULCK 2 + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO +#define HYP_TIC ALL_T(KC_GRV) +#define EQ_LOCK TD(TD_EQ_LOCK) +#define MIN_ULK TD(TD_MIN_ULOCK) + +//Tap Dance Declarations +enum { + TD_EQ_LOCK = 0, + TD_MIN_ULOCK +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | \ | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | FN | ` | Alt | LGUI | Back | ESC |ENTER | SPCE | RGUI | [ | ] | FN | + * `-----------------------------------------------------------------------------------' + */ + [_QWERTY] = { + {EQ_LOCK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, MIN_ULK }, + {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_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC }, + {MO(_FN), HYP_TIC, KC_LALT, KC_LGUI, KC_BSPC, KC_ESC, KC_ENT, KC_SPC, KC_RGUI, KC_LBRC, KC_RBRC, MO(_FN) } + }, + + /* Fn + * ,-----------------------------------------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | VOL- | VOL+ | MUTE |BLtogg| | LEFT | DOWN | UP | RGHT | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | BL- | BL+ |Aud on|AudOff|AGnorm|AGswap| | | | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|MusOff| | |PLY/PS| | PREV | NEXT | | + * `-----------------------------------------------------------------------------------' + */ + [_FN] = { + {_______, 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_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______ }, + {_______, KC_VOLD, KC_VOLU, KC_MUTE, BL_TOGG, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______ }, + {_______, BL_DEC, BL_INC, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______ }, + {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, _______, _______, KC_MPLY, _______, KC_MPRV, KC_MNXT, _______ } + } + +}; + +float tone_startup[][2] = { + {NOTE_B5, 20}, + {NOTE_B6, 8}, + {NOTE_DS6, 20}, + {NOTE_B6, 8} +}; + +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +/*bool process_record_user(uint16_t keycode, keyrecord_t *record) {*/ + /*return true;*/ + /*[>switch (keycode) {<]*/ + /*[>case QWERTY:<]*/ + /*[>return true;<]*/ + /*[>}<]*/ +/*};*/ + +void matrix_init_user(void) { + startup_user(); +} + +void startup_user() +{ + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); +} + +void shutdown_user() +{ + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); + _delay_ms(150); + stop_all_notes(); +} + +void music_on_user(void) +{ + music_scale_user(); +} + +void music_scale_user(void) +{ + PLAY_NOTE_ARRAY(music_scale, false, 0); +} + + +const qk_tap_dance_action_t tap_dance_actions[] = { + //Tap once for equal, twice for hyper + X (alfred lock) + [TD_EQ_LOCK] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, HYPR(KC_X)), + //Tap once for minus, twice for time.heals.nothing + [TD_MIN_ULOCK] = ACTION_TAP_DANCE_DOUBLE(KC_MINS, M(_ULCK)) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _ULCK: + if (record->event.pressed) { + /* time.heals.nothing */ + return MACRO( I(220), T(T), T(I), T(M), T(E), T(DOT), T(H), T(E), T(A), T(L), T(S), T(DOT), T(N), T(O), T(T), T(H), T(I), T(N), T(G), END); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboards/preonic/keymaps/kinesis/readme.md b/keyboards/preonic/keymaps/kinesis/readme.md new file mode 100644 index 000000000..e911968dd --- /dev/null +++ b/keyboards/preonic/keymaps/kinesis/readme.md @@ -0,0 +1 @@ +# The default Preonic layout - largely based on the Planck's \ No newline at end of file From 552399df4cef88463ea8ac40822d776d0fb90e18 Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Mon, 8 Aug 2016 18:34:08 -0700 Subject: [PATCH 025/306] Adding my own keymaps to the following keyboards: Planck, Preonic, Atreus, Ergodox --- keyboards/atreus/keymaps/xyverz/keymap.c | 89 ++++ keyboards/ergodox/keymaps/xyverz/dvorak.png | Bin 0 -> 87314 bytes keyboards/ergodox/keymaps/xyverz/keymap.c | 184 +++++++++ keyboards/ergodox/keymaps/xyverz/old_keymap.c | 311 ++++++++++++++ keyboards/ergodox/keymaps/xyverz/readme.md | 10 + keyboards/planck/keymaps/xyverz/README.md | 2 + keyboards/planck/keymaps/xyverz/keymap.c | 379 ++++++++++++++++++ keyboards/planck/keymaps/xyverz/makefile.mk | 2 + keyboards/preonic/keymaps/xyverz/README.md | 49 +++ keyboards/preonic/keymaps/xyverz/keymap.c | 342 ++++++++++++++++ keyboards/preonic/keymaps/xyverz/makefile.mk | 1 + 11 files changed, 1369 insertions(+) create mode 100644 keyboards/atreus/keymaps/xyverz/keymap.c create mode 100644 keyboards/ergodox/keymaps/xyverz/dvorak.png create mode 100644 keyboards/ergodox/keymaps/xyverz/keymap.c create mode 100644 keyboards/ergodox/keymaps/xyverz/old_keymap.c create mode 100644 keyboards/ergodox/keymaps/xyverz/readme.md create mode 100644 keyboards/planck/keymaps/xyverz/README.md create mode 100644 keyboards/planck/keymaps/xyverz/keymap.c create mode 100644 keyboards/planck/keymaps/xyverz/makefile.mk create mode 100644 keyboards/preonic/keymaps/xyverz/README.md create mode 100644 keyboards/preonic/keymaps/xyverz/keymap.c create mode 100644 keyboards/preonic/keymaps/xyverz/makefile.mk diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..447fbcf10 --- /dev/null +++ b/keyboards/atreus/keymaps/xyverz/keymap.c @@ -0,0 +1,89 @@ +// This is the personal keymap of Ian Sterling (@xyverz). It is based on the keymap by +// Chris Gerber (@gerbercj), with the addition of persistent layers like the Planck and +// Preonic keyboards by Jack Humbert. + +#include "atreus.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _DV 0 +#define _QW 1 +#define _CM 2 +#define _L1 3 +#define _L2 4 + +// Macro name shortcuts +#define DVORAK M(_DV) +#define QWERTY M(_QW) +#define COLEMAK M(_CM) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DV] = { /* Dvorak */ + {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_NO, KC_F, KC_G, KC_C, KC_R, KC_L }, + {KC_A, KC_O, KC_E, KC_U, KC_I, KC_NO, KC_D, KC_H, KC_T, KC_N, KC_S }, + {SFT_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, CTL_T(KC_DEL), KC_B, KC_M, KC_W, KC_V, SFT_T(KC_Z) }, + {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_SLSH, KC_EQL} + }, + [_QW] = { /* Qwerty */ + {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P }, + {KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, + {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) }, + {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT} + }, + [_CM] = { /* Colemak */ + {KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, + {KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O }, + {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_K, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) }, + {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT} + }, + [_L1] = { /* LAYER 1 */ + {KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 }, + {KC_TAB, KC_INS, KC_UP, KC_DEL, KC_HOME, KC_NO, KC_PGUP, KC_MUTE, KC_VOLD, KC_VOLU, KC_EQL }, + {KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_LCTL, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, KC_BSLS}, + {KC_TRNS, KC_GRV, KC_LGUI, KC_TRNS, KC_DEL, KC_LALT, KC_SPC, KC_TRNS, KC_LBRC, KC_RBRC, KC_ENT } + }, + [_L2] = { /* LAYER 2 */ + {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 }, + {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12 }, + {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, RESET } + } +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DV: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DV); + } + break; + case _QW: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QW); + } + break; + case _CM: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_CM); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboards/ergodox/keymaps/xyverz/dvorak.png b/keyboards/ergodox/keymaps/xyverz/dvorak.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8316309592e3e8098b198b0db14916741a5d75 GIT binary patch literal 87314 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

@H>k@RvK-?1FwxvLtU}> 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

&*o!rsa0H*YyXk_nSzTx>y2Q5oQ-RE7mRnBzrV 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 literal 0 HcmV?d00001 diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..dd39dbacb --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/keymap.c @@ -0,0 +1,184 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | \ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, + KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1), + KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO), + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, + TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, + KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS, + MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, + KC_UP, KC_DOWN,KC_SLSH,KC_EQL, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,KC_TAB, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboards/ergodox/keymaps/xyverz/old_keymap.c b/keyboards/ergodox/keymaps/xyverz/old_keymap.c new file mode 100644 index 000000000..e082372f9 --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/old_keymap.c @@ -0,0 +1,311 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" + +extern keymap_config_t keymap_config; + +#define _DVORAK 0 // default layer +#define _QWERTY 1 // symbols +#define _LOWER 2 +#define _RAISE 3 +#define _ADJUST 16 + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + * Keymap 0: Dvorak + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ] | 1 | 2 | 3 | 4 | 5 | Esc | | ESC | 6 | 7 | 8 | 9 | 0 | [ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | ' | , | . | Y | Y |(Null)| |(Null)| F | G | C | R | L | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | + * |--------+------+------+------+------+------| FN1 | | FN2 |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCtr | LAlt | | Ralt | RCtr | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + * + * + ***************************************************************************************************** + * This Dvorak keyboard layout stems from my early Kinesis years, using the Contour PS/2 with a Dvorak + * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the cor- + * ner keys. I've decided to continue using this layout with my ErgoDox. + */ + + [_DVORAK] = ( + KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, LOWER, + KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, + KC_LCTL, KC_LALT, + KC_HOME, + KC_BSPC, KC_DEL, KC_END, + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, + NO, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, + KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, + RAISE, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, + KC_UP, KC_DOWN, KC_SLSH, KC_EQL, KC_RGUI, + KC_RALT, KC_RCTL, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC +), + +/* Keymap 1: QWERTY + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +[_QWERTY] = ( + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LOWER, + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + {ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), + RAISE, KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,KC_TAB, KC_ENT +), + + +/* Lower 2: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[_LOWER] = ( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, + KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), + +/* Raise 3: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[_RAISE] = ( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), + +/* Adjust 16: Lower + Raise + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | Reset| | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | |------| |------| |Dvorak|Qwerty| | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[_ADJUST] = ( + KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, QWERTY, DVORAK, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), + +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DVORAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DVORAK); + } + break; + case _QWERTY: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QWERTY); + } + break; + case _LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case _RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + + } + return MACRO_NONE; +}; + + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md new file mode 100644 index 000000000..8f6dba45e --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -0,0 +1,10 @@ +# ErgoDox EZ Default Configuration + +## Changelog + +* Feb 2, 2016 (V1.1): + * Made the right-hand quote key double as Cmd/Win on hold. So you get ' when you tap it, " when you tap it with Shift, and Cmd or Win when you hold it. You can then use it as a modifier, or just press and hold it for a moment (and then let go) to send a single Cmd or Win keystroke (handy for opening the Start menu on Windows). + +This is what we ship with out of the factory. :) The image says it all: + +![Default](default_highres.png) diff --git a/keyboards/planck/keymaps/xyverz/README.md b/keyboards/planck/keymaps/xyverz/README.md new file mode 100644 index 000000000..b0054fc30 --- /dev/null +++ b/keyboards/planck/keymaps/xyverz/README.md @@ -0,0 +1,2 @@ +# Zrevyx's Planck Layout + diff --git a/keyboards/planck/keymaps/xyverz/keymap.c b/keyboards/planck/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..9ac78ec15 --- /dev/null +++ b/keyboards/planck/keymaps/xyverz/keymap.c @@ -0,0 +1,379 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "planck.h" +#include "action_layer.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _MUSIC 5 +#define _PLOVER 6 +#define _ADJUST 16 + +// Macro name shortcuts +#define QWERTY M(_QWERTY) +#define COLEMAK M(_COLEMAK) +#define DVORAK M(_DVORAK) +#define LOWER M(_LOWER) +#define RAISE M(_RAISE) +#define M_BL 5 +#define AUD_OFF M(6) +#define AUD_ON M(7) +#define MUS_OFF M(8) +#define MUS_ON M(9) +#define VC_IN M(10) +#define VC_DE M(11) +#define PLOVER M(12) +#define EXT_PLV M(13) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = { + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = { + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | / | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | - | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = { + {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH}, + {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS}, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT}, + {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = { + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______}, + {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______}, + {M(M_BL), _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______}, + {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______}, + {M(M_BL), _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} +}, + +/* Music (reserved for process_action_user) + * + */ +[_MUSIC] = { + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | E | U | | | | + * `-----------------------------------------------------------------------------------' + */ + +[_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff| | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AUD_ON, AUD_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, + {_______, VC_DE, VC_IN, MUS_ON, MUS_OFF, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +} + + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +#ifdef AUDIO_ENABLE +float tone_startup[][2] = { + {440.0*pow(2.0,(31)/12.0), 12}, + {440.0*pow(2.0,(28)/12.0), 8}, + {440.0*pow(2.0,(19)/12.0), 8}, + {440.0*pow(2.0,(24)/12.0), 8}, + {440.0*pow(2.0,(28)/12.0), 20} +}; + +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_dvorak[][2] = SONG(DVORAK_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); +float tone_plover[][2] = SONG(PLOVER_SOUND); +float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); + +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); +float goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + break; + case _COLEMAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + persistant_default_layer_set(1UL<<_COLEMAK); + } + break; + case _DVORAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_dvorak, false, 0); + #endif + persistant_default_layer_set(1UL<<_DVORAK); + } + break; + case _LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case _RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case M_BL: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + break; + case 6: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + audio_off(); + #endif + } + break; + case 7: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + audio_on(); + PLAY_NOTE_ARRAY(tone_startup, false, 0); + #endif + } + break; + case 8: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + layer_off(_MUSIC); + stop_all_notes(); + #endif + } + break; + case 9: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(music_scale, false, 0); + layer_on(_MUSIC); + #endif + } + break; + case 10: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + voice_iterate(); + PLAY_NOTE_ARRAY(music_scale, false, 0); + #endif + } + break; + case 11: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + voice_deiterate(); + PLAY_NOTE_ARRAY(music_scale, false, 0); + #endif + } + break; + case 12: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_plover, false, 0); + #endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_off(_MUSIC); + stop_all_notes(); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + break; + case 13: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); + #endif + layer_off(_PLOVER); + } + break; + + } + return MACRO_NONE; +}; + +void matrix_init_user(void) { + #ifdef AUDIO_ENABLE + _delay_ms(20); // stops the tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); + #endif +} + +#ifdef AUDIO_ENABLE +void play_goodbye_tone() +{ + PLAY_NOTE_ARRAY(goodbye, false, 0); + _delay_ms(150); +} + +uint8_t starting_note = 0x0C; +int offset = 7; + +void process_action_user(keyrecord_t *record) { + + if (IS_LAYER_ON(_MUSIC)) { + if (record->event.pressed) { + play_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); + } else { + stop_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); + } + } + +} +#endif diff --git a/keyboards/planck/keymaps/xyverz/makefile.mk b/keyboards/planck/keymaps/xyverz/makefile.mk new file mode 100644 index 000000000..99fbfbd0b --- /dev/null +++ b/keyboards/planck/keymaps/xyverz/makefile.mk @@ -0,0 +1,2 @@ +AUDIO_ENABLE = yes +NKRO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/preonic/keymaps/xyverz/README.md b/keyboards/preonic/keymaps/xyverz/README.md new file mode 100644 index 000000000..9c23c5b9f --- /dev/null +++ b/keyboards/preonic/keymaps/xyverz/README.md @@ -0,0 +1,49 @@ +# The default Preonic layout - largely based on the Planck's + +## QWERTY Layer: + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | - | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter | + * `-----------------------------------------------------------------------------------' + */ + +## LOWER Layer: + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ + +## RAISE Layer: + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ \ No newline at end of file diff --git a/keyboards/preonic/keymaps/xyverz/keymap.c b/keyboards/preonic/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..adc7392e5 --- /dev/null +++ b/keyboards/preonic/keymaps/xyverz/keymap.c @@ -0,0 +1,342 @@ +#include "preonic.h" +#include "action_layer.h" +#include "eeconfig.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _MUSIC 5 +#define _ADJUST 16 + +// Macro name shortcuts +#define QWERTY M(_QWERTY) +#define COLEMAK M(_COLEMAK) +#define DVORAK M(_DVORAK) +#define LOWER M(_LOWER) +#define RAISE M(_RAISE) +#define M_BL 5 +#define AUD_OFF M(6) +#define AUD_ON M(7) +#define MUS_OFF M(8) +#define MUS_ON M(9) +#define VC_IN M(10) +#define VC_DE M(11) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | - | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = { + {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_DEL}, + {KC_MINS, 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_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_SPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } +}, + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | " | , | . | P | Y | F | G | C | R | L | / | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | - | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = { + {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_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH}, + {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS}, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT}, + {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_SPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL}, + {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______}, + {M(M_BL), _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL}, + {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______}, + {M(M_BL), _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} +}, + +/* Music (reserved for process_action_user) + * + */ +[_MUSIC] = { + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Audoff|Aud on|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Musoff|Mus on| | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AUD_ON, AUD_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______}, + {_______, VC_DE, VC_IN, MUS_ON, MUS_OFF, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +} + + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +#ifdef AUDIO_ENABLE +float start_up[][2] = { + {440.0*pow(2.0,(14)/12.0), 20}, + {440.0*pow(2.0,(26)/12.0), 8}, + {440.0*pow(2.0,(18)/12.0), 20}, + {440.0*pow(2.0,(26)/12.0), 8} +}; + +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_dvorak[][2] = SONG(DVORAK_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); + +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); +float goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + break; + case _COLEMAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + persistant_default_layer_set(1UL<<_COLEMAK); + } + break; + case _DVORAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_dvorak, false, 0); + #endif + persistant_default_layer_set(1UL<<_DVORAK); + } + break; + case _LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case _RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case M_BL: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + break; + case 6: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + audio_off(); + #endif + } + break; + case 7: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + audio_on(); + PLAY_NOTE_ARRAY(start_up, false, 0); + #endif + } + break; + case 8: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + layer_off(_MUSIC); + stop_all_notes(); + #endif + } + break; + case 9: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(music_scale, false, 0); + layer_on(_MUSIC); + #endif + } + break; + case 10: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + voice_iterate(); + PLAY_NOTE_ARRAY(music_scale, false, 0); + #endif + } + break; + case 11: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + voice_deiterate(); + PLAY_NOTE_ARRAY(music_scale, false, 0); + #endif + } + break; + } + return MACRO_NONE; +}; + + +void matrix_init_user(void) { + #ifdef AUDIO_ENABLE + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(start_up, false, 0); + #endif +} + +#ifdef AUDIO_ENABLE + +uint8_t starting_note = 0x0C; +int offset = 7; + +void process_action_user(keyrecord_t *record) { + + if (IS_LAYER_ON(_MUSIC)) { + if (record->event.pressed) { + play_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); + } else { + stop_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); + } + } + +} + +void play_goodbye_tone() +{ + PLAY_NOTE_ARRAY(goodbye, false, 0); + _delay_ms(150); +} + +#endif \ No newline at end of file diff --git a/keyboards/preonic/keymaps/xyverz/makefile.mk b/keyboards/preonic/keymaps/xyverz/makefile.mk new file mode 100644 index 000000000..628167ff6 --- /dev/null +++ b/keyboards/preonic/keymaps/xyverz/makefile.mk @@ -0,0 +1 @@ +AUDIO_ENABLE = yes \ No newline at end of file From de1db144d06b488937633110b0598a1cac68f4fc Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:44:09 -0700 Subject: [PATCH 026/306] Delete dvorak.png Not reflective of my layout. --- keyboards/ergodox/keymaps/xyverz/dvorak.png | Bin 87314 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/xyverz/dvorak.png diff --git a/keyboards/ergodox/keymaps/xyverz/dvorak.png b/keyboards/ergodox/keymaps/xyverz/dvorak.png deleted file mode 100644 index cb8316309592e3e8098b198b0db14916741a5d75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87314 zcmZ_0by$_()-{ZXNJ@uvY&thcOLt02*QODW25AI=O?M~=NJw`mu*pq_h#(*-0@96y z#JBjJbDrn@uJ=8EaVZz~UiVsa%{k^6V{W*nh9WK&1r`bl3a+w}oHhyy8WaWPUI_*| z_#boQpnMb*IuvC&X#N8j2IS>;1KhI-68l~UKrIB;H7vrfyh%(L} zbOotQoWhY;!Cnw$T5KhVb6u2HLjW*ic?UoM4U&r?LbhXa*_ezJI znc6nSo`6rU(EfK-HTd`9XF1W{MZ(aW?$-1Ux3gzBPU`ydwAAfapKg&#n!#%czmq7J zg%)|A{l%h4JX)0^xz}iztjfud)TghGeBCQeThrG^-zmnBawV(Sl1BWWrzVc!I#T>l zygh@!l@wJCCOmA$Sqa|$Vl}0~cJ!@pE3eD^CuuyIr}$zN-90^A>FnpOiP)dT==7tB z*5Cg^BC4aQpidF65#d!?=@Rz08jdS?!F%zq6VHs zpCVua87@|TM^&nRakOSNNNq3E=DA5YRiefCz0tJQyGS|=9ln4E9+A zR_pR)Q!k0!r8c87&*-Xei#J7$**}9Wz)R zt>_(or|h`YqN#lew9jVi?LL0Y4f>&lr64Ca4z5h8ezn;O-rFCT1k>%O-;GaxB}i)P z>JoeH&1W&IWm=Tqs1SXi+_m9Yek%N*)Uk|@Hcx)P1U}n-xy3P*#zCh3_6fX9uUx@q zC^cUtjeXWdAb!?K=pObm?_C6Ec3G1)%g2y1WI;#|G%8m^v1qLNV(B6M*}`rxB}m`9 zm+i`u*C#~O!mc5toCf&n;WIY;MVMdX{?uW=_}`@AN{H$bdv7w49HfULkY{4bJkDoy zTfLoCazq<ZpOQbXFt@QX*U}UfT*@ z+uw`Y1OHx*!U>LrF_jYZ%AbEd{MBD76^iQlXU8y!qrkA|NKeXbGL!blsM#fFBmr}{?>~_>6CaXc)$~s21eP9zIsJ)w=Kev(=_=o& zP~TFc#xnd_bFbu2aPg#ZBIOT9tAn!bR!rX8luj}@g&E&=dyA}g|A^A${_EOFd84(_ z)DPOz#?M+eU=2g~L6{9VQ9m3c-Jyb=ZcY8#^-Pp+1c&r>YpR^hw8isKPKHfe0D`U* zQ)%2h;qgVBL3xl$D?% zSC9K(G}zZVqdrUbQsrV|og#j_u_&a<%ncsHy?*ugfqx9Qz7|B%p;R~-vBYOGJr88k z!=o0J>$p0KA-3Z@-FonDxng7fv&Uxl8|+kp7th^v(LYP-6v1u#RrF_O?sFSp;D{y`_jsA0xBWV(Ifr zquH%LepZymZ}9j&Y5B!biD>Kopp*#sL|j%DH(Q9G{>GK~E-ww49AQxog@1CM6Wp4u z|2R_`QXe&-8XEC{MF|IzT~{}swg~@q@U!QM-56EvvSQOVm56&(eY&?0!teTWyZQs# zEJ)oOYZ>OG-lclwr1a)W>mymtI?o(r)r<*} zjCOyIwV@*RB{IT1#_8!=tA1o;anSYU*OwjF#hCg9E-RU%!6OmDyOX6UGgDWK{`-#~ zH17pvBFAy*eehB4F+*nraHOTU;D^0r=24hXa9dA)M$%5y*$gAe>{1zelO80JvpS1< zZRvKrV#gs6)L?l^f0>K#_5}R`D(bzX1TI<;3CHuyd%**N==J)?>!b1rpG24&WjpIa ztIx9`?GC!50I_7)P+ShLJxIr1MP^D-!*^&aJ3;D5BWFWvYqDXQX@9Z%_I59DxM+V7 zlZd&50lJ(u1C6P^G~f;RyW4y+!vAGvtA?unB4M^h2VE?5y26lALU3>*6PegcxR(;9 zjB_?SNg6kqOfLL8fsBH*FO%F&?Vd9-iXi;Q0&U<40pe(gAH3vxH}yzcct=}w;MDsbp)HIcB-ecCYjfD zYP^xEl4?(7)6wn@$FzdKE)cu_@DcHx??MS#^0NCKmio<@czN-Avvax2a}K;#s+iA2 z{r!j98sMbdoV3)}1V$vm^(H?428zD?(b2v8=;MF)JDvd)THos?VtY(mPc81JOVuk8 zc-g?^{gtrZjnBJOZB5t`RGaLNHmK%_owAAIIINmOze+QU&&Ej{ooFQg z4Yh^5KP1}V* zztYOKCW|gq3dx{0;qOtuvd%+7&v6b>+_`6_8jvW^grOfy%@d#ePG#Cfb{x}pf1&In zHS3<y?qhg}eP8qfR1s2XHCe`Bq6{vcW+IT)tET@@Ma#8bT6&G{4MM zVsOy=Cgx_qWLNTQV+vd3F@BB3!w4Q0^fAK~PUq<=Q(2P!n(fmqn@l=%pH+E8CX#ms z{z*)slNk*)iCn|%DLNxGyCTDg@cz^QpY4be$l3Y9Hy4UK@8#7(+>eyrJL?~>m|#|< zd5`hJEi)94K6%sU!I7PUPn>vUF=bu42s#fjA!V_D-%M?i_f4td!tWI(&Qi2;CWh4d zpY4SgYAMNi?*0(aa&Ocv)n2g&xK5eVgX=v$tt>S^Z_gO{m1H||ISMa|d6h%@!!t-$ zL-}SSS$tZ9^W1Z)h0Za$tLAC}m-)=gKf9{!bYE1c!K)NinKJv|+&C7M`aF}Z9bVh%=PltOL}{*x9QTdwz6uRI5qoQf z*hw@T&2&U17q~tU0C10v2i1%PnpjAF$m^ZTKwpmoCpjHsJ0F;=w|i#P=39Hd9BxW} zJ|14s`2d@=@UzG7A1jG|r*-o7Bw<@q*osX_Gepq1g+YC*vU1}4pWM_}BO2dhWeDsf zOKsZ}-IHN})=YJPq!?b&S3)_ePK{b}G+wUHW7J@uRKmARiet5<*I=*JTj?T&ZQhkH zS!QNI0H zHolnZfrM(V1cL6d+aEH>J8Jc6Gw*>4TeTt-1$Ej0T!1eJ;zBZ%agYM%sPPMftZ>{F zTI|5qcVxebEvh_sx?Nh)D3&n%y*9=}v4~kM{`NCBLeMeDgsR~44d3gJUco{2jP;JF2mvr2@y$fe~PnW71J7+tRDgE#f75?px98TIvH?q=u zrBmNk?SQp9`c|Q7`*&`z86=L=xT#`|+Zu_q{5;N%ZjGP`BRoO58<0jqEI=2kpuV&dqJ;Jv?-;>`HBRJrLAD&K|$CwtDEWWA! z8D(|g^?0go$H^>Pr%eM!_0(6B>Q;V554p?NU=b9Br|e=vB;r+RSJc5;$>HXyUiwB3 zwmOoflN}l3AC8uFDs8dcOHD&l^`!VkaKCpefK<`-VQ%I$zO^Cr@*Wfsjwdo2*o}|~ zr$?Pch}+(FC-0-df@!lE)EIsQ>u=)%1>CoMHqlDj5!4j*wxfh-lKW;m z!SQhEq1iQ>jT5{^G&7&b8IF$=ByU*DSOz9y$5ly9VMASh7v?*|_8bG&g^0xa_pbww zM}=0l0}GA*nSc${)F>vq{wJf&xwXo$ z^(3tw6gHS*xS?wnh&E+d9>pWVYQ)9*J5-eHuRTyg-qrzl=!E-oL7q$c6!PbO6$^{mqnLe&|*y}E93F_=geJ-r-LR^%BI_fo7HU)>O5jR zdCPD22$!5Ugxjo*b*MM~F@J>n?=k1{7KII)a@2e1c8GadQ7D}L7f~M{6g8i*6QZz@ znHBi(OIqk}mDJAbqhX%Sy@l3PM#V=I;(iUgiX<~;T~_ZZ4C|x2F>5k#Ml1i+5gIc? zE98vV3>1U~$5z9TQijHcZwdScKg1+K`hNCAminD;eSp}7qCO}w?+9w}KXbXuoRwR3 zi23@NNM;vK%MnOKWi$ETcMW zxaG`?&8S_Hr?x#0Wm5T@>KsjY#agD!i~{tx#noW;@?*%qv93-v$i^4bq*H|dK2(Kd z^4qIpJj-(9(YFHf&2vr8M6XEy>@U46Z*k&bhB|q5-qM=vLzu!Iaoz{17EKXE(Z$nn zE0kL(%1~+WLD$2Ez`x#ZU7$BE0hOSMR?os8Y}=AC(gc3e7ip4%MEgsA$Z*$&Ds5$n zdN~q7CchUE_&HF{&bP)+ZvSX}!9Z^fx<`legP-eIRpYHmezRpt*#ofWx^$3v|AxUhY<=C;yxU$ z4SyTS;^*S}via;q!3h?%mdCyYB9;kyAb=HWvVw%GL$eo^hluk(>44UVm-t?}G7hJ0 zq8KM9r&=>j=%N;rN;>3Zudg5gWpvmNY-kL4Jw-O1Vq)5ybRP3D5vZr6@{JfTgKbak zu2G}o9fP2r%y;4vH_maQwcr)Gc%JA3%Us5D@pAgE`s&bk`#aa=Uh6&@yw+xzR2G%9 zl6&Znc2mZ4r_oPe9{KOi)P_+!v8O`~V|nk}jnk;K53z~XoM!{)L>?V71wkjxE7dOg zkS`m#_1-QEdGOujGia6kb{nVdXX|Xj@ghJ|Q2^SsZ(})PY|^jMA|%N2J#7_n@S_8a zss&`K2^bZ|;Y2KQH-!HVTT}OqIJ_(*ZI5bPN+BbmYidc*npPX*4xnsE!5Gj*@@6~LL_d+Zxt4uEk@PqXl zybgH`=_}RwSOSn$&{~J$hXeR9p;)w_jJEL8sCo39P?ED@5hChS3b@p-B?ZXA0y zSMp+&NYrO9n^hj``P3d?o!==q3KFlaNo6O+fb}dpdqA4W^n*2S-N+R7i=S?hcsN12 zW%8nUNC5NpjWK=CKW zVgU`8Q6gzp3zHX{!fJ`5eO)S!7bCg_xGfSSkrQB6L~I4R@fwxT844`AUZ=8ZF>p0= zEEf1AYg2{r+!5Gw1T}AwomYAvUdnDlm)1}`l3}t&FaEaDdcbybQ(u5<> zlF_*U-}l6IS*pL^iGYBBp(!E|pfM?GQBQouDus9|hmW6eV&t9my1y(doaZ}<8geE4 z>oQnC|9KrL7#-Z=4nb`JKI#MDL8Fffy#*0|vuyq~wQ&=waXt_NI9)Cn7OqXo=dcLN<7Ll6EBerYxd&cjVEHhNChDNexi^c%5)uq1- z*wA+t4^B<%5U6w5{WwNVPRha>+W9gMn4y!cdIS1?U-3R89S2;xg?Lf589){bu!Xv7 zbU_WNa;`T&<~r$5Dj}TonIlmAPNP*}%Sy_NZLctC@oVRhRmJ)|t*g%|rYrr}Hl0`Z z-?KoAHF8t{Hja*DYl=Vs;#C1w*}?<%C&@3r8c^Y1qe(cN)CyI2%irQ2&JAu1&mdsK3__Kf_T)?nSue zYci41+9?@}R5QujD}G#>rv|Hi1AvKbt62cIM9^^%oIu(ju~& zv&Dy_f2X7cCE+#nA~X=kah{BTe1)g|T*g|nss74dt^P&rbR4D72B^*}vG%^cpD@h| z5vus)?*yF*4VzM!REx8a_TMYAl-jnw;Yp)3K{PUXrG1pec7Gg>Wo6EY1b)!(Y1lp_ z0m^~}TE!jKd*S-XhM221u0!O3*gLIt!oe9Ed!v&hnGw=yK{4+gI^9EQ5ks+e|18mx zP&TLk)qAAtk3ZxrVoi%+as1XAW}n@e)&`Pfb0Uph(?}6?q>hsX^W;kRvnZ4zAz6dASd3#ESXsX@dO4=C*?T%Kp7vKjDD8w%*}T_T#e?KCILbaAby15 zv0xMq*e(w&@9dyIvv#_Gff1Yfst!}4Z$qb-fzJZ8t$chKx(leyVsKV5rk}z3uf{c~ zui|!}BPx)y$70Y5G~-=^e=2F^!+}6kR-zBFZ#Pb5Q%`zV+wH#4luiP`t2>0mR{-#) z+>Db9tmLUe=P;xXYzPLV4;03`qB!yC4M6H4`#eh-PZYk=MNL}?;wBop#~A1GsCNFn zl?EUO^cDY97egMR?A{1&gap0IQhN@-a?-DkRtcn892bMHPp4OIcb&`v+I?9fa%lRk z_)+`lmu(2GzJ8E@;xaGn7HbXQLMp$V2K3|VaK;zm5P_4`e-JKiJnV>TCo_PSn-!gmpvBW(mk!ONWKjLYW zoRF`$ZOQ;~8QF5^z!Mgv)AN-|p?^-=Ky?`VJ7#>PJddyepj(|KQ^*EJgoQr6I<`$h zV{?| zM3Z@kr+8AxvB|iJZMXve&Akof_kDX{1T4&b+1^SNB6aq1Gg?yQZ4c3_ex_n za3qJxai}ji|0Io<{Yy(EY5gf=eFcj11gOOhn-fJrU*bd;%p7O-L6MzEJ_?JYFK3Pl`oswF4m>R)H&!2scmbpU`M|$_n2;}fW5~#qJ#ziF*o@Pr zjsisJZR-hj5r_2q0B;#72>*FejbI+~2wiCQcUueFuFhKhj~75G#_SWB8t2W^fb(&* zhDIManhC4?TTrY!azc<&@@atZ90$ZIRR`rSAURI9c)g$y^X3$=AE&c8;$WFm9Sx5n z?6^}90o|+#N_VdtA->qTpOxJ=unJ3=NipSF2O^qxAfZj(h3x%WT+-*PHgLW|;i@Ps zCZOW#KYXvO?~tVx;ied>=_Id$8 zjQ&S@o@?R)(sR=LfFtE+b_X|G<<%Q=FFTk5yx5;tkl%IT43ZH!qfuuOIY$pEjKTdb z(BLEj_ZxY4ztIzCT77uHack^ka~ag+of{+yy)-jkkQ>g1m3N9h{GF-J5<yl1n=}CQW3SB!pe{@wT|(~1RKrtqH5jrf9Y7SYbE@3|#34|Mq%qdL2xYmquUO)e_HnaLzKJOh7Ge)~18j0ba3Bh& zFEF>y(y^YDtyH6`FO^q`-v-3HYy?hz3>gohgv12}`#npc${fA5e?A|G!u{XKsIm$k?*MBJ2#&YHa z_5S^`mhXDXsArV=y|Li;M6@^-9I&sX1m$IlB5*0AJt|$)cHpa4E)CP*T(8zIr38|J zv^nb+#5eQzK1qQ0&J4Z#GSaz=+3(|aFVpj>G4=pzMmizXP$e9ejslfbPGw8Es%#L! zDSuzR_Jk7o`*GREe4bI{##!a5Nm2MDtvOxfXS2gu_YU37`N`Id- zYi%^7i1qKfg8yi?$hViB@X9DUVL}!SH6VI7F6O_E{q$m*TMO~X09Vx5=ilbf^lJ+Z??$jcx!e! z%-aK+2JMlZtP4*pI#Ie`lVh8uE~)_}SW)#77$izU<4lNt{`{$c^TL4kfBg}sF$GMl z)mygy*EfIngKE)cJ#TLUErqfucEatRa^fsqtu$Le(5t-b01zKog#!qXM;$5!iAY(} z>H^2H{YIpB6bdXUKXR=&_F^fm{>IF%(6kx=dTU_Y`{wEuyG}6<*-j@#s|oRf84Vf`|u6mNY^qKXiANU-ox~}+;<~O2TnmZ zHdP7d0d}`j>^p`y!Yfy)zAd z>hmS!_x%nV`~r!<{C>&~cRStEbIZ2AIzLPm_xJV#RJXd+bQ?D`EBEQEWWYc%-IOpv zz4zwX;_okyyjN4-Tw7-HAGFTUw6P>))J6WI0@qLg`l&*}Wc}Wu)JNp<_DpaDdeK_{YlO27j4Pfpy#3|UfH+saq}Kt zGURGp3zwmqNFD|}dPd+X5+!T_h!4IZ5Ke-L5a~oI`;km&xSXo6_6J**zTDs&HqVIB zCI5Z#GGIHnm%Onr^UoqT6~DF9WFl+u{AsfOsZL<)M6<0w4JpEW+0dhuVapxIz?J|s zxk3POVUsKP*lQ{6%hG`Lk~?n?Evgj zyy+*3i{fquUr?V83E5$>7BK{~P~8b^F|tH8_sJ5ipr3N_=#R^N(NuIiXF%%Ctca>2VnZE@zp{nuCVCA1~{j{#Ihhh?+EB5JS7`_9T3%~U$F!R;_zqHMt za719bQouS6$<`#?z2#&98?~n#N*OO!(A^9ARj#QpvRI_+ixE=RKJUx7toU&HRByt8+KU`A<;2YO@@`i@T7WM8w9ReFi*d0brY=Z{|xfctWe_L)=(^ zTxLOuYN=nXJ=7Ps=@dud*>1=`x5^7!R;#!Dssmgoaiuz&(W*;`&+cnSe?$8=p;CFh zRwKV40Pz)6nYK=VMkLOatmpCoHbOdJ##ha8S^)Ph@cl5UpJQJ;Pj6>9|;@Od2OvR0crCzSYl&Sx)UlqlwJS&*G08 z+I@*g>vA^j!kPure2kE~Pk=QdLH+=Mw18-}MXy@3=I4vY_Y|be(7Mld=ywM4YIvjB zO)_uNPJYSLp&jn2H&|netE5G{#8a!{-Aamlrd&dF9R-SrplcG<(`$e}U1&5{GWSmD z-hFg_ey0&$g7|eV)m-V#REHxI&z#8&_?m%E(;z>BrP9?W0AYzpixzps2^a`MxE4@} zN=J*mRt`1=0xvy(w7sgg_;al6Nn=oLrlqBo%B)VI_38m`YwTT#ypN8P$F5g4W2;lN zsxQ%%NZYen6m%WB^Bm#i!3uf-3p5;gi@9*j2Dd>%*}n~C^;oA{T3LT~uOIy`_Njhb zxQ23%*6$$H7J#$xocI}W0L?_UmO46=;vE#fQO-%(4&dcjd;=LC&iIawH8S z9xx}A_0kV#wt*+35I9X{|41vwn0YV1oXi9%{PCNFx4^)m8J65T4XVg#A~`^&B#Jx% zfd)>5(Cl=w3NlB7zsyKrOwep{n#H)4^w~41{f1^IFUYdzC4NyMoCl*HDE7 z8fqT;lC<=%zyZMag4GJ>+e_h5hai$w?_6YnU*{oq!)X=FG&|Q0FL(+>%0j>mOw~Yl zH|)o3xzcSb{>xZY^IT4FUHLAAo-Ny zF4B;5#Dw>atFCPLo3x=H@+wiuna{( zpyN^y<9R@I(hYfn_27U$VLUnbn82mc8wNbMA>3$*kppr2tV^xaw6AtnMIQ9Crox&) zyY}s_1}5hYPXgHG6qi|BB1w4P=EqXdUuS9F580*E>Z(&DVyjPJYT!*`I~AO1C2*wQ zvo|KX!*Cw+g$p|WfVAg%VB_9%>gq?`UL8!S>K^|{*7TV}JxcQGAWS$|IOxjP*vAan zNcAjgi&+lBn*)TslIj~k-_HIa5zj;<8h{PyI&@Ew`a>z?qWM7%{`xsS)^4fbx+7Y5 zB3@Az5wjY3xlZb3FR7+epuC|lRRVn0bqRE|cQ#q=bl!IVGj4iAGZO@`2(!lb4Uke% zT50XQAvmBx1^(YQjwLPMvlcfE=|>nvnYbQfpo_F$8%pcW4@^@HSd632dWkqqUmF{P z8Xsih)}j%<`*r`}O3Wi_Q4BtnJ}W-f`n_VWBI9Yl=Mt+DIK~b3`NB?05Olv6--_eT zx6XhaDmw3-u`8Np*>QPwJK^s+H>Yl{J1@xS#SoyjV*;=Yl-kc0{dGTTP_vb#AB2+! z$egGLoPRJY(WECB|EUBwRgXc`jQ77*W|x!Z8sphxdeZ3b*k*@fH+^{nPUymL>>L10=46oM!0iOml_Z zWD+T=5r5v&3GO&PrAKFh2EfI4>z>WKAsl&vv2Q$nk9|Fue_#!bGZ&E%ZZU_bTM^1S z^4GfFMdqCqCs+{_&$b%YzU(k8$UqVPSe6!I3DcLqY+an4uNEL~sCAr^pz zGLIvAf_x7^Ebu>|BvGDVeVuIKK5I66zQt=zc%K?Z`2z@G1w>ytcg_Zvg&%@KAc4#KdaFQAIhWMQxk=6giz>m-GjsVtJ zE&4Zy8LYtTY@pu)oDgk7XnRonh%Rf4EF{Xi$X%O({X{k$=AmS!m^4vQM^4COmp3=Q z1gr9zYWRjH&h=)|8(?|M^kaEscoM}CX@;0rfh}j-1HlIqzF`)8?RAgxy%xTs#p`RP z4-MUYDt`c(j>U064p2kh0|1UE5{-Shg3cCvPIjA@CV6 zIa-0Ly25&=3Zz}GFWu7K+Y#<`O9o9MCg~iwER*H-Uq3`Ef3Wt#KoC9Lw&6lmn8Ah@ z*8F`q$9Z^)^IPGt=!3~;_wVdPR!{!f{m~~+dBN_p-c1?!E91;&n>$pUu*2!!_isjDR63$RSLvoyF+d0lfFhJC860$!0VN)k*q{GwRaB)Ne~Kh}c0P*o z6zC;g69pm!vP_6{Zqp%1gf-0|(Y00Bxmd@1le4kRa@-IN8Mg_(o(Hhb-tC*l_Q4F; zH~c$I8^psFrq)}IEM(0P;Z`4}Ee{pF>#w&1r7y(2NCno}i@cb;@z@#@m146+JfgXj z-4YV%>LoC6AUCxyIGU0_Jim%}-U2fuBqaD2*_pUrFSXV&Mjgn@zGDC0^IfUw9-d6- zA_{aRypMcvRGW9j@_r6D5Xv7;hjXOu0D%iL&m-dw_+bE1p^(5sX{3#Os!Xo{pxVc; ztJ5_=G{(<1FZ{>6YGY&5F^Nr(fci>fd@XMN6{YtxW0_-Z5&ZjOO9)f)Y>*-demG^RQ}Y<2XLsoKwi2wgUIzNQ zbHGEN+-KE_CBCo3-Qjx((>i^4`yO!0?DV+&!u(O&_9 zR0^CF+V-XTJZz~4jA+|ym6*_CZ1CV4ok2*%1^F>XY{&u_r|5!2=t&Gf-!;Poo0G}Q z^{bh6f8Ej24boZ{9)LUuk4`YN2aJNfO;DHL_5+T5Y^Rz_;<{TjrSW$}+r%{Mp1b z_TT*0D?l3te!0JNH(j+(4{qYC8OPnMe;x&_(s@p^bq;}4I2~UGeq)my{b+Jly(0lZ z5+vs?ub}3G)92g7dOBrIS|NO8QoCpoTcF|$EC>GM&^W)FWw^NNF83(XC;NN!YB`v2 z^HjEZA1NGo`Q(m+gj@vNT>Q2XC}4BHi@J(S(W$?kTa*iJt%ktxF>=g(D(*i8RDR8U z#sDUeDGXvjKz?7Tw0%-NmZksVag#`*&HEG~){Ro;_Lpx$+1sI_$p)8VE zcK<#{zDh(*X+=gOMh$ICjHfmOH0Z?@VUBU@x?~Zp1Vkl~jv_?=S#~}WJ-0SHN1SMC zt}Z2+!)bpN`To1a*;5Kei-)L=fD39b2w~!h-aRPkv~qX)RW+lqdEqVw2l_FA>4ZDu%*)eN>p4Xt7tZ>p%;si7XqI+jF+Yqo9QCZEag%r{0iNM)wJ))OCU}^vHxtP z(CLOz0(@QP@nE?U`l~a2rnPZKgpAU$c>GcpAk8um6q}B+N>cIL;#3;eM+9A;>bL6F zI-3A9OxSxv7%eKGcZqLHPZ*NNb!8w0W^#3#{eGWce3({+nJhMEG<8hB*;7!^_DzPI zT(RV8HHn_0Dfuhn6x{!%pi?(u$oge&f1;g0w)E@!Fk-LYkDPZ8xJ_r;lC;+bRUey| zNC`bt(ENP3q@_mqYqE~1p*&bJy2UF+dv!p0ts_@Pnco^e@K^(9b`ggYkI~{OszM?; zUweUY6LeAk$EPe*}K^FQ;Jo@qn%jc>n$Ds zE54Dn&b4{8DBe)#E#P=QeXqsi=hMmxy)?5Q?J>zuFCdl9H&~{U-l-J3m+u~FP(8aH z$&nREuPB@Ycx1>(Z==*vpkzK1^D6{BzKWAu|FvVKfw}`WS$>CNLSc-tpw8Ok`YdGP zPx($hUQ|-LybNUGDK*Hr55|aA@TulLaWnyX3Hh*7K7${`GxXxYHiB#ifKD|~%ku%p zsQfEwCvxvdRvglIYSnLVxaNN1h!nxX#wO~lDA7y9^1cmm$rX{c)4%0;>ltMroO^TL zkU$3&Y@3bdOJ!5N5c4EG+u1mjkY8vgi9rh2J3g>vQJ9+b=oL77IiDvY!lzU3ajX4W z4h{slCoj=R!wGot?jax%75l7rx8QN5xW`?@MJVG`K6`z zARny>oCq6@(`Gsi#8nQHB?JO57oRRSDm^*|@|z~;)``#*0GN5o?9(93t|4I}p3mu-1WAWhcn zQj8_3K@yT<(w68QG;f?pzHRfbe{#FSFrYLMo3;mJB}Tb} z(SX%`QImq^L+o_(8o$7SsK5VnPrxKnGMNhe7vqc`!NqS{ScZI$X>d#q$%}V_q#{s4 zKqqb+KPf6#e1u78wKVY4bG=zl*Q!gq#p@4erC%+DO__-RDLj;sQFSQegVAtsf$o>} zd{wdFkH6}RbxJMGvG0SLg#0!V$cyUE_`jzU)c^lGol^*U2q#de=orRwC7*$DvLeu2 zs^e4Kwd26*p$#(c2VepvVFS&`-RvFk7%{TjE-wN9-ZLN>6@!*qc?a1U{&=GW43urw z(RNr|JSZOy#c9d99ybjtiA16h>Oa~cn^N90X;Z>XVJ?E@;uVfe-Ecf>s(<-1I`a&h zX*fB}9r6A3pM>iOioG9-XH}*J>Mxs%%Of8}Z9yDjo<8$o zZ&!!wd@Noue^j8xbLG-zCD<~+Wkb~jR zN50fm)8Eb?Y~PS^27uu-$FItSr{^(`&m?>gLTY0EnX_#9o&3p`uBzi%(U}4(M4@CN zk56jmwu9%(OM_>@0Y?N=hONq;M90k??Nm})LNB!s@0pj;yjI4U(mZ?<8)8L(k%q+3 z(`sD=aT)H&c3iFhmgAZ$TEv!ri91vQ%zgkmPAiT=V28-4cfe&z_03j<=?W$xBM`F~ z=zjzDL>^F+g~V*y7$~)x!-@3wodGTR7U>I^{5vCPDmYa8#FvY0%I3k>jRvllKyC`P z&)Wvg(}!WHI~&7xtuctD^+!YOLFUwVNNiq*0^JeAXsj~N;@fJ^kj5Yo3B zL*}3bXVA49WmY*H;csYEeW;T810RSU+weC=3m!Z?7F3gen+;Hxnp7Deca&@C|n7P2yeI#SH=;!jw^zp#maT65%!Gv5T}qU z_`#upY@=y6qzP2@kHZk@W(_kj$~as~V*51H$>cy}r zB~SFx8KA4*YvTM5d4o9ptNUjtGwYnpJ?DQm;<1Ohg#9Jn~)kDc<(QoLe@_N zAb+wY0$XN=a>aaHk`DM)(>ZIEa8_GU;GqkobRq%D5?^w}6z}|h=3lgSA>&?txEs&= z1!Z_u;RxmTxFePc{H_57`r0+Q)Zwct^M!2M8|7F{g8FqoCP`gYShh)BRFl`P z67H?26g-(Ff%N969pQOwjb`It%l)%Mt8~@H8uErkS>{Xd(PNu(oo6PkKIfXESJ%y{ z!n-Lao(0UFo|mZ`IpqEkxW&KtKYr`^d&a7|E2`^0;HrX8qakTGtn@}=L-}D}Y_t&f zKC-4S*q2zLQv*!~K*$pSA$v5ck0hHwvjmAS5&Q-N2zs?H-*5tCchWl1%QX=AzAk|T zo340sFKq~Wyot_9q&5-x>ByN2t!FJhYkX;xw>e90iDxjktQFmjYnl_a<8;qg`!q&| zt#9dQ_sm+9I2@nnXEa?aEA!iY7C$~MWu%hI$K>pb5V0vU zfFJp6sCl^CkhDIHKBXl$T|){9gT1|^RPDtehyTx}lW#KhofJLM2R=BQF@@6)y=E?^ zV#3lq1v^#6w7|ERXMHGeXXUyAhG>S{2l1x^Gp-Hx;7$V)|E=%J1?k@x-z(@5ue7Zv z#DOS^?k^(1*f8NQ%LT73>S;ZZ>r>O+IldRPuyMz@<~z^IBLA(i{G8+tvr=rF^I{%L3~9k@)0UVejYJIxrpIQ7d_n$cmI>1IL@3U3|<|OJKu%7&WJUvnVmVB-f`cCI`0%liv2FPy` z5u$w^qgYlELH8g|^Y(0Dpmh9@n(tF7Uk$SHI3Tx5L9?Zu&H%)D4yI@Cvw;G?lYx}N zoa&3C)JbF4lX$;i^mOBTJA}TIbPeRKuTx7 z-?)w^)1ezn(@&gbX1Aw4&XMtq#}z1k@NqNwaUtgH^vx)dyxiPHDJl3$1AfziJS}*L z$EtjZqw8}`Dh->wSrS!A`)kMyg#_#wLKHfk{vBrS$Jr}=cZzd;uIK4>fqSlY>~7=l z;U$e&VCd1gy}7a7>JdMwu{i2(SBwkG464eb5Cv02rq_6(gvO9 z>oJs506nKnH2s7jk=#Hy2=uv604Uem69RLOA1LC#Q4C=xPzXfdb<}`xgrH>yxae|o zu#1~JD&wrS8R%7$insYB48>e`&uG;)S{WyGFua`m)3EwRd*yt9zgpnqfaGo7 z62(+OMC%PHT=Moz+qtay6i?+Xl+ih$p5(gqj7J)lZPXP02Zu%pG)%;;&_}oD;!H}J ziS8XY5i@t(gUJnY0{D>`@Uh@O3w=__lyNw&`vz)36cef+|6RFqlAEEv29kzq^YLQ9 z_N@>q7_6bE?iN;wAt?FEQZ%-$1rAN&NT$CTc5I?Exz*kF%G`%iVgW(4P^TFN3j3W>L>SOH^ z8^9bAT4B-xE0+T3;|ZOQFQdiiHU9mLC5s`e+v1Uq+iQ7s*d8@u0Wtd=B&{B{=W4IcBe_iA6B9>@Nd&-yIj z1`NY1!gu5qp4J4#%?6J?E*;*3*%%hK36cpr z_?CvZzevwR=O1F;`D|H}En1+pcID42O&qF02X--f>b5pS0uR${3cBQiH3McacY=ay21aisKDv%D-+EB;|9?z(v5UGlt_0e-6agEAR!7;Qc5YJC?Vjx=eq9ueeN&w^MlO%&iYL zCCXmLe6rMLtyXHZwglCy)N#%v7ZK3li7ez7{Zi27w_Ak&qiZasjO$n~Q|wgdW?A&?fcvcLpn)6#EQ zO*@sXh~}w8{El@~#v6OLUTUUr96+^fG#Jm27U}+V4-;%}btPUY&{pQ+zMn1c->k_3 z!Wv8xOk)SEBXcvH(I+ogr^^g@x%R7JP4x<}NWC^M(Z0AvNScSVD1T|ylRH(aciG^E z)e8!dxz}!q^eXp?v`A5s3zKW|GCzCL4mMxm`c)$B1jPO1zMkyT#I}26YX@I5jt@Hg zVfQTiFM~tpp6Fsir>d;Nrn;m-Ug>vqOvUbO4656f|HS)H_~XYm`4VBnWaqr=8rLof zC0w|+hjy($tlNzbk->}SLfHCgDEYU1PW*063U)K?UuJi!-VM&)osF@Uc(1={_0Y1S zxF2dT{@u;VqNLL+k5`wN%7uz(p6d}2at0p?#9))Uo#M#S8>YUCfo_=JyY4`Lw*?%% zgts=gA426qcpGO;;#0_O|KqFIL@vCXeNBFvz&QPYniIJaaN>9`xUwOLWX0m$k5LiB z0+ufRnFiknV}fKABcV1ZHfv=W2@e_OJn^{7v-admX#u&!p4-~KOF>b>Ur%%1xA>$n zewA0fLBU#haYm4cn(Kq$d5bD!G$>xz>+vC-g!Ed-;e$kX@tBpFOtKCmx5i6k9S@O% z&b$V>@ri${gFZsnHoleSecC_ltwV(|d@6J9jn&$|4vcPzedl@Q{eS6pu1BX9 z8yLKIe9ie>6Y$X9lfgVtrh&LVCffA6zfF&8R_UY`@uX)7Y#sgq3$rL`1KeS?cgd%ZUWwNa9=r zcY?W`JtW@qi2u2fSZtiYIdAHiSHDxgB$PMu5FaeL_L0+68JhPQ>WyDj(ImA!6EUyO zw4r;U&PW>f3A(~VI_1#_U_RE{lo!)I7G}#@FE=VW?TcX|6Eoi@M4=i0H;C9>gp$ro z=;^ww{wf!Bf6eb_qSiPdN15Fpu?wW2qON-kYOh^N;u5q&Ejo8Nipp!}QX0cGb0$zF z)?F!ilckeP{~?j3V8d+Gq~fKrnp} z)I{p~TyPwLb`7>CWCQhRqtVHhB7$Yi(6q7R zBABIh(&=BWH*=_+VzVe$3Eoxye&Zn!4cWy(lPz$kRn%*1>WMarkBY>dlFrri^h&mi zqR4Km;=|XizdyEll>L{mMIfMyb^-^Yi-+?wVUMQWtGe>(eq?q29G89k%6YRDgj3Wf zKsta!*5+(yj6ZNo%(Pa=8;<Z|trxHy?CvP#&bozSS80R1UurZT4 z7Q+>J+oo9&(LDV@6)3h@zv|sT8#TOWj7NXxPkd78v_VpHmH5)ud8+J*EulJcI39L? zuS}sXe>4um<#m!OIi2KX74>+N&TE+ycMFNrvX3oNqPP0Uyl>gM}?SEtNivxWq+X! zu1f%o5pOEJbHW_X)&^+B-}o^|UgkS2wzqsJ9aA9G-15>;1t~?vUUG-k!ti81izEDn z_Wk-!b>yec+^1ikWUyogGQA3UTR`p&3UOQ4Ycpc`#_zz)2)|AO(=%t2e1{*l{p$3N z&uPY-r^6%;^e)&zUf0S_`U3DS3Mn4n%R# z7Cz;8jibEaBWzM=rc%3Iv;n~*^g+P*L$xS;Q3eE!7(g%v@+&2a+L;QIC@3B@7{u*O zLkssaHfwm+N^|HDPsvw$F!bv$<2i9^c)HmVWADY<9U2%ouSZVnoSk$oR^s<{?R z_SM1kM^y@H>&cHuIVZ^Da5%mD2sINz=$4F}vrQVmi47RdgUWvbAbqDegYAU51$E>R z(#cBbBb*W7Irg$}2B@M`?9LvkK#md$C-4FS1)GnlS3g&zKxTEy5O^@D(HQ(UD8-g|Mz7l0k5_dWy|TwQ2~-?iz+@V4aU*i?c0GsYeHDYi z`n?RY$4IHVcOssePk9o2^s7I{xVdj3-E6tu-rk$=U=4K2d<#bgJ!*l9lkEzQc{2TD zC`4q+L}QfJQRrNs?=!PI6=k{9b-2-SIQYcThxm|CcS``fs)1VVKjLnH=D<)wK!{Cx zGX2W!a*zs4ma``jQ-?u&ECni!Dr&to;pvW9NquS?|Ea1B8ZFZ2Rxd2-IGUX1Qtt-- zGPA*MYHgAB_&fnFQv;K!h8{=@A%_X5Z<0qCfgF909CKZtHT7wCnKwR5tBn=XldQI; zeOPFu=@-hIntHjENyhpPg1IUNAO;_g=%Y|Tn$jn{lYn}2Vo3DW*+erQsBp()_Ds(n zEOnlM6ypGdQ^Xr*b`g&S1Qfb{e_N~?rnV8h+}sM9V$R%ltAPC{nS5milAoD^_$8~hD)mczHq@@ZwRKK~BTC2{vCU7G=ZPVZmh1Sdv&WXM#U|Oy?OLXVuUHJ;w*p=-Z8Fue<*4{Ve`r#c| zZS}hXMJzT41JU;-vdEthwh^HiM^Ax<8UwPP3QzvOEEhsS>loueG@I~=hcwX7`cL;% zMD!E-=BDG30t`BQL)p0vi`&V+SN$lkR|HWC4bh-VXUA zFoF3V;IpSqF#0hJUmT8_dIQ?q_!&vDkJ{Yz z)|;DhQ-WT+%W$!rD^w#X(c$N!#_ei)IISKqrs|A~x400-8Dg9>8yIrMSM$NvCDOI+ zCv;_SgJ1V8?jfx&wO~vOfMTTzK9_Y1B?tOU=_J+eid}x8V;TyPkZYPiqp3*a3<%l} zp{|*{ebFq|X4dZ3LA(1#?C`79s}GI)*G21#pm945GD(}2-JRu@YboAH`WUHy$h+zs zpUkOo>5tnXLGUjjO$rj`&5VC-4)wL0EaM#*YH z4B^l{(Qx}U5TFjh0_RSbUs^3EuGLIkuiLFDIc~-Hb7qlX(S)NlN9SJA7k3>r<1uDz zcjz%bSA}YE>T97QlNRMGnPazIy6hT>pm|o$_q#75`VMzFJ#GMWJ1!;IB(cb&Uqpgv zUJ&Uxh<~?nwKYt)z2n7Qx-8HD}ZGVmOTn* z2PSowRn(`5+!8K-Q0-kN^UGS>I`{ttkg6*aX!WwPjpzy((hBGcfZhQ{z!ysqT@PFB4$blR zFTd(fhBzktq%A1Gjl+lD6@_=qoQy9CNbffH!ED;BuPaC>l#X5Z50-#0L93*98zj#zm+COOqxF!_u54?1E}pC7gha`YG$(OPPd9s>j=@ zRVn?Oj`0%!su$Hzw_bcKg_M3+ar*4tb&SE#lQnkj>Ta3F>K^Sqv~?GHTOB-i)@Z$VfSs`&FdSV4+ZRXe zTR2tnWuUgKW^kw(+uP0#k*mux4q=7bV9D+lTrH*h+T^?_Q^%v+_gDD|F~1Vmuf0FN zztZ?>E;K`+KgitCzGiE#$)yg3I$!YlX`iOs<V z5^ja!*RecJ$3@p;G_0)3O#lQ*q3lB0NP#(^f311&GS{|hDQSkU|87y z$$WMme$4(Dxn|)49J^I7ufuPa%2OV@pVBLyJb4nswGUmA7~V_n0|huGCP1oOt!{jw zDt4>n5_L=p2uD*^B)(BmOED0}gU6gPNSCKFUz{<=P(qVK;JK``^M&<*@AAd^{e}s5 z`L>Gf_xXzUeG3nlR6!@=WxxUFn)Mhb0_QQXQPcydaWCq^xA6QJ#%8U$JS4Fc_o(_e z;@TSi&weoDidocl>uE2F7da;#%}nUyx_v{z?|aC}9Vs;s!zbO?ANNLLw@N*#DH}{z zw=A-^j6pYQU*V$WG+e^<#NinuFTJUyR0T9C)L6D;+#L$H?3bp6Jp5)L$}qFs6~24?@kdPvJ1=|sywtJ!xSvtNnqeUI_@39JUp>ZN!00t z)s%ZRGlAW>(#qdFp&JD9$kFegmgKknh5KBDud`Zjp__8kqy%dO&yLmZ9D~f`UvD36 z3MW36fQRRPD%Ck+*nWOKf?Vb-$pi492 z9Y0In;rhQ<0tsl;;okI{gNpKfsOp70K5wqPU{O%T;HyMVqgeokrf#GKL-&z^^Yu$Z zzk6`$ntngv%i>NM;Uq4m=GLA7qn$@%vdD6cXoLaONu4g?m^2RiV|msOKQf^fy{ z%3QDCtkd1;<9S5^%pDUZX_aUW@!fjZ5+^BeUDqQc5AUJl2)zc3(l6eo zp2UF1d}<*7;q2cqn=hd9t6+XTx?=&IpX!4aMH~L(f}R)!fXk9+2|Jn;^s@8`t`*vC z2Fs@=w-RY3Dxn7-0d8a`42HxLPZaaN%xz%^C!TFj_$39$(sai&aXLQhr|p(RqNCeA zq7qLJVY$qCR;)lSFmBtFNJl4en7K^v@qab#Ssj^DcY}x9T(gA8`Go zi6*uBo}`!$1U-x|sGb;u+fyn(2KK1Qz*@|C^VQ_miOG+CMG?>4kL|&K6;@ob7@JMQ z?pW=i{hM668@HxJ;uPQ3O%B0&LwTedhw4U@A&;WsKgxJnX|~K`{=&o z#xDQ+mEEokc6?^HL=K*Pg9k?AROh^!Lw|y}+IgW%gd^bQ6%gfu(Ffnj5uqmO^R?yX zN0;q}lV7=J&3Hm$cFktijcf;ghdGGOTNk=|{o1edqi!*P5+jb*YKU++DdckAmwP4D zIfiKl5A|0Dy6?PAyYaO|6}b={oiF(3w;_NjNQT`Oo?ra_T?8n)5rs!U-P^p7g9#gq zOW{j&litgL8o-c`SI}Oiq14b$-e|WON{oD6U8>UMSHaMq=!kiJyWeGb5V>3}RN`Vs zRIhspXG3AXKh9?f&`o?K)tvH5FzwVZ2CazmcEe22aPHq?l21qpr@ht* ze|^GMLKY8a#SwQct0Xf%28`u^6T*2ADcPP9#1#$%Dcx{B`Av~rN-}qD%SE3Vip6Hf zR|#<}mWgAM;yC2$y$Nr{S$R{Y*}E8VTfM&KN1~G_X+VtVa`8V`e;T$i(7mExQlRo% zyiXzmOjX_O2NbWCTILe5pZ-h zHm5;^@>FB>8)%w(iSdB_xIXIrE}2~gzNRl!nLgac$$Mb-E*HYEwE&EOg1T7Lm`V-u zSo&yI7IaE@5DxFFwZLE_ACHJS+PFYe7mNxC|Gp?m0H?3>^FJ<(lFrZ5=dW}`S=D~? zd-VgkT(6-qqX-5KiLBT4K}B5(?G$6k0?bypcGN&ekzWF~ut4e@D2)2|UPGZH*#3hV z#1ugBTiDIc@{d)|eno1;+w2y(%#ev0eG;08cs%=vB* z=qJ$({_+M)y5saaMj!ot7P2B!m%-9##qqv{MW&Q_7$=XuBbx|Dw+KtM1mnK_aJ8Wm z!_mdVmh3J{rt7bX(|E7*VrVX|j!XzBq<4ZIlw2)(+&K4NE z)i-+Wn4f$Kr`QAyEQ(8unh}A-1G-%di@cvIh64dg%PfopneWO87}^2_5m%M)v1dLL zf0*wbk8caoO6i^ZgO|a+iQ)v}%+|}E^FmA)6)bjDdu9v6>)z&F7x^arc$XgZkA_0z z0VO)#Uq5o6vwm0~&&mG2LFsfFihCh~3H=XdEJv@ zi`FA`=+6V_XpNGC9SmTt9;f=$MAmkYJXKJ-PRjzDsN#+eA#4eM(%K!g=y+Un^vt4EmqCg6s^fdzQ`yldXawfLzlD^Tz@IT5+&T1M#gu?C7oh~x zkX9rGtA3Ni40SQ?W8cod=YLQL8})4vXR)b*0FsT6!085yoKNkhIFN7;MtJik;FV+S zGLRaCCxdiKPBX$rg?L{VJ2L8RN0c=Uf5C5=!10M!R}V=g7!oO56uJ8x45xIVhNY@k z{06-U6Oig4fqIWwdScQx8-jYiLLv%QKyvc=8xlXDPg?fXR#D6#ph6E|3%24Mo}T*q zKQ6|Hv{3c_{Mw9Rw){A5q_e@YcvVx!w}(#NV`$Lk*n*7Op_hZTgFV-0m8i}G$7(G= zR@}83Pg=aTqX2M;Fxy@#6!4^tGK4MBUTi$6yaxIJsR5e+3?Ws6$he|ZaE-8$w!I

@H>k@RvK-?1FwxvLtU}> zQ#)WRgvPjMVM5?Tli&Cs?$%~-x9`tVsd{i6qTxZvHS=}5twl;jVkn=$7j5|?Pw5yS zr-Shk3d;GHt%de4P)}eqp5uQZdaLSb?~+ecAFG`MoBzJTufu>N!Urv;w^N9`F)ec3 z(0eml&rcKkhOS6buigEV3|(?&mnVOL4zY&#tskvcb3i);k|IOD-@E*pQ5YfiZs%;P z8z-jcS3A?{y3!Yh_5pDU#;!grT2bYkL}<|dO(uKyQo*_z;4K3gpIdLI!oUN*$9|tQ ziQS#S#}LDO{;+w0Xe}(654VB`jkw; zugJ+tN)LK}M3hJ5H}yEy(Q)C$Y;b<6PLn!%U~!dWDE>MQt~X$-S=GNR(!sX0^ExGuX&v76+SJPhZb;RS_D!qkBrZ}Gbm*Jein!F%wjH#F=GkPf4U(?U6~ z%*tc`=+F3qBP#`8%;WyxljD_3zR-uDlT}IsL_>VO0{azi< z^J|A?Pf@Y8hL}iC8>;xWVS3rf@R^N7+do2``yy>u3H2CTh5&Mn_)Ov4e#;N2S1h$f z*loCgBx?XAt#tND=wA&l%77FV<8dgQshTf^H-;FqU2}D2ELMRNZOx4L)o;~xE=6}e zxlfvue#bxTCS71khH5t{6YpH}qwL|K&@~PN`Cq8vq!iFh)$QOE6WR7r(JaK}u+U$g zA5ZS2@s+97!5cDi|NMr(vN8nyJuUhd_i_A=;jO#1`m;#1U)$Qu%5S2{8tk&mynZ~0 zg?)YNEA(LUKu|eI_SRC-Aq1mjLr1w?_QbI8rys_sZA>e7sX8akEzr+P9d{KhiT|?V zzZO$qB_Ak{78`{%_n?q)YfAqSSx&xgCeGa-&gn{W7OaFdL z#{FYfun}(CeFa}(kC8_)lyC1mwUG!s8gXx#w~^pM*zR8ihi7Ua1c2ev>xgI@nc;`j zl684@%7Ua3=;tt0p%g6i(H&EgZfu9z3!S|6!!Okm@4+k#jMnJVOVK?R;FkBN``hE$ zV!Xj_3hi5vC(f-m#9WG5U}*s4bU<*yjRHg5H+qd;d4DBfSR>4~s{Dw<<`*7UpxOol zDlC3p)QwF`Nc$WxEj48W63gQM7#FFfu?EKlmd%qyLy_EWmFWvcuJ(nm1I2ONF*n2X zIGX=Sy2ZOKjJ3v(BX)N>fq~g%^BA-b{Y5qL>5}3*W4EVBXm|#UU2h+bd#(@dRrs!Z zX(x*oIBXmyUDmsCzNE1+sGEN?Yuf0Hxr5)g*{O1G=!x@K2@N%&j0lvIydm}rFYH!b z1!J%S>gKV7lN-%SBO@C4^kTN9&KWgHO{egR$^tm*%U2p}q zUDa~3yM(Wrr?20JyNrT|%$fLM2G9=6(ytU)p8YX;SCft6(9jq7dq%7Mj2%~Pu}$T+ zY*SI(e6!(?>N&oz9%}sCziWJC5sA9zDZdk#^pjXrjehJJn6wcso5b$UomIla3bF!a zD5hM^w_An&oU8cew+Rhoe$oH<5w-tmD#HCgKO$177MRTm6-t4;_pmU-py)3b>__w0 zwRhq}+~CHnnbOsN6<;lDO+$lo6(5CIOP---d=`VTNy)>8&CPcs7!IFut=^;MOX$JK z57{KtYrnI^8(Z%XRW>27m0YUw2?K(g=VRH8g)sZY zu=$P5+W)L7!-U)NFeW*7kt`E_FWz^l%6Zqj9fH>kAm+*kuk(EYcCHsYnmzm9d_7f1Nv z14F%W$dZDI5aF%Thl6tZVqh2G_M8hS-ifmM5IGqjyG)kSpMs$=3i`;zj?HgoTV1fO zoTJ-tG4`@V09fkcm}|6Xd&J%bnm>kX6t!mI=~&LC{`$4#L&pqq)C&tD?dK9#a&9(- zjVAm_FD=s-(2PH`QJ>6Z4_6H$vFh;tRmmpb?CBHb-u*G&y(Pf%w9(}qVf$mq_Y zzOQb)znS6bcWey8nxc*j5tARga}|SqcBRSm&}c1!Zb=+y#J^oZdc1_{lB=;5*i2ho z>L7)D0I6K!?N1lnS-D<;jKh2;-av+Eb2{s(7-0JeZVx z5?3XfXu9J4lz0^MIjZa|gw=bc@SsB~6{ru;ztpm1Raqv;shJx11M{h7w8V;elIg#^ ze_7OJMOKQgn4V~GX)X|&aa4Uu&l{AbM@914C@srlHOsa?yM|9Cs~**(a({n*yt`{_ zX-2S4GhRp5dm{H0ZpHf_%Y1Iz?>s#RugWMmwm;+=1n7}SLR}|ItfU;Z*#s=>h)ahY zF<>@kIhuFe8+%UV*Gurpm=)(|EH>c ze8-I!6Qj?}_-vlU!cCj#T$;>UHji23Yqej?zQVsfNLG2);}!JvO^p1n4v>ZYgUmpg zS{{UrV*}&7Fud-5L{oh~SaME!AccHj5(v%9&TZIZgx6|Q9697p|IT(0OI1|v z1wX(h3KkO5X}CJI$UMc(ZM~n73=`%qs~S?_At;IX)!J3sOS17L?$KScNdETsi~l}( zgSgA*flf)lOuO6xp@_q3`mW^_o zDr`h;J@hChe)1+&yeW2>Q}&f2N_ADQvC`2{CoTCx!7AnwOTE@p_=))9O|iG~IoC^P z&;0rAfTnq;O+Y@jYrN0sQe<(F`h`SlYJX?P>9Ab%fKhDq&5GfC>&Bu$N8(2xQeuyUx<^bzG?~+^?j3!59~3P#)XFn8 zw?EijOoAlA7|Iac3-?@4dJRExDvL34)#qAkQ^1L_Qh%M0az;YguelxDjgOCqe~_=p z76##Lj4lwbketm^!bCfs1jwibLKC7TmPDiNEyT31B$ z1Pqlhj-|D()J%B5UMT@Cwr|Yp32Au0oS0ZD0V#d&c{x7fNQkm;g@R3;ZC{6#XkSkR zE|hF>pgasG3}+N`p&N}qem!ME6LK;4vY-{~A6GNS%uiy(shZDY4Cet?st;B<7d4HO z^4dmynB~4daWl;dzT;VRmNT1lRz`L$7Gj;R_=h)Fz(TzpbYwHexAdIjH3xRHyJTV( z+G~l}c?qa#y!MtB`J*DV#ZGqJY>9JWQV9DbwX$|2miIXh5|6qkfX7gVR7jDOIhwDX zl9rNI6orF>7DaWoKOR?#SDeD$^>U)u2NSTur@RJY?J#^Ro%Qo1<8CIU@|7<{KH;!{}>cPOKC(7{qK{S9yLbUkz^j)ye)PfRy`j$wGi9HpZvQ zXMZ)wv2~P6Yiv(6td2;A$5fT|n<8n$w4t-*_dAMWBam=urjkfAQrcUW66E)p8S68- z4ll|3e7`qyIpul?z4^umitDGn+s=Rd-EW@fuu<&*)-);?ak`&BB%>N*CjQkADIA6~ zXxLlHM$oBU<5SwpMsAuz#ytkBNEf76r4S!Ya%8;dllP(LJPpv&oC}!t-n);fDdLas zart>&Kw6mH4^O;OGM^u@|NWg3>Z+N*%So#-MFSY!XLRUXSLvQO#vE<^__hHVnOvax z_zP4j$q>Q|8xd04J4O_oU1Jseu)cA?b`?0*^Dk!%;#p?wKGU!8asIMPZ%Us&(D z366l8erA_{HFe-3sw*3mhSJ5%t!Y-4#~$2p&*lTDC$%|Oma_j%bFPv5m6?~+9aD~M z1bJ+vW({c~2RtVCiu?H<&n$$}+m{yb?%-^Lt(EbE5=q}R2cb7$ZN>cM!lx2I7Iv>S z30t3kidk{6JRcX~;{aEUBH+GKqYQ$bHIu<_OyQZVx9|px`Us&vf1``=R>F=mfj1SI z_Li1^ad6oSt3+lV;Mgsgs`;)!<-%j@CeJP7bQD+vVJ61GNImN|vCg^1_2~wjo&|=g zTK+Nn8+|jn<6w2X|}ilZr$GJJf|g@uKLd^IB3>9~{2$4~Sqh7}eR**yRxOeg*NgWGC-P(5|y zn&W%Xdt@;~uAH`JxJo1J+!`YL9r+>oA$$DyHsnVu@5fe=Fjnn29o=&EodJey`UFke zf}th3-{rn&H>$A6PWmOM(DH`RZu4neR0#bNN-&t|b$3{5$MFue{%R85kAdg77t!Tr zRp|)}SY+LQzR5n5_m{wsO77Kyxls~8e!^L7Lze@l{9M0#v6oUXRDbz*RwT0g9K5U7 z5-K{F`=`BtQWTGk_?>1R^!LmgW-`eY>_KeLt2PoozL-b*!{*4p!m9g{;AKJuDh@&zWO2bJnKzZi0Cw7%NA#5@dJ#D)8ypj0k~XE0J4>}!$MBsBH2b}{w+UB zmX%r=R(OK@`tYmw<^Ynqi1a^{Gx)GUh`bm0_b~YH5VaM68n5r~JjF%0Iz|#p8yds% zODYMfBf!#3=3a?e5jUd2C4m!|uQ()4iL@%0-@Tp8GbA~g^6{&P`w-m5i&x-&-fTvF z!4dE|;*1XU3c!qsfQCo9RCd&b{OWD!`ES8_f>A9#nR@xwCU@JZl}Ytz3nq81=@G{0 zV5?epbw6<5p=OH|X+?fR;7404pX13yhvHJO(_#GITb6_72iegb;A9uZkSm(nwYV-} z(H6cm|IX8E3J8gjpJjPm%w$-*ay?pv(IT9P8}Qe&2@%&@peCYJPNTfV z;f_2K=N(wU$FDZP?0$0vlXcI_n^;()7~ULYKh0*_79co&B?vxTe-CaOkctPTV6NA& zAAcGSysYt%ODrttkMvXwlV^$NG^W^Z>4>ys_V%FF6_7{C+j$vcfY{ z^#^|~p8OO#Zck>@`lg82E)P)S$QP(J)qrwm!_Khe?0&g=p}kYys$|W#U6>pRXW|p~ zBWN7h9qR=wF4VlX}o%Hmhkddxm1Z@6RhpCBN; zNFalCMBIx6*RD4z*km(3SWchnd#(Dl-W+lJS2kGdeJ3VJMt~V`vuebEV#_%Y!vdOZ z+bRVy`9Fp=<`m>d{^sWwi?R39Pu1N6-8!hX9&bFWd`^Ev?;3XwbePd!f^>rgj~Ud7@gCZJKR2(J6y87YVJ-%*X_bwD^6UZy z3nlq8$f^YyK2F?Us1XEd*;VU4ywMC1t4`_OvtQ6|$Mh;%E=G{%w8o8Nzql8~H@3T( z9%tNBZpBJP#jZ$dC8`n6&&S4>AB|&_r}-Uz!#G#k+4Q|;NVD*1l2@adJZAUaQI3{&;_%72Re-(FPzW(_ z$+d%;-Oyd{Vsz+u$d46?1~3`X-MTa;k8fD%0f4ViH?!oNc|pNidw%aQb2QLI3SoAJ zrb3jvIhGGd)3>}*rq(`vKPkRQy1CUZ6^)%S2^}tRZ{u}wCCy}rlwL}c%H)?=rgvT+ z>m;0gUs3st^9=m*%JO{apBWp()4k1|4D+lg-x~Re64SYKJGiXOpu|zO*`x_yr?dUE z+q#S&BDuazyO>|6j5Hz>6NiLpztf^;4OpFOI7e$s!dwcrfCM>`O&9xO&pk>`2H78)y|R=W>-f{&stO(NBLv9qiM9L&p4} z1P=`(?gYd`Ryb^32syDisjWHYuQ@#S@7Qv4_3R;JgJX~uQZPehYV)mSqk zO6WX`U&tyXK!+?5EV8P9)L;!nE9=0`ifG7h(B+Z!HLUm&Q{vJ|!bpp0??M58h>X<_ zXhK!ZEi$yt{SR7ET|yrU94K*_`AQ`nK<(F z+g5vW558UCO5d>3Y-T3?=Zer|o&|~H!jT#s5z3;|1J;KR&kY^?c1gMazSR9z@CtWp zqv1YE&V(mc_Ax5=x}R#&3o8|7nMyft_7Xy(0@?d-CqlcsHqRjd^F1^cI6TuO7BG9} z%q*|$-{D)nCb z@6CmE_#5oXl+OsnDEns=@C@P~J-TJM>Ce2my5}*sWcE4xA*#as(M{zC`{>#Wh@+b^ z3+fLV;;;wepN54wE+5RZY$qCDrN+r_PbWRi=;(DtdT`v8L5t4iy0vasV z2(A1#RL^>*4IM1Cl}LRo1Afiih+v|}62-cu=(_LXYI2}9z4Ph&z`|m})>eD5B5A8X z`zse{(5(8>`FecKeL>=(wiFNNb}iGD2OtzJgQ?OJFl)7|4dr9=&$Gu};Rb$SUQoBSx$Xqx~#0fpI~}TwxwdXW%_|#MWN}Z>0H#8 zB7M)b38jzccXb^6R+$#1gA?C>s8+Ts8_$2f*X&-HhlL2>F-G1~!hUI_NI_Yon6%XR zw;}i4?z*pbCKr)qrg-*hB5TonnZ76`r%ltg^I?G(&=RuvmrY(Aew;p@YoO0G^6odk z$+(G+1naCwXioNp1oWUa1#r$-3f`xAJu;_u6EWSluU zdAxb+BRH9-U$A}V;JZhPe}ILEC1=$u>pqYD;dv5K-)WL3aqWeM8UaOFQBfpyUge|UkSxHDso01^k&38vF5eDTLR*Ah4_%9dWXP-;M=KGX>QZ!cn{{3%G z@9rHcwYRz|$ae(iX~(k+DaOwaB^ezvTt^r$9DSjD%{enemEVsr`!M$=J~RLr3}Oy>c)8&|nC*E>jC>#MFEg=W09nz&(vkLkAQ zn^CsXk(7Q)jO3guE5nPSW{@-STI>lpf3A)mY`3JVzu_oNY1B-EMR8{tT%b#wkuvgE z$W?ckq8$`TqtY;VS(t-M!CeZM?^8hq5flVD;Hw=MTJS6w+2MD=|T#H%gC9reXVLnEG>8oqX_*2=%)i zpC4PUDqf}gf>zo)&(|OlTdxXTjp1@4bopWTbS-0vP5s?TlV`1!3osVSw^B@;wy+S1 z377TA9y8}l0-s(!?{TTBOQ(_@k3qpTvr!u4dyi%(JqjC}t%=?s)6eq{BeG4rOUUq} zS9B_0ezGm>N%#nQF?JuNbtd+N^0InNuX?`fb`yag2lhB#oea(FzmK zwinvOzbZoj4%VKNxio8FrO7T&7@-q0#?6dYt&f>0ZB4?e|5{`MBIgZ^rtnifP_;q z8M?L3MWjlf+Iy9rn_^tkjPCSRW#*~>irm+|#hh39a{HTC4yP>aVS-`6u4SM=4jMK3`oh5-@Ad-X#iv#X|R-9a15wr z)%>Pw(#}Rd{O&sbW38`rJ-5-*vEMP#{kLb$6AD0PS5at4uKYz)>|31 z8CDH%a=HMIVvT9WLR2@siVa`VU`>s){$+U2Fo-lp{`#L?afwkdaCs|`R&CX@1oY4i za=$BgZW&ebnPs&kPkk1-hl_B|lhN8JJIgPT9r1<(;xfOQMi@?MNk|!#W^_FFi(5xW~d!zWybybm-<*obT%d{`YoQm~YoO|CAC=d~YhOvr+a}m7&TsjfSp2 zC}Um{FPh!J4;wi=J-lPEiH)ot&dwNpo2$1aX!`x+)RK%(4pHspI?QihN+lN+<5Sto zb~p+g4&~uku)#;Z{{sd`<#7H~dtMbtKf)wKUzJ2!BIA1A+Gxo;)>t_Dqqu+5vPCj& zq4zLIAvrB2oBFNKGg0ZH*2>D{Z5Sa4m~;j32)f_b&fmsTu!(-t8#*e|)IOGYIBzuS zGuXg0@bb=wQeGIwl-5SVpJqv)jfHq;Xe1{HRZ1^ExN{}R1(3$Ia!E=rMde4FUMkd(JO7w0YUX(++GT2VT0eADp0{j5>l#MK>TPWX~UhY zB#wU;zGTC(GaE|CJDHMMD5!+})L1cu{0mYgFt@RdMN6L?009Ew80mle0GL~TO424iP^n&LkqaY4XJ4Ha%DphlL_dX=Bi0Ku9D{!=+1~#Gthl z@bs42-JdMsOzMDJd?}{;zgt-3Em4W$sQco`u>=NAz+ErFHA~pxFr-ke60mo_(B+o8 ze)BCL((ys7kCd>3^Fy!@Z-%%Fa0zq9NR9bQJ&$)egJ2y)4b;HcQ^yM!IOcQ8H9CRAh#CSCDvj$>-K4mNMP1$mb&o?Eicj z>^$C!FN5F;#bkVc@na*S!~3gnz92>0!uu-+yUjk>4TRqfp|_vqM>FB!%ay_Pz`I?N zCuCOKEcAPgN-R#Vkp`qVUp2lG_yyku($}AzU>c#8W3td37pC|6HGeoo3SE#y<~C zM3J;=?zQ%T%5*sWeT_F|Lv`Ne!-tDb%hbIwctkXY_4!vx(VAv#f{U{O5iEDw)m_Yl zGzY%?E{TYtp^`%gIOQou-O|t3Fp}iA`$joB(MoE0VlUm5!q2?H`d8t})hjQDBpF{) zU|y(-cfr&|!NMzRGn?hgo%&U!m+Q$>Y$vN1F)+6X<_hofw1%xjV4fg85_!b=?-PVI zF@t%61zSq-xBcHvoD*>JX=I$xF0_)C@MlF~({^H`eFA>*q}@ftQ*&vl%4#1LC@*`J z9$bq2zh7eJg;n)J2cFMZkQwv3u5&BJ&r_E0z zKfgZ;c24HGzD8U+8P9x?on{guPkuX(7Js@|wNJZHOKSJk0>JQ-0J`S8u)Ck-L!w>` zSYGXSF7alt%g2b`v;=gkLC5m4J1zV|PN}f=&`DypJ8{`X3P0{B)SeWF`Xvl_ppA`< zi(y*v|Xyui~3kTcl8P`+a3778z*zMSx`k)JGJYXWA(o zPfU1m&=cx6ik6Ad;de*a?XE7W{l%=OT+G{o4&NTj`Z!7v2N5w|+TzK-XMl-=1<%tR zau2-yZ^i^Y@T26kKfbGNB16Ib7BxQD(HeMv)38dU!u;qZAYYu5EDC~(@ke-_!16#PBe&_TiPwoOZG+Cjf@ zd1fh{hBGi{74^0MV|o$P#3R0c zPG(7Kv3$-dR?Om7d?2@JY|6VI;pNJ0sD>I4rmc6Z4j$R1;t>Qk$z1D^d zNR2sJNGMf8=oP5t)%tIpDZ-h_f%yJW1)cz7#eiZMjzSUqeSo@O1}?OQ1LP*fIH5HH zYlY+Ddmjx9`d@^FxGRqTLIK)S_Gw~oW|K2Lzzq{6@#t3B)_%AR__(9MeMVg0YWn#C zbF}%V3@pUem?zdEa3+dQ#U|q8>#D$F&y2j-9PF3{decvCFUwmDMd}CvlKR9hmO8rP^@OxM7=t z{?H(nwqiU$$Wt(juZX1QT=}q1Wcu>fw8?vQy^7iIMkp>jZNL3p2Fr5~q9@JHJ6FHl z9!i}0o%pB%iX4`jp?y2=_Jj^EGJeVzJ94LO;_!5m{c+IIZ)w@;j()BVkeIj$g7IQC z?ZZ?qEv_&4+%6!Fyb3Tn%oR^u_P4<}R>?fx)x=Dg1w$T-so4wcr&-W;7Mr7>;Q?nwJrj_*{g_Ovw*9r?sfPhb`MLRem8PDV*_0-Mrf3 zmEv^+Otw{$f4=94jX1T$M5S~0;wBAlnPy|kwY-9GKIE}6(8!W#O-qFqyXe)U2q@V6 z_QM>6Z|k*yqeVYwl<`=JAOwyyYXu(zSafXd3(0`(RS{n*7Q23~$sk~sdU@QjC)jPD z!|qMy@3pmTo^3>9jG%#pYl>*W`>1K#(#B(kvdlaN=00QKGTR?6_{le#vp@uEe`+mjp z1LgbEN$E?QF*{D~x%5fS3;89-Di!1HW3;A~jgK4*_7;nvZa4gGf8~MR22jO?6Q|My z^tjcN%DNUi44>iPZ>==Z|Nh%Y(|?)C?0O_*>Cfjjt555l`=I|@2onB{=5nb}HmtttJi3=3P7l3$t_9~~n|`v!GrdMkdZ{M;1dhpl zUjmyN$bT_jx*09Q(Ia}`HR7MrF@ZZ#`~R4F%do22Hd=ep-5t`6bV+v#64Koz(w&PA zDHko>DW!CWv;r!nbVy2fxo@6#@8kRY$uD8fdB?cUF$Rt}Pd-Bo85(*;IaKtf`5!iA zz)--`Fa?OA0jbnr!P@h)J*NP|*Nik~;U_Ww*$&7E4x3S9$ohCdn4gZth zQt%m6S)?#0=dE{sgKr?U^Op!XX$ZDw{pARl8wAs{Mpt|Wxw95m82A%6T1TTYgEqiV zsLVXs1rI{h|NF0!MR#%nKgd(nl8D`}eQO1qJRukaqQVi2WV^YS>P@Oh$5(j0u@5;q{CPhi|Al5~_D_P-B!)U>*Nd_c zNw5s(mr-4j0s?5=8O)HkeUQ7^ZDmj1d@n(J8Rqb1Fi$DMUOxB%G+x2lB%Z7%AWx}< ztdS~YQ^W^~E`fqgX@0Vw_;pD-Fn=ZE2 zXhq-Xh#-lw3SR?pp5o*g!pw}SsWGNvelp>fbg0Th5Zhz-$>S;+YL+@oZrP;GD3w2) zd3c0V@8Ffp-{la`uRu(XbGShAztt)d%pqw!GXbATO@%8@vRqn^b2{6lo3#z6p8{b! zceazKw%aabrMQ=!)oNvB5~wb_7ewT9NkP2c?BGKq;ZJf|Dv~_=Q$QY4TM(~friUJQ zxr6tNd_GAf{sC6&Y)s9SWBumc(9e5MQmaG=Pkf4|dH~o<$_e>bgTS3GWIQ%>VjFN# z83{cC(8VZEw2ZTz9eeLL>^hc2ErzYTk$u)6icCw$`M;XPn9ydr9#?wSQdgNul-^LS zb|plIvZxaO3RHwr7{&bMnForcxrv*b+XM?)I$Lg5x_t5Bvh_Z^5=|4Qx)kQID_|90 zA(M2!BvspxX?#r=-8ec)Em6W%E6-~PH?e9;emx6k%kMOw97Elb3BsH_JDTS%=FtUS3DCi>y1S8{8wxy)_f^dXe&2>W7im^o` z!Zv@#+*@1xnT2biC5fOoaOjG!*;}fH@SK-bU_a~v0m;Y0LunfTeu3}s)e@XpB=#YLF36t^`YfgtGZe@D0MeM@!PvXMTb$4^Ma|At^^0-6d2YlZh3WAQ`qmpPCA7t0 zv3{lYLC%0&sO+cT*$3OmL;L_s0>e&Uo|jY$0Io&H#x4VN!jB1)T{%|_fsn^Q8JP-T z=4gK|ANPA1+{Ux8dsp`(zQ@SDed;s%@!hXBNoqYq>oNO8SQvL89t^9QIcSi%D$$X0 zh97>9i*=933ZJ$kzPkRzl`mP|H@$`l2}8k@V&L~REi{z1wk|0tkA`{0+94vv7eKC3 zM?MI!W8AHt;@M+i0_@EtUP8bRlP!VxJx3E+^au(eR>^$>aQ?H-q@q!{UjLHX zrNjRE<16gJRRxF`DekAkBrN5}1D6(Kos(7&bpo1A#(%!_%=r1vrB=fbA=IqQHg#h2 z>5?P`AvNz*ULvGd2$K77o;uifH}cHS?ai6I=L^0+5L?$`Y-IYOu{?261U^bQf{=7( z9-n_jkW2drKajjPJZ=C7!Cpmrq@sr9Zgpw=%3JPGq(2-~`BN2IjxvO(QB;P8D~r_> zc=x<#WL4xh$m`O7#T4QMR{b&%81P#R7V*v2nNwwV9z0H=$@rXHuwazb4s~CEQ!4h` zoj2}aGgZcW6{fn~%5f_6g*uMH+1!H0jec|t#ggV^dQ#Rign7-2X4E(O;uIlzazjaS!? z(Bc@O_5?Bxl}@V0GFBz9kU2|T-}ss;-9IyRCt5Rfge{@t%A(DDJ;6lbsV|4830I|! zA91?r+N_AIXMud1uY(hmHI4knq$sfRaH#Thc0Tf5-+vDd_;0XZ#3v1y-?wRuCDVrg zm}q@dRE^^uXkRg^d*&~qKbL&$nz7&iA(;RnHWnZqn=NA!gss54(~xNqk*a?qwRss5}6cv<=)91PB)Y0h-c% zo9$O}Th;#8FZre6=vkpTB#=p9Umv$l47aPWM1&wT3bVba9`7Vk`Ez-HVnrUv0gFs~ zA;{2S(&}1R1*-Mu#eij2qjtyE0VVOTO1O2Z!)mlSVw%QBq+fmj!dtWlfonIlmKYIgW7h%-Y#^9dFrKhYNaIyF08fhy81XKp+8>jOj z#p>hDLXjEOzJ9I9^3howajipVJd4moTBe(PXC*5m>uVW5UW9{szrMgnj!)3HNo|fi znGtIA5=!Q}rbtBav6LmPMo)|&ldzX8jt`|!twN-~$7e(cVw7WGrNJxUW@&=T&$35{ zAO{oG=8@h8=#K>ieX%EvKh?fzohq`)=tQ;e5y`a%kUXyrzAU4Fnk{VT1L;br)g5q* zlC2(8$z)9}qy~Pul|Yaf-F2EjDv8&bmm7GEqNzpjTdw$U>AUqlTEIcwRVUBPz^g;_>j z^zIC=a68pZL6FVGRjO#Dc;p+U^%!-mz?f&erp=S@;6;$zYjGB)Ft}U@-}Pf;pk!tU zXdoudTywGT&`qYU{s^}slzQ_-;ke`=pu8xqr{2IfHy(0IWijA2$-wS)ma---RnK3x z8P#E!*1=ams-KAqAY2J3jSn)(S}Xl_ofW1beD7An6s@9ndl=7pcK!rvGVdzb$Y$$VI1f=9W3YqFe54yf5VDa`EeSNCnZVE)+pd+I4L8M8@pwPF5`QPJ9`lDq}6<6c|H0M}*T`^pfj~Fcz zEbQ-OhvTu%WWC=E-$+jb=1Iik{oC0ZvY8r#ls3ydkAZ~mAVtF-Tn3%U^!31a`(7dk zj*1BNYj1lhsp26%mJHRDak}=5G$a|(?Kq*jhJpRj6@qmZh6go9x*Uaik!pG3(Gaed z2DMSTY2cuXjX^dh=L=M;U?8mLnM!Su^4}Y9{32Tm8ENcOa`#&S>2w?AX^EmdmPf4o??tG3nI8rZwAEq%M6 zzqu+v96VM;AKALiB>Z63yjfT``;noRBNbk$7Y$S3>!|BI0vZl|iIbe9vhxv6o3Gr(|Cd2NOt$SP6dh zewF3o^-jF+!L=>M?*mIDfVjYGf+@x5SQ69563eFLcPp@a(5jgJTuxHr6>v@MJx zp>x>1??C!6_c44L@)RzG)5}-cv>1$9tKw^MG!Xh16<0plK9%NmlTTPx+|G9GCL1iU zpIsH|5vR0Eg7fsdIHAksVj0(eShm#x=$BbM(Cn4pMp_x@)C2WF1JZe~PeT=>D~j1R za(ugoN{dD~KsqW0+yKuFw1_O!pAPCpCCZFFRd;xJpS!G#{P}=C4!}ykR?1OqY7BGT zoAwJ<^sY}C6JomhPl;*tkb5!t^R^*vlF96{$`Wu7OpN}#^hgjVH^2JHeE8$A@yVF; zEP?1m^RIRx_o20a7hmc8x&Nl*`X~Bmcl7UXZR=HYc?Q47O*E`H?2JydSuJ;+=>n!8 z7TilCaKTr{Nv(?0>Cg}=tI zw1b-s+nLH-+2txrXliIr|C;!Kk3c-`moLaN5izY^yBw0027lV=pCNHpQy z)vzi(A(tYP+~smrfj6(ey-Vrd-dbdG+!(C!iexH0am@(F>=BPxU+90htfr@uOHIDnNMqLu>Zsh$KdbO2fv3&%YPe$unvy%=4q*i$7 zsd~(h7Idtec90jyDTSG$9Q5?a;d$!c3pp=lKH-jOg&5ICdjbQ%%<6q#x++8F z)aTAbFrS8XjX{fQ{eNID>tTdM(x>LYsA;4}8|_p`_fK zk|2-G7ZN4DU1%I~_EqR7Fu5b!>VK(EX0Jp~Hn*<#uu1Q*u<-O9#ATCke_o1?WmD3A zzl|><=*%x3->veoZrK-!EpR^ciS4U&-!A0$JJT$L3uket(jJpwLsF+T8zPybLnBhv z_yX0t4fR3m#jHMg38xJI2QTN{ai@NhBM|~u>l{2p5K3~~OG=$HQ`||CI2d?x&T6vs zIrNEf+jCx!-mlgxTBHtC^^>^I^bR`3vvGOkwDBwNwxnuhZ`n56LJU6ypsR^ye9F=^7#nsld#LDDr3|# zGlpM&CFcd3W00x!n@R8#7-m^82h`!9Z$?*I4HwaKTNZ{oKGRcjoa)C zlrUxuMBIniRPZ&sa3e2=GzkO%>g72OO32LMxRr8wJVeqhvQ2^CUZ;K z&WQJ3HfL}-%r_~?w5g_!ZP7B#-@#e0{&4`ZXgXZpIb&YPCGs*|5(XQ_LWU}m>j~%x zyG}JFYNybx`*A*)NR^*dfEm6G(Y_14kbLV|x;1Zm{ zT&fuK;MBKThB#Hgx#W+$tAiU8!At_qjq8m@{kH*kUO<%?%oS0Nj>fh;>2taIt4=nS zZuPkVg{L6-8I^FVBd1qlTFbQe7v8bi)=JCvTlB&Co)Afo>}?xzB6a<>@KApmHijez z>Wwu*P;y%eO5cRPo&ghGO%a?JzOPO^kOFxlDLLbhVP|ul@~(P{@inQ1&;dv7c3hR3 zM*o2u1IgDD%^$TLF2xM>KGJPD{mwh}*&W*Pe*!CSECQaGSn>FT(g$P2N9VaJz&bJ05O!!!fT>P$AYvkD~hzrRfx~dm&FY=i*QRv z&7hHL;@w^;kIoD6A9A|}`%9<1gYPAtn4g<=@A8ivazDwI@#3)S8ZL>G~2QBhJpubiR~M^V2WE=0jaHva-bg(^YC zQjI8k?MoaW{?nRqe|c`vXnjytc_38R@A4u>Gh|r8(4-boJoa6&XQ|5Tk3?@67e3YK zOaEyq{0vB|rwH?LAJ^UQjNY<#a$tAE(-!DfKWtoT+^Wvjy}JZco_^}ZWSQNl{)B-@ z_N9>w9@`1h{|N#2yUnQ?+L1ty9C#~;@BeBf-ADl8m0Gq87y*}n%i@ndxS&dTeFnzI zqij)LchaSfz*x2ik&H{v2T7G=2DB}wne;G~j6%78j62%m1p^oZmUNlhF~#^$iaY9% z`}fPBM_WA__vkJYp4(aCW|QELh1Ckpr(-A5G@k4-vgIz%*jK6_q^6Aod0Zt!<_=St z%;0|g?&3qzt5qQixlOz1xL7JnZPu`0ld$B!`xo&3{pT_nR)4$wSHFIg63iGkq~n(> z6*^)g&~tKUZJEklat%-ntfE_x1IEtxD0cxe3Y&rQqF5F@Xu&<=6>bInSlDe>=O~qK%YUuHPX(WdxUz3dx`Qy;*{R0~+A)oZ1J?2ov+E?H9Wsvo{Dt98oD(fY}gTzPf1? zEije_7VEvdkpuq^Cy9!boaJovjH~yBX{#%32T}Sd;@RlBHS!lB zTAeQl3ah{vy_Bw;e^UW4$R5?EU^6qn)if~nvqj*=~N!Syu+$MP) zv#dlSw-)lCtV8lB?QrTFd`UAb1x8{y@pL%|$M&Ck+A@ryua|NNGePA90yl8@khp|F zC{LCWu}5qD*XO(s3&fWmlh7}oNoB26s$bFdXO&O=iz6;poU8jW_FcYmb`R^kr(b^O z+l|M>ctzh~__^(+o)vAM-JaMD3jm*ADZ8er4w;PVn0kGoc9)admihAjsX`8PNP=*S|B0|yFK__E7Awbk%yy5C@y52cS z-40J$jEmzE1Ae7=#1JJyMlqhBL8I;!-R;X07yO+bAjFI{%N#q~3taAUoD~W^2cZ4k znV<#t_mM^`obBpwxp)b&UlYGTi+NrxxU@8DzoQ+Q3-BG(Xa^kPR$!gDNseR&?@aAW z=AN54ncvOjbO$_GW)=f-sCB>`{b8RS~hxoE^jQ#NjwH;e^(kvw1e0P6pKO~Cs(im(v(%n>^ zy7auh<+Wj?7Qgvx-QMmdK4aPy`VhSH?$Ps~3ZYKcS%)(rRp1u>*)7bS@e&0WyHf_6 z92$9?y5`3PF@6e@+I2jRSzqO1rVM@xM0+`MIA5>$cDZxmhvz@e2vIBy1V-3a7Z3))vPsc z^W_=pW?~qM7F`Fr`nr$%nAP z^Bml`c&lSd=t0PU=f$)A@AS*`NaiTh)bm%85RpPp^(@{m4pPCz?@BUi$;AS}eCF$7 zF`VtOk=%he5ZmoWk=Aw#7!RkE(2pr;THm|L-87W1CzB`Tz+*G&q62h^d-2Q`)%9hJl-DCN>V4l3HS}MV^`c6XuSV!c+{iVxHP64bfO^C{As% zumTPa!`=FWHfc?gtU|=#7tH|qZ{&mPY^aNeCeuL4ZMQPm;Pp2xpx~Gl#_;hNwo!=M zDWd_hVNqA=Qtja5Z6NU*jh$7Q#U&;yEg9b3|EL5cJ*Kxdj#Ht-bf=cq6&kT=Z^XrX zA!!fJB4_hc#c&aKbbEB;2^RT3kb=(er);0MIZkpNGXYC;Jmqm5oaE{Qs?Tc!Bd z@elFCP8%{HY z87nbLMO~3R#*ZgQMxuVG>;f=10G};yIv}Jv8kjB)bc+Q0BIbLBMlgEoP zhK`BGir53_o|-!lXCQ)Q73t-G#6vawg@?X)VV64_4-R*u4!*78@i4qbjIQpLWuz;< zx{d1YU8pb3?VDH~(*;NrzEJXu{Lope5UDK$MOhgYV(6(Aj{8Ig93v(~`9EC?twtXt?hP3b6fB%x2>Ptl z8uuvNAI6zo`f-(XE|mO%hYX`D?f9(HA>)#{D6*EkYXiesdH*RR`#B;q8-7I^M{7xvm^yDBub zdb2xx1g3yoaA-`*p`@4lPjP~*A|fAHRW&?Ijcb~?fB*2=6r}q|Gt`zJQnKISJujnt zErzFc+GF`;fr9{rhfc4qIe+nJYtZKbsZ3nL$6#t5a*-{_B2{?E#X~~o+iIWa%S7(t2^D=$~usK2v73F zYZsgMKThT&8a&Td;Z!~da-@;|BVts`{m|Ss2h;Ipk$g~W@Akp@yFZ<_ceFT+A5>ed znKc$Dn((Ms!m_`*)xVdktAlWe6wGJqXM7Yr zsbl#)k|XtHC7Nf73Ij*13ZUu$WM>XERikYD06+;}pM+p@In zjc`R+(t09#Y%g~JSVJ?{BA?kY?X={Bm>(}f*hAB1)if~n!`^40d1}FTv%i;rjIZ;g zfRF*c+P1e0&kj~MYoi_jB?bAZ);GV-9c}e9Oy4vdDLR`NzAgItm0W9L#mEfnVjbzd zNmEIBMx7Rr`{MNzKdSrCUfOoB0GJ7`h=zIIeTbedtDp+ac=%+6TV!HtbGGy%+(hpa zIy+JZU>8o((K3z*%+v}RU)#+~#iQ`>eD2mI@;})`YkEm}r}s`7D-ZwtJwNC} z(EYMDees4+yIHLI7IGCBkwNo$^Y9CI)$JXAd(a+3=}1l_S%RJ2w}O}NNHh{k*>h9T zQ~N00n03F?<3NczpRbN_5{V3M;~>O`aM`Yb2D>nWyM7-yDmeZ@pS~XDfMBJs&+^Do zcl)=(tMU8jf7ogq=tK{5+iYbrP}ftIY|?$>4zahPR~e48%J&9?kQB z+)(AsCLXIsQO0ut{6UC)vBEJS?f17e&76RE+^)!>bZm+}u&e(p#o5yK zK6O&}CIy^wU$JMXlehKlaf`Q@jG#5=oWwXaYpjB|O-U zg|qBrs?f}Pr4$^UEhcWv{Sny`l&gjE+I@TO_ZveUF(N~039;%1vp{>@78A>qOw0^< zvIk<-7V_`W^lL_F5cc7Y7NgG1-^veS@U=U5P0m=)u4|YXRo=tm0(m0bKl|#m6Avvm znTS?sPscA4I&U^UjTA#4(C$A?2EajZPf?-p z1$3t-%8c!UEfH~Az975&8SKWywN`!Ny&fJ7n&0Bmja7SNFvr&4pIKTF)j`? zhF*TM4XakzpPwH-76)y@Dn9R%f5>lnIxR7myp9In9snTuUMHIQ&&z4i46WDnXaX1M!%tu*I|g-4@p~3jGJNRNr?8&S*Yq{o6iZ|*8XBz+HU$A_`&4j z?eAD8-ngE`Kl4@#dYJ-LjIrCW%Vb zD^MbX_M$<@bL7KIUTWy~rU6tjpirHqSMd7K{{1_h#wf0;SJV3O9Z)4-|GGzF=vcgU zem$mN%p`j5^5_xc?dkOL>#MwSKrLup=f7lt!}N@RRY7Ph1MBn(RrpKrC&@KvL=F4fG%|9vE5zu*=D8J ztSQYq83i5PF>ElF)#Gn_YN<560q*)J=;S?E1_Wh@v`Q8S#ak!+40O*Ud4uIjmu&1j z>Fd<*QTn@~dYpLu1(edb2UZ{uGDFp=>T^ixWaV1McZsdMa3N%S zV$}T&ui?{Bm=Yx?L@504Q*ccnuvk$Ez9)=nV6d}goBD*)0Tq@EAbxi6k4#|EBL>t7 z%2QBu$@)oLXPV4H4o2>j_1FYG5yjix!qZ7Oq_D223sbZBI!sEyTQLqDXHIjfhae=+ zJmcX}YCU_rJNkr9+xi!J*Hrf*#~e^$dO7c@^qy#B%MxbfPAm`~&sGf`SB_2t-mCq= zZbl?+(zN+FKjMRh0p~lnPjTD?{4ARQ9<^$NB(o2U=)1I%(^Dfi!uBn8gfBxo;W{J^ zmALZ7i{pB}6$^!h*=s6^I0hd!esz5(UZ3CGkpnt1AU zlRD~r{aw-+o^(W%n}&Cyv=AkU0qO@lPd@M;U4P&pU>O|!O_1X|etDREKDR;}ZM?kV zxBZMl9YS?_gaC=6mjsijeyGIo9`SV)D4FYrV4v^X&+j2kE&R9x*F>jav9^QKFBrQ& zeO5F?HoJUpV3D~w*SGBL%^spN#_iuP_u^pk6-=;D+tH%TphHMIK*B${_bD7vINp@{ zx;axJCPz+*g8kD;j2aylc>DTwkySt=)zc+EkIV_>X^qUL?1@L@as0R}qm9$8)RwVaQK8oi zz=tS*wmoS_GX#`jrP7zx?2+XIsc)Z_R|ro|WzgL@>#g00RJ+$X>Pzc0+r%7g&mAT7 zO4IOlP*wFLJDvToc*P}S(BX0Ty!tur<(=5Aokqym(upjah!eyAMO)d&4FSK5V=46q zkGSwl!ovGdT{xb_H0?+{q~ci$AK(%#Of`P%P zY@Q)D-fgB$Che;{zqmly;8gh%f^gL8(H6ap=G<`dOo=fL(Ih!gW6XpaG!B^Mjb)Lo zD6$ZAa)EH!L5OJH75osJ6jKCTAH|T4jEwKd!Ag(WcPq48lzyD4j8uziy^5bHqCPv< z5e*TpmF}kEeG8O<1@%-m){-9zz6bl5%Xqqh5uJubou-Zwnf zBtG>Uyb6(Kq5qzJ#w%fAe*D3Tt1D++x4*v<|4w*UwY(L|zU~J3P&)RUZ1bOR5O~1J z(4~5!xygoaOsj`>>*m-Byf${9nwi0x+w@gs!N@)AZ$g67g6fPoV+*Ic#5@rrI$z6Q zG3tNR?{>o)>dSvKPXygbtA2ioi_lWq`Ve7saC!MQb23w$y#k@ifIFfbaX=^ z4C9qjOx;dphi~L+^c4am|EesC%8X4Ukg&QnJh@_U^fj)G>{yUwN*Fs!o$ufrO~z;9HGb5(sp8#HF7@pVaB3Pm z@ZO*OiVGS3;n(4BwllAwsTRFguXjlXUL_OYXMMTWoVhI`0#QA*7EByb* zB4EAAaw*d+Gi=KG{oFZ!wJr2}HH&y^u?f-m`ALxwHg>MT zmv*pG5Y5>%pQ_hh@70#DExKA{_Gg~jhU1|e32JkPx(#*NuJW9MjG9mG1xk;*%H5cQ z-v<6Jg73T3hNaXVp)MB0V5ExZIscwaa#^vB71mT}>c^4%w3*BPlBf`!FSra*IpzD1 ze-q1a$H#dWv=oMEIrlc+)Z>1L)cJy4zHlV=nhEJl>y4hJ*cqCCxY>soi~bA<740ZZ zr+}!}o^=Ng%HOq%2o++Ww&|ov&6&giC~Q$?cxb4dqphkrkbC_@3;!D>mp_=Lu#KKL zlHd2&vm7dyJ^va=clSGdcr(^9iP(P(WZH{}IKB{&@QnAP6mRuUgGEPZ02?j8$CwF- z61$O$iDWJ)$GiXDsoz2315_3$r{0amedT7=RKrCwYS0~b__wEZRxE8JgG?$u=k4#; zyRj*|&ibSut2E+1P>QR8S>aD7f-JRRVn*Gx@#=NvEyUk(L-a8lqbMCsIv)O>98srU z`ykXo`yGlcO^&t647#@M*j4I&*QKg5LT0Fu&Ydf)=XZ07liCMO`|K;!(J9V}8y#Ou zL?q$Sw;1z&rJ6c*ZZq6}eYQ(8|ahRlXiV8{QEk9?7 zpBM5;s+J#15^K&fePwysh1}c;?>Hw2F7kZNC2XVx@Z$|u!=x+>I$AR+Q?$i5rRmtV zfmG)3QnJ4CpPiR}q09C+|34NW{R&=~ODX{BZ8$DD9!Uz71hqsKX`+2XQq$qdyoCtSxJc;zCPa@zvhI8UEl1}e=F$K!y>%Gn!eFvIWaX651 z(?Qj6LLN{`@v53B+ik_G>w!fDOw&80IKb>2@7>zE?Ce4Us0 z2k-pMPg!?!94bvpM#gGjFt~K@i;cVZT}6OiI{vE~g@*mzRn|#MnHCvX+;Pq(^fkfs z+^jJ^OvPcc@EllRZ-M&t@^%}1i?GboMU23Q0=`)+jd7hvBt|izFf)}Qfiu2NO9fzj zAv+#&z$w68e&z1Rm0E-489j$2<4buHjf)Tg0|U}HqmmN?867`)8f)vI+&%4(JF50Z zH}TwT;atXC`F_DeWy0=zuJ&#ZQSlC+q(gZHjW7AO!yTj=jeY`XXTjdx^M1Tb5?Mar0zqX-{W5Uz;00b=9&Vc@G%+huG;rjSx^`m7Q3x>SUeR`Y? z5g}Tfe;_rhg>WLY@qG<_naCz3%QL*p;y0x>fqb0^>ddKkm^e7)w6an2r>0Px0wE|$ zQ=#bL>=x%B#6thLU)pyb_)ZvZ>Y6v%M5K}ZH@(o_&V|NdJsYh$n(rr z<08&fYa)phc8i_uV;OK<@n9IMl&;;Bk86CtmX5{f2+-^2qjhvu z&{5^3@O2`dpP+MJH~Y%tYKKf?aIe3V|Htk4S3LdNMMb5SZgjgf`QRx)=*!Ol-v^P8 z&kZu!CJlPod&Q)arfVcRy+`u6q?yfQuaEbHI75{5Vz(dizxfe~* zHKgzz@vh&J@qgd^$@&{D(*GDIKJ<_bBg=Jh$ziZ(R}~k1;Z{V1a^P3 z4ZL4a{EVB^Evuydaiq^1I>ESyR-ORwpx`_8<2AlJ!L>}52=Yg^S0=k~jeVBJDW{`l zqKPbL5H&`}DbMWQi&lUb(=yIBHcuxr<-~nAAO;mD1QoMbMtOZS=}0$e%)}d% zGX0ov^wXL|(55>}g_YOFwhiv;@<65Smsd%DK92STIk1nGPbs8|Nb@(V=}HDT`4yx?WGW*4UuA zWDj%=8&HEJ@eAM4))Pg^RWj$KwzWvPY7oI;c_w}R4tCE(r9L!(ovaAAigc<*D>VW5veOOkh~>YW2o1>d&7+w4Ta+niWlSY{Q(w>}-_(f&fh2TD;{Wv#N$9K45{ zXzkQw(m)VWzdm{h@}Jts7Gl+Gv<5eHR3p^K*inMrdoD?>?=6pt3m*i_>wzqhM>^c| zK`MiIqMSrMU!$!3qT**piUHlOya6vRTSiWn;1>sDaG@~y=HwEGrHewhw-~vI%r1qQ zi*{(?<9^?`9%?_7LkeuLb_(eL71W4G7o;9y{f}kpmYGfUDK!3^rsxSei z%cq%%nMZ>uH{cSRz(7Qnm~??p$^cCbc+R71@*A8zv9k>qzDe7fy<+<_)x$CttF*mm zrsgIUhX@d5<&khIkH#ZeuBB$miF0f{JY-zKuaH?Im}d}+oQfaq zOc$R(D16O&_Ys9(9#G7h)*1^NXsF-Fbe@&K0$B{N#ESK3z>CgW)BO(&1f>{Vc8Y9~ zd9Z_~^Ya!Hi%}j4b3{p1r~iWVJIj+ z4%H=!=ELvEV%!`~WJFG85Q%m38FbiwO&4+iR7B>c!@HbOn2(POCw0#ou@?Y2kH5YA zWu59pa5c9%HwEW`;oe*y)cwh(gq8CdF?4Ly)@s!rma3##9{Fypa$A0UOea7fVgr+U zhYpVBazK){RDw(<(=MLbcg!P6p~&IW-L#URpDL9jmKl?rloe!}+gf1Mp4zfxk!+H; zEI>4dY(^}Vx-r}QdM`WxYe-DBYQJjn5#U?a{|>84*nDd}kD!Y*!?Hk%Tlfr|S8^cj zu@ICa)}J&9PT`p&JNH;rxF;d`ey8a{^nF*4!nZZv+lgBQT_nyV;mSf^h3~}`Q$6PJ z)2h;C7rzPMc5DGCw}E?F0P9*7upJ49`d#}(PzPmkv;fmb-nXotq)w9XT16fjxRuYk zB6MwR*NEy_p#PdXIRzmD;sL_=_6eP%T*zt4mzDJ{iV`}4X+o~klQ(}fz&XjvScC6q zIWxP12OeCqM6!<rFHelP!R#w!(x`B zMXq(O!YTTk{)ViEk}9pS-qm02UhJ-?msC&21 zU~!m|WztJw`r?=$@BrF7G6y9`FuaJ9H+%scq#y{#HK296lt3709&3V>QMZ6L0}$_iR&~) z6MP|%lvy?~9$IFFk*kJMI1QRkfzO|li7AR{n+-P!20Y{?igT6~>yzL7>8RqDdXl`o z{PRChiCP7?ys7?^+9XZyPa2SW7->@P=eGF5Gub?8w%uQ`03TmMnDalwg17a6ot3ud_by~)Mvht+>endy`V&$ml?8+6 z=2i!ZMM*}0$?yM2&a?WMJoxRs<>BHVK*!1=>-H+$fin5^tqACw3!#-jS%7DhJSD6j z5t0hks(c!Ai_5T%>`eNW`Slo=z*I}%iLG~pxVU0qg?}~K!Nn9{#EQ}c$$DARfuNGZ zak>bpdIy4obBGikyqXJFFhamh1VwXBx#1AI;$FKC^ND2+)M_*xw!;;HKZZBOcq#$+ z;{{AX0GAk73EO}@nfjy;F&z)A?}u8`JaCHpwyq%O!9D5p;fsINyU|_^YK#v`^nZn3JmMfYGgn)PCW*jw==KBlxx)AbY|O;Ny7KohJ3$ z9IS)kQ}zck>@kIIFY-wYaJ5Khm6o9(}p$)cBcydhUh!6Lt<6IMbNTb4jnUTMmP6EjwQOP6k!wYiE zAogNwDIacDf3IzHoqZE+hE=ZeuCSy+yyt+qznTPY(Jk$mxRY6D}^Aeomo*Gb2KC`q67peJR*#=M#t%c)? z`QLvD(tGHRm`&`xBELTmWcci5)b4jp{cG_voPe-<9OL8S&w5UQ`8$x(k{s$CJeB91 z`(j8czM`pm7bx1=Z!VC_NOJ#Oko;--P(5%rK>$b@+_qr#D^&E6yS1b?D6<>{+uv0y7=T6{%{R0xNuz#RD)(2Q_Q#;B^@EqV53;S zaN!~0i#k@GhKC@`NbQCsBWbRUSWvT}A31J&PFa zdx=b?+-eXpOa|c;hF~>f)?q?DAnugeIyZXRtzxFTzdQ4qo@*@z zsSIA^V`po_p5A{vjdn&)l+C_>x$)TD8Yg+~S#t1`n#HC}6-Xh*C5ud$bQ7QI92Q)NhYgkJWWiC4B_pSt;9u0HU83rfa{v-709e4R{@r!>NXl; ze^<{J2-hWIv8iJy*3W3wEG#TAdm;1u)+4w^Bc#@ZR;$0g8TUc&fRz+8^hKpBd0#mdy(ey^V6+6-Pr}HIjO6`<5DN(1de`X&sC-WZ*`{? z1N+Lim8~gE8sx<|I7>h<5C1`)WX0SdjH~?)^bYx7$#a`yXo7ElrNZ%PMTs#XZXhaP zV^Wg(in(A29Yewj#Mph*TvocpFOF8sz;QN$s+SMG5U*IH`Fl95Mz(l>OzqkD==uui zR_cuxCM^OPD_%w7*9m2_1BgO15Vh7TWWugO+33d2^ker>A;eA8lOfj)$-rywaTmy~ ziVovKX4IQ922Frh`ZtNpp8w7HoMxQa}E2dz$upg_J=dMO$gLG3gs&tK&c^h

&*o!rsa0H*YyXk_nSzTx>y2Q5oQ-RE7mRnBzrV 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 From bf93fa510bcc5cec84bcd9d81cb8fae6beb1ebb4 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:46:34 -0700 Subject: [PATCH 027/306] Delete readme.md file cleanup, removing file that doesn't apply to my layout. --- keyboards/ergodox/keymaps/xyverz/readme.md | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/xyverz/readme.md diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md deleted file mode 100644 index 8f6dba45e..000000000 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# ErgoDox EZ Default Configuration - -## Changelog - -* Feb 2, 2016 (V1.1): - * Made the right-hand quote key double as Cmd/Win on hold. So you get ' when you tap it, " when you tap it with Shift, and Cmd or Win when you hold it. You can then use it as a modifier, or just press and hold it for a moment (and then let go) to send a single Cmd or Win keystroke (handy for opening the Start menu on Windows). - -This is what we ship with out of the factory. :) The image says it all: - -![Default](default_highres.png) From c060afe68eb729fd3afcfdb3f16e28730ab868b3 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:47:13 -0700 Subject: [PATCH 028/306] Delete old_keymap.c file cleanup --- keyboards/ergodox/keymaps/xyverz/old_keymap.c | 311 ------------------ 1 file changed, 311 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/xyverz/old_keymap.c diff --git a/keyboards/ergodox/keymaps/xyverz/old_keymap.c b/keyboards/ergodox/keymaps/xyverz/old_keymap.c deleted file mode 100644 index e082372f9..000000000 --- a/keyboards/ergodox/keymaps/xyverz/old_keymap.c +++ /dev/null @@ -1,311 +0,0 @@ -#include "ergodox.h" -#include "debug.h" -#include "action_layer.h" - -extern keymap_config_t keymap_config; - -#define _DVORAK 0 // default layer -#define _QWERTY 1 // symbols -#define _LOWER 2 -#define _RAISE 3 -#define _ADJUST 16 - -// Fillers to make layering more clear -#define _______ KC_TRNS -#define XXXXXXX KC_NO - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - * Keymap 0: Dvorak - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ] | 1 | 2 | 3 | 4 | 5 | Esc | | ESC | 6 | 7 | 8 | 9 | 0 | [ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | ' | , | . | Y | Y |(Null)| |(Null)| F | G | C | R | L | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | - * |--------+------+------+------+------+------| FN1 | | FN2 |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | LCtr | LAlt | | Ralt | RCtr | - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | BkSp | Del |------| |------| Enter| Space| - * | | | End | | PgDn | | | - * `--------------------' `--------------------' - * - * - ***************************************************************************************************** - * This Dvorak keyboard layout stems from my early Kinesis years, using the Contour PS/2 with a Dvorak - * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the cor- - * ner keys. I've decided to continue using this layout with my ErgoDox. - */ - - [_DVORAK] = ( - KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, - KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, LOWER, - KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, - KC_LCTL, KC_LALT, - KC_HOME, - KC_BSPC, KC_DEL, KC_END, - // right hand - KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, - NO, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, - KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - RAISE, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - KC_UP, KC_DOWN, KC_SLSH, KC_EQL, KC_RGUI, - KC_RALT, KC_RCTL, - KC_PGUP, - KC_PGDN, KC_ENT, KC_SPC -), - -/* Keymap 1: QWERTY - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | App | LGui | | Alt |Ctrl/Esc| - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -[_QWERTY] = ( - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, - KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LOWER, - LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - {ALT_T(KC_APP), KC_LGUI, - KC_HOME, - KC_SPC,KC_BSPC,KC_END, - // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), - RAISE, KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, - KC_LALT, CTL_T(KC_ESC), - KC_PGUP, - KC_PGDN,KC_TAB, KC_ENT -), - - -/* Lower 2: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | . | 0 | = | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[_LOWER] = ( - // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, - KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, - KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, - // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, - KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), - -/* Raise 3: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[_RAISE] = ( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), - -/* Adjust 16: Lower + Raise - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | Reset| | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| |Dvorak|Qwerty| | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[_ADJUST] = ( - KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, QWERTY, DVORAK, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), - -}; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) -}; - -void persistant_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - case _DVORAK: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_DVORAK); - } - break; - case _QWERTY: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_QWERTY); - } - break; - case _LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - break; - case _RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - break; - - } - return MACRO_NONE; -}; - - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - -}; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - - uint8_t layer = biton32(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - default: - // none - break; - } - -}; From 14938367626f0cddba4bc35abe62a9bcc02bee10 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:48:36 -0700 Subject: [PATCH 029/306] Delete README.md file clean up. --- keyboards/preonic/keymaps/xyverz/README.md | 49 ---------------------- 1 file changed, 49 deletions(-) delete mode 100644 keyboards/preonic/keymaps/xyverz/README.md diff --git a/keyboards/preonic/keymaps/xyverz/README.md b/keyboards/preonic/keymaps/xyverz/README.md deleted file mode 100644 index 9c23c5b9f..000000000 --- a/keyboards/preonic/keymaps/xyverz/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# The default Preonic layout - largely based on the Planck's - -## QWERTY Layer: - -/* Qwerty - * ,-----------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | - | A | S | D | F | G | H | J | K | L | ; | " | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | Shift| Z | X | C | V | B | N | M | , | . | / | Shift| - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter | - * `-----------------------------------------------------------------------------------' - */ - -## LOWER Layer: - -/* Lower - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | - * `-----------------------------------------------------------------------------------' - */ - -## RAISE Layer: - -/* Raise - * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | - * |------+------+------+------+------+-------------+------+------+------+------+------| - * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | | - * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | - * `-----------------------------------------------------------------------------------' - */ \ No newline at end of file From 4e030313f7f55be7573eaab0b91e45290dc2d0b3 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:51:34 -0700 Subject: [PATCH 030/306] Delete README.md file cleanup --- keyboards/planck/keymaps/xyverz/README.md | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 keyboards/planck/keymaps/xyverz/README.md diff --git a/keyboards/planck/keymaps/xyverz/README.md b/keyboards/planck/keymaps/xyverz/README.md deleted file mode 100644 index b0054fc30..000000000 --- a/keyboards/planck/keymaps/xyverz/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Zrevyx's Planck Layout - From c062b6a13d7974144b5ab02896d2213051fd91ad Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:52:48 -0700 Subject: [PATCH 031/306] Delete keymap.c file cleanup --- keyboards/ergodox/keymaps/xyverz/keymap.c | 184 ---------------------- 1 file changed, 184 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/xyverz/keymap.c diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c deleted file mode 100644 index dd39dbacb..000000000 --- a/keyboards/ergodox/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,184 +0,0 @@ -#include "ergodox.h" -#include "debug.h" -#include "action_layer.h" - -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define MDIA 2 // media keys - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | \ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Del | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | App | LGui | | Alt |Ctrl/Esc| - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[BASE] = KEYMAP( // layer 0 : default - // left hand - KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, - KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1), - KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, - KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO), - LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - ALT_T(KC_APP), KC_LGUI, - KC_HOME, - KC_SPC,KC_BSPC,KC_END, - // right hand - KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, - TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, - KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS, - MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, - KC_UP, KC_DOWN,KC_SLSH,KC_EQL, KC_FN1, - KC_LALT, CTL_T(KC_ESC), - KC_PGUP, - KC_PGDN,KC_TAB, KC_ENT - ), -/* Keymap 1: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | . | 0 | = | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = KEYMAP( - // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, - KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, - KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS, - KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS, - // right hand - KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, - KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -/* Keymap 2: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), -}; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); - } - break; - } - return MACRO_NONE; -}; - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - -}; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - - uint8_t layer = biton32(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - default: - // none - break; - } - -}; From 39dd3d674cfb7299ce377f70a678d3613f826e0a Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Mon, 8 Aug 2016 19:35:13 -0700 Subject: [PATCH 032/306] Changed behavior of _DVORAK layout's KC_RSFT to SFT_T(KC_ENT) for flexibility's sake. Updated the rest of the keymap to reflect the current (as of 19:37 on 08 Aug 2018) default layout and default makefile. --- keyboards/planck/keymaps/xyverz/README.md | 2 - keyboards/planck/keymaps/xyverz/keymap.c | 339 ++++++++------------ keyboards/planck/keymaps/xyverz/makefile.mk | 27 +- 3 files changed, 162 insertions(+), 206 deletions(-) delete mode 100644 keyboards/planck/keymaps/xyverz/README.md diff --git a/keyboards/planck/keymaps/xyverz/README.md b/keyboards/planck/keymaps/xyverz/README.md deleted file mode 100644 index b0054fc30..000000000 --- a/keyboards/planck/keymaps/xyverz/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Zrevyx's Planck Layout - diff --git a/keyboards/planck/keymaps/xyverz/keymap.c b/keyboards/planck/keymaps/xyverz/keymap.c index 9ac78ec15..90529428d 100644 --- a/keyboards/planck/keymaps/xyverz/keymap.c +++ b/keyboards/planck/keymaps/xyverz/keymap.c @@ -19,25 +19,19 @@ extern keymap_config_t keymap_config; #define _DVORAK 2 #define _LOWER 3 #define _RAISE 4 -#define _MUSIC 5 -#define _PLOVER 6 +#define _PLOVER 5 #define _ADJUST 16 -// Macro name shortcuts -#define QWERTY M(_QWERTY) -#define COLEMAK M(_COLEMAK) -#define DVORAK M(_DVORAK) -#define LOWER M(_LOWER) -#define RAISE M(_RAISE) -#define M_BL 5 -#define AUD_OFF M(6) -#define AUD_ON M(7) -#define MUS_OFF M(8) -#define MUS_ON M(9) -#define VC_IN M(10) -#define VC_DE M(11) -#define PLOVER M(12) -#define EXT_PLV M(13) +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + PLOVER, + LOWER, + RAISE, + BACKLIT, + EXT_PLV +}; // Fillers to make layering more clear #define _______ KC_TRNS @@ -60,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} }, /* Colemak @@ -78,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, - {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} + {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} }, /* Dvorak @@ -95,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DVORAK] = { {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH}, {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS}, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT}, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_ENT)}, {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } }, @@ -114,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______}, {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______}, - {M(M_BL), _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} + {BACKLIT, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} }, /* Raise @@ -132,17 +126,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______}, {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______}, - {M(M_BL), _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} -}, - -/* Music (reserved for process_action_user) - * - */ -[_MUSIC] = { - {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, - {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, - {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, - {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX} + {BACKLIT, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} }, /* Plover layer (http://opensteno.org) @@ -151,7 +135,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | | S | T | P | H | * | * | F | P | L | T | D | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | S | K | W | R | * | * | R | B | G | S | Z | + * |TogOut| S | K | W | R | * | * | R | B | G | S | Z | * |------+------+------+------+------+------+------+------+------+------+------+------| * | Exit | | | A | O | | E | U | | | | * `-----------------------------------------------------------------------------------' @@ -170,42 +154,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | |Voice-|Voice+|Mus on|Musoff| | | | | | | | + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = { {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, - {_______, _______, _______, AUD_ON, AUD_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, - {_______, VC_DE, VC_IN, MUS_ON, MUS_OFF, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, + {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} } -}; - -const uint16_t PROGMEM fn_actions[] = { - }; #ifdef AUDIO_ENABLE -float tone_startup[][2] = { - {440.0*pow(2.0,(31)/12.0), 12}, - {440.0*pow(2.0,(28)/12.0), 8}, - {440.0*pow(2.0,(19)/12.0), 8}, - {440.0*pow(2.0,(24)/12.0), 8}, - {440.0*pow(2.0,(28)/12.0), 20} -}; +float tone_startup[][2] = SONG(STARTUP_SOUND); float tone_qwerty[][2] = SONG(QWERTY_SOUND); float tone_dvorak[][2] = SONG(DVORAK_SOUND); float tone_colemak[][2] = SONG(COLEMAK_SOUND); float tone_plover[][2] = SONG(PLOVER_SOUND); float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); -float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); -float goodbye[][2] = SONG(GOODBYE_SOUND); +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); #endif @@ -214,166 +188,127 @@ void persistant_default_layer_set(uint16_t default_layer) { default_layer_set(default_layer); } -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - case _QWERTY: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_qwerty, false, 0); - #endif - persistant_default_layer_set(1UL<<_QWERTY); - } - break; - case _COLEMAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_colemak, false, 0); - #endif - persistant_default_layer_set(1UL<<_COLEMAK); - } - break; - case _DVORAK: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_dvorak, false, 0); - #endif - persistant_default_layer_set(1UL<<_DVORAK); - } - break; - case _LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - break; - case _RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - break; - case M_BL: - if (record->event.pressed) { - register_code(KC_RSFT); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - break; - case 6: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - audio_off(); - #endif - } - break; - case 7: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - audio_on(); - PLAY_NOTE_ARRAY(tone_startup, false, 0); - #endif - } - break; - case 8: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - layer_off(_MUSIC); - stop_all_notes(); - #endif - } - break; - case 9: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(music_scale, false, 0); - layer_on(_MUSIC); - #endif - } - break; - case 10: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - voice_iterate(); - PLAY_NOTE_ARRAY(music_scale, false, 0); - #endif - } - break; - case 11: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - voice_deiterate(); - PLAY_NOTE_ARRAY(music_scale, false, 0); - #endif - } - break; - case 12: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_plover, false, 0); - #endif - layer_off(_RAISE); - layer_off(_LOWER); - layer_off(_ADJUST); - layer_off(_MUSIC); - stop_all_notes(); - layer_on(_PLOVER); - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - keymap_config.raw = eeconfig_read_keymap(); - keymap_config.nkro = 1; - eeconfig_update_keymap(keymap_config.raw); - } - break; - case 13: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); - #endif - layer_off(_PLOVER); - } - break; - +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); } - return MACRO_NONE; -}; + return false; + break; + case COLEMAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + persistant_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_dvorak, false, 0); + #endif + persistant_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + return false; + break; + case PLOVER: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_NOTE_ARRAY(tone_plover, false, 0); + #endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + return false; + break; + case EXT_PLV: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); + #endif + layer_off(_PLOVER); + } + return false; + break; + } + return true; +} void matrix_init_user(void) { - #ifdef AUDIO_ENABLE - _delay_ms(20); // stops the tick - PLAY_NOTE_ARRAY(tone_startup, false, 0); - #endif + #ifdef AUDIO_ENABLE + startup_user(); + #endif } #ifdef AUDIO_ENABLE -void play_goodbye_tone() + +void startup_user() { - PLAY_NOTE_ARRAY(goodbye, false, 0); - _delay_ms(150); + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); } -uint8_t starting_note = 0x0C; -int offset = 7; - -void process_action_user(keyrecord_t *record) { - - if (IS_LAYER_ON(_MUSIC)) { - if (record->event.pressed) { - play_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); - } else { - stop_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); - } - } - +void shutdown_user() +{ + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); + _delay_ms(150); + stop_all_notes(); } -#endif + +void music_on_user(void) +{ + music_scale_user(); +} + +void music_scale_user(void) +{ + PLAY_NOTE_ARRAY(music_scale, false, 0); +} + +#endif \ No newline at end of file diff --git a/keyboards/planck/keymaps/xyverz/makefile.mk b/keyboards/planck/keymaps/xyverz/makefile.mk index 99fbfbd0b..0f4953888 100644 --- a/keyboards/planck/keymaps/xyverz/makefile.mk +++ b/keyboards/planck/keymaps/xyverz/makefile.mk @@ -1,2 +1,25 @@ -AUDIO_ENABLE = yes -NKRO_ENABLE = yes \ No newline at end of file + + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = yes # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif From ca3278cc356038ecdaf96fe12025b43c18692976 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Tue, 9 Aug 2016 09:31:56 -0700 Subject: [PATCH 033/306] adds Xyverz's keymaps (#615) * Adding my own keymaps to the following keyboards: Planck, Preonic, Atreus, Ergodox * Delete dvorak.png Not reflective of my layout. * Delete readme.md file cleanup, removing file that doesn't apply to my layout. * Delete old_keymap.c file cleanup * Delete README.md file clean up. * Delete README.md file cleanup * Delete keymap.c file cleanup * Changed behavior of _DVORAK layout's KC_RSFT to SFT_T(KC_ENT) for flexibility's sake. Updated the rest of the keymap to reflect the current (as of 19:37 on 08 Aug 2018) default layout and default makefile. --- keyboards/atreus/keymaps/xyverz/keymap.c | 89 +++++ keyboards/planck/keymaps/xyverz/keymap.c | 314 +++++++++++++++++ keyboards/planck/keymaps/xyverz/makefile.mk | 25 ++ keyboards/preonic/keymaps/xyverz/keymap.c | 342 +++++++++++++++++++ keyboards/preonic/keymaps/xyverz/makefile.mk | 1 + 5 files changed, 771 insertions(+) create mode 100644 keyboards/atreus/keymaps/xyverz/keymap.c create mode 100644 keyboards/planck/keymaps/xyverz/keymap.c create mode 100644 keyboards/planck/keymaps/xyverz/makefile.mk create mode 100644 keyboards/preonic/keymaps/xyverz/keymap.c create mode 100644 keyboards/preonic/keymaps/xyverz/makefile.mk diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..447fbcf10 --- /dev/null +++ b/keyboards/atreus/keymaps/xyverz/keymap.c @@ -0,0 +1,89 @@ +// This is the personal keymap of Ian Sterling (@xyverz). It is based on the keymap by +// Chris Gerber (@gerbercj), with the addition of persistent layers like the Planck and +// Preonic keyboards by Jack Humbert. + +#include "atreus.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _DV 0 +#define _QW 1 +#define _CM 2 +#define _L1 3 +#define _L2 4 + +// Macro name shortcuts +#define DVORAK M(_DV) +#define QWERTY M(_QW) +#define COLEMAK M(_CM) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DV] = { /* Dvorak */ + {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_NO, KC_F, KC_G, KC_C, KC_R, KC_L }, + {KC_A, KC_O, KC_E, KC_U, KC_I, KC_NO, KC_D, KC_H, KC_T, KC_N, KC_S }, + {SFT_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, CTL_T(KC_DEL), KC_B, KC_M, KC_W, KC_V, SFT_T(KC_Z) }, + {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_SLSH, KC_EQL} + }, + [_QW] = { /* Qwerty */ + {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P }, + {KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, + {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) }, + {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT} + }, + [_CM] = { /* Colemak */ + {KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, + {KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O }, + {SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, CTL_T(KC_DEL), KC_K, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH) }, + {KC_ESC, KC_TAB, KC_LGUI, MO(_L2), KC_BSPC, ALT_T(KC_ENT), KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT} + }, + [_L1] = { /* LAYER 1 */ + {KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 }, + {KC_TAB, KC_INS, KC_UP, KC_DEL, KC_HOME, KC_NO, KC_PGUP, KC_MUTE, KC_VOLD, KC_VOLU, KC_EQL }, + {KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_LCTL, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, KC_BSLS}, + {KC_TRNS, KC_GRV, KC_LGUI, KC_TRNS, KC_DEL, KC_LALT, KC_SPC, KC_TRNS, KC_LBRC, KC_RBRC, KC_ENT } + }, + [_L2] = { /* LAYER 2 */ + {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 }, + {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12 }, + {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, RESET } + } +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DV: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DV); + } + break; + case _QW: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QW); + } + break; + case _CM: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_CM); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboards/planck/keymaps/xyverz/keymap.c b/keyboards/planck/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..90529428d --- /dev/null +++ b/keyboards/planck/keymaps/xyverz/keymap.c @@ -0,0 +1,314 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "planck.h" +#include "action_layer.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _PLOVER 5 +#define _ADJUST 16 + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + PLOVER, + LOWER, + RAISE, + BACKLIT, + EXT_PLV +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = { + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = { + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Tab | " | , | . | P | Y | F | G | C | R | L | / | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | - | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Left |Right |Lower | Bksp |Space |Raise | Up | Down | GUI |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = { + {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH}, + {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS}, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_T(KC_ENT)}, + {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_BSPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = { + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______}, + {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______}, + {BACKLIT, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Del | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______}, + {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______}, + {BACKLIT, _______, KC_HOME, KC_END, _______, KC_DEL, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} +}, + +/* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * |TogOut| S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | E | U | | | | + * `-----------------------------------------------------------------------------------' + */ + +[_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak|Plover| | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______}, + {_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +} + + +}; + +#ifdef AUDIO_ENABLE + +float tone_startup[][2] = SONG(STARTUP_SOUND); +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_dvorak[][2] = SONG(DVORAK_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); +float tone_plover[][2] = SONG(PLOVER_SOUND); +float tone_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); + +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + persistant_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_dvorak, false, 0); + #endif + persistant_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + return false; + break; + case PLOVER: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_NOTE_ARRAY(tone_plover, false, 0); + #endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + return false; + break; + case EXT_PLV: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_plover_gb, false, 0); + #endif + layer_off(_PLOVER); + } + return false; + break; + } + return true; +} + +void matrix_init_user(void) { + #ifdef AUDIO_ENABLE + startup_user(); + #endif +} + +#ifdef AUDIO_ENABLE + +void startup_user() +{ + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); +} + +void shutdown_user() +{ + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); + _delay_ms(150); + stop_all_notes(); +} + +void music_on_user(void) +{ + music_scale_user(); +} + +void music_scale_user(void) +{ + PLAY_NOTE_ARRAY(music_scale, false, 0); +} + +#endif \ No newline at end of file diff --git a/keyboards/planck/keymaps/xyverz/makefile.mk b/keyboards/planck/keymaps/xyverz/makefile.mk new file mode 100644 index 000000000..0f4953888 --- /dev/null +++ b/keyboards/planck/keymaps/xyverz/makefile.mk @@ -0,0 +1,25 @@ + + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = yes # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/preonic/keymaps/xyverz/keymap.c b/keyboards/preonic/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..adc7392e5 --- /dev/null +++ b/keyboards/preonic/keymaps/xyverz/keymap.c @@ -0,0 +1,342 @@ +#include "preonic.h" +#include "action_layer.h" +#include "eeconfig.h" +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _MUSIC 5 +#define _ADJUST 16 + +// Macro name shortcuts +#define QWERTY M(_QWERTY) +#define COLEMAK M(_COLEMAK) +#define DVORAK M(_DVORAK) +#define LOWER M(_LOWER) +#define RAISE M(_RAISE) +#define M_BL 5 +#define AUD_OFF M(6) +#define AUD_ON M(7) +#define MUS_OFF M(8) +#define MUS_ON M(9) +#define VC_IN M(10) +#define VC_DE M(11) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | - | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = { + {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_DEL}, + {KC_MINS, 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_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_SPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } +}, + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | R | S | T | D | H | N | E | I | O | " | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {M(M_BL), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT} +}, + +/* Dvorak + * ,-----------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Tab | " | , | . | P | Y | F | G | C | R | L | / | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | O | E | U | I | D | H | T | N | S | - | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Shift| ; | Q | J | K | X | B | M | W | V | Z | Shift| + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | Left |Right |Lower | Space |Raise | Up | Down | GUI |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_DVORAK] = { + {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_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH}, + {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS}, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT}, + {KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER, KC_SPC, KC_SPC, RAISE, KC_UP, KC_DOWN, KC_RGUI, KC_ENT } +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Mute | Vol- | Vol+ | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL}, + {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______}, + {M(M_BL), _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | Prev | Play | Next | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| | Home | End | | Ins | | PgUp | PgDN | |Enter | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL}, + {KC_CAPS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______}, + {M(M_BL), _______, KC_HOME, KC_END, _______, KC_INS, KC_INS, _______, KC_PGUP, KC_PGDN, _______, _______} +}, + +/* Music (reserved for process_action_user) + * + */ +[_MUSIC] = { + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX}, + {XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LOWER, XXXXXXX, XXXXXXX, RAISE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX} +}, + +/* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | Reset| | | | | | | | | | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | |Audoff|Aud on|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |Voice-|Voice+|Musoff|Mus on| | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = { + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, + {_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL}, + {_______, _______, _______, AUD_ON, AUD_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______}, + {_______, VC_DE, VC_IN, MUS_ON, MUS_OFF, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +} + + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +#ifdef AUDIO_ENABLE +float start_up[][2] = { + {440.0*pow(2.0,(14)/12.0), 20}, + {440.0*pow(2.0,(26)/12.0), 8}, + {440.0*pow(2.0,(18)/12.0), 20}, + {440.0*pow(2.0,(26)/12.0), 8} +}; + +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_dvorak[][2] = SONG(DVORAK_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); + +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); +float goodbye[][2] = SONG(GOODBYE_SOUND); +#endif + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _QWERTY: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + persistant_default_layer_set(1UL<<_QWERTY); + } + break; + case _COLEMAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + persistant_default_layer_set(1UL<<_COLEMAK); + } + break; + case _DVORAK: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_dvorak, false, 0); + #endif + persistant_default_layer_set(1UL<<_DVORAK); + } + break; + case _LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case _RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case M_BL: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); + } + break; + case 6: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + audio_off(); + #endif + } + break; + case 7: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + audio_on(); + PLAY_NOTE_ARRAY(start_up, false, 0); + #endif + } + break; + case 8: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + layer_off(_MUSIC); + stop_all_notes(); + #endif + } + break; + case 9: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(music_scale, false, 0); + layer_on(_MUSIC); + #endif + } + break; + case 10: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + voice_iterate(); + PLAY_NOTE_ARRAY(music_scale, false, 0); + #endif + } + break; + case 11: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + voice_deiterate(); + PLAY_NOTE_ARRAY(music_scale, false, 0); + #endif + } + break; + } + return MACRO_NONE; +}; + + +void matrix_init_user(void) { + #ifdef AUDIO_ENABLE + _delay_ms(20); // gets rid of tick + PLAY_NOTE_ARRAY(start_up, false, 0); + #endif +} + +#ifdef AUDIO_ENABLE + +uint8_t starting_note = 0x0C; +int offset = 7; + +void process_action_user(keyrecord_t *record) { + + if (IS_LAYER_ON(_MUSIC)) { + if (record->event.pressed) { + play_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row)), 0xF); + } else { + stop_note(((double)220.0)*pow(2.0, -4.0)*pow(2.0,(starting_note + SCALE[record->event.key.col + offset])/12.0+(MATRIX_ROWS - record->event.key.row))); + } + } + +} + +void play_goodbye_tone() +{ + PLAY_NOTE_ARRAY(goodbye, false, 0); + _delay_ms(150); +} + +#endif \ No newline at end of file diff --git a/keyboards/preonic/keymaps/xyverz/makefile.mk b/keyboards/preonic/keymaps/xyverz/makefile.mk new file mode 100644 index 000000000..628167ff6 --- /dev/null +++ b/keyboards/preonic/keymaps/xyverz/makefile.mk @@ -0,0 +1 @@ +AUDIO_ENABLE = yes \ No newline at end of file From 2a160bbbe3ad496dd688f4399ab2b8d127c0b8a7 Mon Sep 17 00:00:00 2001 From: Callum Oakley Date: Tue, 9 Aug 2016 17:33:07 +0100 Subject: [PATCH 034/306] Update keymap. (#616) * changed order of bottom row of symbol layer to ease acess to brackets * updated readme.md to reflect keymap changes --- keyboards/planck/keymaps/callum/keymap.c | 4 ++-- keyboards/planck/keymaps/callum/readme.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/planck/keymaps/callum/keymap.c b/keyboards/planck/keymaps/callum/keymap.c index a747dcb15..ed187df1d 100644 --- a/keyboards/planck/keymaps/callum/keymap.c +++ b/keyboards/planck/keymaps/callum/keymap.c @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------------------------------. * | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | ~ | | | + | [ | { | } | ] | = | \ | ` | | + * | | ~ | ` | + | = | | | \ | [ | ] | { | } | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' @@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_SYMB] = { {KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC }, {KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, - {_______, KC_TILD, KC_PIPE, KC_PLUS, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_EQL, KC_BSLS, KC_GRV, _______}, + {_______, KC_TILD, KC_GRV, KC_PLUS, KC_EQL, KC_PIPE, KC_BSLS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, diff --git a/keyboards/planck/keymaps/callum/readme.md b/keyboards/planck/keymaps/callum/readme.md index d4f3449f1..030def7f7 100644 --- a/keyboards/planck/keymaps/callum/readme.md +++ b/keyboards/planck/keymaps/callum/readme.md @@ -31,9 +31,9 @@ On *macOS* I recommend using [Karabiner](https://pqrs.org/osx/karabiner/) and ti None of the modifiers are overwritten so that `shift-alt-arrows` etc work as expected. ## The `SYMB` layer -![](http://i.imgur.com/iuU144Y.png) +![](http://i.imgur.com/thh1ne2.png) -The symbol layer has all the numbers and their usual corresponding symbols in the first two rows, with the symbols on the home row since I use them more frequently than the numbers. The third row contains all the remaining symbols, with brackets in the centre; then normally shifted symbols to the left, and non shifted to the right, in order of most to least used. +The symbol layer has all the numbers and their usual corresponding symbols in the first two rows, with the symbols on the home row since I use them more frequently than the numbers. The third row contains all the remaining symbols, arranged roughly so that the most used symbols are accessible with the strongest fingers. `esc` and `del` are repeated here since I wanted to be able to reach either, one handed, with either hand. From 6f700f1eb0c76aa19187efd83ab2b49a0db7f71f Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Tue, 9 Aug 2016 23:49:27 -0700 Subject: [PATCH 035/306] Adding my own layouts for the Phantom and Ergodox. My Ergodox layout adds persistent layers based on the Planck and Preonic setup. The layout arrays are pulled directly from the ergodox/ez/ez.h keymap definition starting at line 81. --- keyboards/ergodox/keymaps/xyverz/keymap.c | 311 ++++++++++++++++++++++ keyboards/phantom/keymaps/xyverz/keymap.c | 67 +++++ 2 files changed, 378 insertions(+) create mode 100644 keyboards/ergodox/keymaps/xyverz/keymap.c create mode 100644 keyboards/phantom/keymaps/xyverz/keymap.c diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..c5ce99dd2 --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/keymap.c @@ -0,0 +1,311 @@ +/* + * The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak + * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner + * keys. I've decided to continue using this layout with my ErgoDox. + * + * The QWERTY layout shown here is based entirely on the Kinesis Advantage layout, with the additional + * keys as shown in the diagrams. The Colemak layout is merely an adaptation of that. + * + * I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck + * layouts. + * + * For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the + * keymap is defined, beginning on line 81. + * + */ + +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +#define _DV 0 // Dvorak layer +#define _QW 1 // Qwerty layer +#define _CM 2 // Colemak layer +#define _MD 3 // Media Layer +#define _KP 4 // Keypad Layer + +// Macro name shortcuts +#define DVORAK M(_DV) +#define QWERTY M(_QW) +#define COLEMAK M(_CM) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Dvorak layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | ' | , | . | Y | Y | | | | F | G | C | R | L | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCtr | LAlt | | Ralt | RCtr | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + * + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[_DV] = { // layer 0 : Dvorak + // left hand + {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, + {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV, KC_END }, + {KC_2, KC_COMM, KC_O, KC_Q, KC_INS, KC_DEL }, + {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT, KC_BSPC}, + {KC_4, KC_P, KC_U, KC_K, KC_RGHT, KC_HOME}, + {KC_5, KC_Y, KC_I, KC_X, KC_NO, KC_LCTL}, + {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + + // right hand + {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, + {KC_6, KC_F, KC_D, KC_B, KC_NO, KC_RCTL}, + {KC_7, KC_G, KC_H, KC_M, KC_UP, KC_PGUP}, + {KC_8, KC_C, KC_T, KC_W, KC_DOWN, KC_SPC }, + {KC_9, KC_R, KC_N, KC_V, KC_SLSH, KC_ENT }, + {KC_0, KC_L, KC_S, KC_Z, KC_EQL, KC_PGDN}, + {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, KC_NO } +}, + +/* Keymap 1: QWERTY layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCtr | LAlt | | Ralt | RCtr | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[_QW] = { // layer 1 : QWERTY + // left hand + {KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, + {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, + {KC_2, KC_W, KC_S, KC_X, KC_INS, KC_DEL }, + {KC_3, KC_E, KC_D, KC_C, KC_LEFT, KC_BSPC}, + {KC_4, KC_R, KC_F, KC_V, KC_RGHT, KC_HOME}, + {KC_5, KC_T, KC_G, KC_B, KC_NO, KC_LCTL}, + {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + + // right hand + {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, + {KC_6, KC_Y, KC_H, KC_N, KC_NO, KC_RCTL}, + {KC_7, KC_U, KC_J, KC_M, KC_UP, KC_PGUP}, + {KC_8, KC_I, KC_K, KC_COMM, KC_DOWN, KC_SPC }, + {KC_9, KC_O, KC_L, KC_DOT, KC_LBRC, KC_ENT }, + {KC_0, KC_P, KC_SCLN, KC_SLSH, KC_RBRC, KC_PGDN}, + {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } + }, + +/* Keymap 2: Colemak layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCtr | LAlt | | Ralt | RCtr | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[_CM] = { // layer 2 : Colemak + // left hand + {KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, KC_NO }, + {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, + {KC_2, KC_W, KC_R, KC_X, KC_INS, KC_DEL }, + {KC_3, KC_F, KC_S, KC_C, KC_LEFT, KC_BSPC}, + {KC_4, KC_P, KC_T, KC_V, KC_RGHT, KC_HOME}, + {KC_5, KC_G, KC_D, KC_B, KC_NO, KC_LCTL}, + {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + + // right hand + {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, + {KC_6, KC_J, KC_H, KC_K, KC_NO, KC_RCTL}, + {KC_7, KC_L, KC_N, KC_M, KC_UP, KC_PGUP}, + {KC_8, KC_U, KC_E, KC_COMM, KC_DOWN, KC_SPC }, + {KC_9, KC_Y, KC_I, KC_DOT, KC_LBRC, KC_ENT }, + {KC_0, KC_SCLN, KC_O, KC_SLSH, KC_RBRC, KC_PGDN}, + {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } + }, + +/* Keymap 3: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | PrSc | ScLk | Paus | | FN4 | | FN5 | | Mute | Vol- | Vol+ | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | + * |--------+------+------+------+------+------| FN4 | | FN5 |------+------+------+------+------+--------| + * | | |Dvorak|Qwerty|Colemk| | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// Media Layer +[_MD] = { // layer 3 : Media layer + // left hand + {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO }, + {KC_F1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_F2, KC_PSCR, KC_TRNS, DVORAK, KC_TRNS, KC_TRNS}, + {KC_F3, KC_SLCK, KC_TRNS, QWERTY, KC_TRNS, KC_TRNS}, + {KC_F4, KC_PAUS, KC_TRNS, COLEMAK, KC_TRNS, KC_TRNS}, + {KC_F5, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, + {KC_F11, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + + // right hand + {KC_F12, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + {KC_F6, KC_TRNS, KC_MSTP, KC_TRNS, KC_NO, KC_TRNS}, + {KC_F7, KC_MUTE, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_F8, KC_VOLD, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_F9, KC_VOLU, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_F10, KC_TRNS, KC_MSEL, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO } + }, + +/* Keymap 4: Keypad layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Power | | | | | | | | | | NmLk | KP / | KP * | KP - | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Sleep | | | | | | FN5 | | FN4 | | KP 7 | KP 8 | KP 9 | KP + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | + * |--------+------+------+------+------+------| FN5 | | FN4 |------+------+------+------+------+--------| + * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | KP 0 | | KP . |KP Ent| | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// Keypad Layer +[_KP] = { // layer 4 : Keypad layer + // left hand + {KC_PWR, KC_SLEP, KC_WAKE, KC_TRNS, KC_TRNS, KC_NO }, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, + {KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + + // right hand + {KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, + {KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0, KC_TRNS}, + {KC_PSLS, KC_P8, KC_P5, KC_P2, KC_NO, KC_TRNS}, + {KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT, KC_TRNS}, + {KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO } + }, + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DV: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DV); + } + break; + case _QW: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QW); + } + break; + case _CM: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_CM); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboards/phantom/keymaps/xyverz/keymap.c b/keyboards/phantom/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..5948e4ca5 --- /dev/null +++ b/keyboards/phantom/keymaps/xyverz/keymap.c @@ -0,0 +1,67 @@ +#include "phantom.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,-----------------------------------------------------------------------------. + * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| + * |-----------------------------------------------------------| |--------------| + * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| + * |-----------------------------------------------------------| |--------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| + * |-----------------------------------------------------------| `--------------' + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| ,----. + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | + * |-----------------------------------------------------------| ,-------------. + * |Ctrl|Gui |Alt | Space |ALT |GUI |_FL |CTRL | |Lft| Dn |Rig | + * `-----------------------------------------------------------' `-------------' + */ +[_BL] = KEYMAP( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DELETE, KC_END, KC_PGDN, \ + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \ + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + * ,-----------------------------------------------------------------------------. + * |RESET| | | | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| |--------------| + * | | | | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| |--------------| + * | | | | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| `--------------' + * | | | | | | | | | | | | | | + * |-----------------------------------------------------------| ,----. + * | | F1| F2| F3| F4| F5|F6 |F7 |F8 | | | | | | + * |-----------------------------------------------------------| ,-------------. + * | | | | | | | | | | | | | + * `-----------------------------------------------------------' `-------------' + */ +[_FL] = KEYMAP( + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_SLEP, \ + RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, \ + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MSTP,KC_MPLY,KC_MPRV,KC_MNXT,KC_MSEL, KC_TRNS,KC_TRNS,KC_TRNS, \ + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_CAPS, KC_TRNS, \ + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS) +}; + +enum function_id { + SHIFT_ESC, +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { +} From 0d6035524173219ced32abbfa2e78171edab17ff Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Tue, 9 Aug 2016 23:56:21 -0700 Subject: [PATCH 036/306] Added braces using LSFT(KC_LBRC) and LSFT(KC_RBRC) since the normal RBCR and LBCR didn't work for me. --- keyboards/atreus/keymaps/xyverz/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c index 447fbcf10..f4d4a9cf0 100644 --- a/keyboards/atreus/keymaps/xyverz/keymap.c +++ b/keyboards/atreus/keymaps/xyverz/keymap.c @@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 }, {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12 }, - {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, RESET } + {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET } } }; From 6975135f545d08955ed26ef046a0333e291af716 Mon Sep 17 00:00:00 2001 From: Felix Uhl Date: Wed, 10 Aug 2016 11:40:51 +0200 Subject: [PATCH 037/306] updated reference Build setup links to main readme now. --- doc/TMK_README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/TMK_README.md b/doc/TMK_README.md index 0c75a0e27..e3438eda2 100644 --- a/doc/TMK_README.md +++ b/doc/TMK_README.md @@ -113,7 +113,7 @@ Third party libraries like LUFA, PJRC and V-USB have their own license respectiv Build Firmware and Program Controller ------------------------------------- -See [doc/BUILD_GUIDE.md](tmk_core/doc/BUILD_GUIDE.md), or the readme in the particular keyboards/* folder. +See [build environment setup](/readme.md#build-environment-setup), or the readme in the particular keyboards/* folder. From aa1a90af66df6ab12a371416e23094315c4a43b3 Mon Sep 17 00:00:00 2001 From: Felix Uhl Date: Thu, 11 Aug 2016 00:54:55 +0200 Subject: [PATCH 038/306] Added S60-X to keyboards with two layouts. --- .gitignore | 1 + keyboards/s60-x/Makefile | 75 ++++++++++ keyboards/s60-x/config.h | 164 ++++++++++++++++++++++ keyboards/s60-x/keymaps/default/Makefile | 21 +++ keyboards/s60-x/keymaps/default/keymap.c | 92 ++++++++++++ keyboards/s60-x/keymaps/default/readme.md | 1 + keyboards/s60-x/keymaps/felix/Makefile | 21 +++ keyboards/s60-x/keymaps/felix/keymap.c | 110 +++++++++++++++ keyboards/s60-x/keymaps/felix/readme.md | 1 + keyboards/s60-x/readme.md | 32 +++++ keyboards/s60-x/s60-x.c | 28 ++++ keyboards/s60-x/s60-x.h | 44 ++++++ 12 files changed, 590 insertions(+) create mode 100644 keyboards/s60-x/Makefile create mode 100644 keyboards/s60-x/config.h create mode 100644 keyboards/s60-x/keymaps/default/Makefile create mode 100644 keyboards/s60-x/keymaps/default/keymap.c create mode 100644 keyboards/s60-x/keymaps/default/readme.md create mode 100644 keyboards/s60-x/keymaps/felix/Makefile create mode 100644 keyboards/s60-x/keymaps/felix/keymap.c create mode 100644 keyboards/s60-x/keymaps/felix/readme.md create mode 100644 keyboards/s60-x/readme.md create mode 100644 keyboards/s60-x/s60-x.c create mode 100644 keyboards/s60-x/s60-x.h diff --git a/.gitignore b/.gitignore index 8c85d6ffa..07bbf13db 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ CMakeLists.txt .settings/ .idea .browse.VC.db* +*.stackdump diff --git a/keyboards/s60-x/Makefile b/keyboards/s60-x/Makefile new file mode 100644 index 000000000..57edd5e03 --- /dev/null +++ b/keyboards/s60-x/Makefile @@ -0,0 +1,75 @@ + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE ?= no # USB Nkey Rollover +BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE ?= no # MIDI controls +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no # Audio output on port C6 + +ifndef QUANTUM_DIR + include ../../Makefile +endif + + diff --git a/keyboards/s60-x/config.h b/keyboards/s60-x/config.h new file mode 100644 index 000000000..d548a99b3 --- /dev/null +++ b/keyboards/s60-x/config.h @@ -0,0 +1,164 @@ +/* +Copyright 2012 Jun Wako +Copyright 2016 Julien Pecqueur +Copyright 2016 Felix Uhl + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Massdrop +#define PRODUCT S60-X +#define DESCRIPTION q.m.k. keyboard firmware for S60-X + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F1 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/s60-x/keymaps/default/Makefile b/keyboards/s60-x/keymaps/default/Makefile new file mode 100644 index 000000000..f4671a9d1 --- /dev/null +++ b/keyboards/s60-x/keymaps/default/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/default/keymap.c b/keyboards/s60-x/keymaps/default/keymap.c new file mode 100644 index 000000000..aa2856525 --- /dev/null +++ b/keyboards/s60-x/keymaps/default/keymap.c @@ -0,0 +1,92 @@ +/* +Copyright 2016 Julien Pecqueur +Copyright 2016 Felix Uhl + +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 . +*/ + +#include "s60-x.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Layout 0: Default Layer + * ,-----------------------------------------------------------. + * |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | + * |-----------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| + * |-----------------------------------------------------------| + * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | + * |-----------------------------------------------------------| + * |Fn1 |Gui |Alt | SpaceFn |Alt |Gui |App |Ctrl| + * `-----------------------------------------------------------' + */ + KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + FN1, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), + + /* Layout 1: Function Layer + * ,-----------------------------------------------------------. + * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | + * |-----------------------------------------------------------| + * | |Prv|Ply|Nxt|Stp| | |PUp|Up |PDn| |Slk|Pau|Ins | + * |-----------------------------------------------------------| + * | |Vl-|Mut|Vl+| | |Hom|Lef|Dow|Rig|End| |PEnt | + * |-----------------------------------------------------------| + * | |Prt|Cut|Cop|Pst|Cal| | | | | |CapsLock | + * |-----------------------------------------------------------| + * | | | | | | | | | + * `-----------------------------------------------------------' + */ + KEYMAP( + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \ + TRNS, MPRV, MPLY, MNXT, MSTP, TRNS, TRNS, PGUP, UP, PGDN, TRNS, SLCK, PAUS, INS, \ + TRNS, VOLD, MUTE, VOLU, TRNS, TRNS, HOME, LEFT, DOWN, RGHT, END, TRNS, TRNS, PENT, \ + TRNS, TRNS, PSCR, FN2, FN3, FN4, CALC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CAPS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), +}; + +/* +* Fn action definition +*/ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE), /* SpaceFn layout 1 */ + [1] = ACTION_LAYER_MOMENTARY(1), /* Momentary layout 1 */ + [2] = ACTION_MODS_KEY(MOD_LSFT, KC_DEL), /* Cut */ + [3] = ACTION_MODS_KEY(MOD_LCTL, KC_INS), /* Copy */ + [4] = ACTION_MODS_KEY(MOD_LSFT, KC_INS), /* Paste */ +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + return MACRO_NONE; +}; + + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + +void led_set_user(uint8_t usb_led) { + +} \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/default/readme.md b/keyboards/s60-x/keymaps/default/readme.md new file mode 100644 index 000000000..73318dad7 --- /dev/null +++ b/keyboards/s60-x/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for s60-x \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/felix/Makefile b/keyboards/s60-x/keymaps/felix/Makefile new file mode 100644 index 000000000..251e4631d --- /dev/null +++ b/keyboards/s60-x/keymaps/felix/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/felix/keymap.c b/keyboards/s60-x/keymaps/felix/keymap.c new file mode 100644 index 000000000..a5ff1ae4d --- /dev/null +++ b/keyboards/s60-x/keymaps/felix/keymap.c @@ -0,0 +1,110 @@ +/* +Copyright 2016 Julien Pecqueur +Copyright 2016 Felix Uhl + +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 . +*/ + +#include "s60-x.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Layout 0: Default Layer + * ,-----------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|Del| + * |-----------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|BckSp| + * |-----------------------------------------------------------| + * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /| Up |Fn1 | + * |-----------------------------------------------------------| + * |Fn2 |Gui |Alt | SpaceFn |Alt |Left|Down|Right| + * `-----------------------------------------------------------' + */ + KEYMAP( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ + KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_FN1, \ + KC_FN2, KC_LGUI, KC_LALT, KC_FN0, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + + /* Layout 1: Gaming Layer, SpaceFn disabled + * ,-----------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| + * | | | | | | | | | | | | | | + * |-----------------------------------------------------------| + * | | | | | | | | | | | | |Fn1 | + * |-----------------------------------------------------------| + * | | NOP| | Space | | | | | + * `-----------------------------------------------------------' + */ + KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_FN1, \ + KC_TRNS, KC_NO, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + + /* Layout 2: Function Layer + * ,-----------------------------------------------------------. + * |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| |RES| + * |-----------------------------------------------------------| + * | |Prv|Ply|Nxt|Stp| | |PUp|Up |PDn| |Slk|Pau|Ins | + * |-----------------------------------------------------------| + * | |Vl-|Mut|Vl+| | |Hom|Lef|Dow|Rig|End| |PEnt | + * |-----------------------------------------------------------| + * | |Prt| | | |Cal| | | | |Pau |PUp |Rsft| + * |-----------------------------------------------------------| + * | | | | | |Home|PDn |End | + * `-----------------------------------------------------------' + */ + KEYMAP( + 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, DEBUG, RESET, \ + KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_TRNS, KC_SLCK, KC_PAUS, KC_INS, \ + KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_TRNS, KC_PENT, \ + KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_RSFT, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), +}; + +/* +* Fn action definition +*/ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_TAP_KEY(2, KC_SPACE), /* SpaceFn layout 1 */ + [1] = ACTION_LAYER_TOGGLE(1), /* Disable SpaceFn */ + [2] = ACTION_LAYER_MOMENTARY(2) /* SpaceFn layout 1 */ +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + return MACRO_NONE; +}; + + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + +void led_set_user(uint8_t usb_led) { + +} \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/felix/readme.md b/keyboards/s60-x/keymaps/felix/readme.md new file mode 100644 index 000000000..73318dad7 --- /dev/null +++ b/keyboards/s60-x/keymaps/felix/readme.md @@ -0,0 +1 @@ +# The default keymap for s60-x \ No newline at end of file diff --git a/keyboards/s60-x/readme.md b/keyboards/s60-x/readme.md new file mode 100644 index 000000000..34c48b0b7 --- /dev/null +++ b/keyboards/s60-x/readme.md @@ -0,0 +1,32 @@ +S60-x keyboard firmware +====================== +DIY compact keyboard by Massdrop. This is a port from TMK to QMK based on the [original S60-X Repo](https://github.com/jpec/s60x). + +## S60X Resources +- [Massdrop page](https://www.massdrop.com/buy/sentraq-60-diy-keyboard-kit) + +## Quantum MK Firmware + +For the full Quantum feature list, see [the parent readme.md](/doc/readme.md). + +## Building + +Download or clone the whole firmware and navigate to the keyboards/s60-x folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. + +Depending on which keymap you would like to use, you will have to compile slightly differently. + +### Default + +To build with the default keymap, simply run `make`. + +### Other Keymaps + +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files. + +To build the firmware binary hex file with a keymap just do `make` with `keymap` option like: + +``` +$ make keymap=[default|] +``` + +Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` \ No newline at end of file diff --git a/keyboards/s60-x/s60-x.c b/keyboards/s60-x/s60-x.c new file mode 100644 index 000000000..417358140 --- /dev/null +++ b/keyboards/s60-x/s60-x.c @@ -0,0 +1,28 @@ +#include "s60-x.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + led_set_user(usb_led); +} diff --git a/keyboards/s60-x/s60-x.h b/keyboards/s60-x/s60-x.h new file mode 100644 index 000000000..714de30db --- /dev/null +++ b/keyboards/s60-x/s60-x.h @@ -0,0 +1,44 @@ +/* +Copyright 2012,2013 Jun Wako +Copyright 2015 Vincius Nery Cordeiro +Copyright 2016 Felix Uhl + +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 . +*/ + +#ifndef S60X_H +#define S60X_H + +#include "quantum.h" + +/* S60-X keymap definition macro +* K2C, K31 and K3C are extra keys for ISO +* K0D is extra key from split backspace, K3E is extra key from split right shift +*/ + +#define KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO } \ +} + +#endif From a41a53baadf14b50d63fc9424aca67e7bde193f3 Mon Sep 17 00:00:00 2001 From: Felix Uhl Date: Thu, 11 Aug 2016 09:13:38 +0200 Subject: [PATCH 039/306] Fix dead link in keycode.txt The link to the HID Usage tables was outdated and dead, so I replaced it. --- doc/keycode.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/keycode.txt b/doc/keycode.txt index c1134f9bf..5a42c50bf 100644 --- a/doc/keycode.txt +++ b/doc/keycode.txt @@ -2,7 +2,7 @@ Keycode Symbol Table ==================== Keycodes are defined in `common/keycode.h`. Range of 00-A4 and E0-E7 are identical with HID Usage: - + Virtual keycodes are defined out of above range to support special actions. From 38766dbc82cd0765cd88a47bb88b57d58b4b6723 Mon Sep 17 00:00:00 2001 From: Felix Uhl Date: Thu, 11 Aug 2016 09:36:37 +0200 Subject: [PATCH 040/306] Minor changes to keymaps Clarified extra keys Made ISO-keys non-dead in default layout Added non-US backslash on felix layout --- keyboards/s60-x/keymaps/default/keymap.c | 6 +++--- keyboards/s60-x/keymaps/felix/keymap.c | 8 ++++---- keyboards/s60-x/s60-x.h | 7 +++++-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/keyboards/s60-x/keymaps/default/keymap.c b/keyboards/s60-x/keymaps/default/keymap.c index aa2856525..3b680c307 100644 --- a/keyboards/s60-x/keymaps/default/keymap.c +++ b/keyboards/s60-x/keymaps/default/keymap.c @@ -31,10 +31,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, BSPC, BSPC, \ TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NUHS, ENT, \ + LSFT, NUBS, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ FN1, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), /* Layout 1: Function Layer diff --git a/keyboards/s60-x/keymaps/felix/keymap.c b/keyboards/s60-x/keymaps/felix/keymap.c index a5ff1ae4d..3052dd816 100644 --- a/keyboards/s60-x/keymaps/felix/keymap.c +++ b/keyboards/s60-x/keymaps/felix/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /| Up |Fn1 | + * |Shift | Z| X| C| V| B| N| M| ,| .| /| Up | <> | * |-----------------------------------------------------------| * |Fn2 |Gui |Alt | SpaceFn |Alt |Left|Down|Right| * `-----------------------------------------------------------' @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_FN1, \ + KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_NUBS, \ KC_FN2, KC_LGUI, KC_LALT, KC_FN0, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), /* Layout 1: Gaming Layer, SpaceFn disabled @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * | |Vl-|Mut|Vl+| | |Hom|Lef|Dow|Rig|End| |PEnt | * |-----------------------------------------------------------| - * | |Prt| | | |Cal| | | | |Pau |PUp |Rsft| + * | |Prt| | | |Cal| | | | |Pau |PUp |Fn1 | * |-----------------------------------------------------------| * | | | | | |Home|PDn |End | * `-----------------------------------------------------------' @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, DEBUG, RESET, \ KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_TRNS, KC_SLCK, KC_PAUS, KC_INS, \ KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_TRNS, KC_PENT, \ - KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_RSFT, \ + KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_FN1, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), }; diff --git a/keyboards/s60-x/s60-x.h b/keyboards/s60-x/s60-x.h index 714de30db..68f2ab22f 100644 --- a/keyboards/s60-x/s60-x.h +++ b/keyboards/s60-x/s60-x.h @@ -23,8 +23,11 @@ along with this program. If not, see . #include "quantum.h" /* S60-X keymap definition macro -* K2C, K31 and K3C are extra keys for ISO -* K0D is extra key from split backspace, K3E is extra key from split right shift +* K31 is the extra key next to short left ISO shift +* K2C is the moved key next to enter on ISO boards +* K3C is the extra key next to short right JIS shift +* K0D is extra key from split backspace +* K3E is extra key from HHKB-style split right shift */ #define KEYMAP( \ From 56f86413e0d7606030cad68257a5d6287c9fd35f Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Thu, 11 Aug 2016 09:54:02 -0600 Subject: [PATCH 041/306] Add denolfe satan keymap --- keyboards/satan/keymaps/denolfe/Makefile | 20 ++ keyboards/satan/keymaps/denolfe/README.md | 12 ++ .../satan/keymaps/denolfe/keyboard-layout.png | Bin 0 -> 31762 bytes keyboards/satan/keymaps/denolfe/keymap.c | 171 ++++++++++++++++++ 4 files changed, 203 insertions(+) create mode 100644 keyboards/satan/keymaps/denolfe/Makefile create mode 100644 keyboards/satan/keymaps/denolfe/README.md create mode 100644 keyboards/satan/keymaps/denolfe/keyboard-layout.png create mode 100644 keyboards/satan/keymaps/denolfe/keymap.c diff --git a/keyboards/satan/keymaps/denolfe/Makefile b/keyboards/satan/keymaps/denolfe/Makefile new file mode 100644 index 000000000..c4adab737 --- /dev/null +++ b/keyboards/satan/keymaps/denolfe/Makefile @@ -0,0 +1,20 @@ + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= no # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +RGBLIGHT_ENABLE ?= no # Enable keyboard underlight functionality (+4870) +BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality (+1150) +MIDI_ENABLE ?= no # MIDI controls +AUDIO_ENABLE ?= no +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/satan/keymaps/denolfe/README.md b/keyboards/satan/keymaps/denolfe/README.md new file mode 100644 index 000000000..30b94fcdd --- /dev/null +++ b/keyboards/satan/keymaps/denolfe/README.md @@ -0,0 +1,12 @@ +# denolfe's Layout +Customized Satan keymap + +![Layout](keyboard-layout.png "Practical Keymap") + +## Programming Instructions: +`cd` into keymap directory, `make dfu` + +## Features +- Movement keys with CapsLock + h, j, k, l +- Media Keys +- Backlight control diff --git a/keyboards/satan/keymaps/denolfe/keyboard-layout.png b/keyboards/satan/keymaps/denolfe/keyboard-layout.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d6ad57fb5b180334aefc429430fa867258cd6a GIT binary patch literal 31762 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 G4gDXMykHps literal 0 HcmV?d00001 diff --git a/keyboards/satan/keymaps/denolfe/keymap.c b/keyboards/satan/keymaps/denolfe/keymap.c new file mode 100644 index 000000000..2f6c8d8f4 --- /dev/null +++ b/keyboards/satan/keymaps/denolfe/keymap.c @@ -0,0 +1,171 @@ +#include "satan.h" + +#ifdef RGBLIGHT_ENABLE +#include "rgblight.h" +#endif + +// Used for SHIFT_ESC +#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 +#define _SL 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,-----------------------------------------------------------. + * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | + * |-----------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | + * |-----------------------------------------------------------| + * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | + * |-----------------------------------------------------------| + * |Ctrl|Gui |Alt | Space |Alt |Gui |FN |Ctrl | + * `-----------------------------------------------------------' + */ +[_BL] = KEYMAP( + F(0), 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_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, \ + MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \ + KC_LCTL, KC_LGUI,KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RGUI, KC_RCTL), + + /* Keymap _FL: Function Layer + * ,-----------------------------------------------------------. + * | | | | | | | | | | | | | | RESET| + * |-----------------------------------------------------------| + * | | | | | | | | | | | |BL-|BL+|BL | + * |-----------------------------------------------------------| + * | | | | | | | | | | | | | + * |-----------------------------------------------------------| + * | | F1|F2 | F3|F4 | F5| F6| F7| F8| | | | + * |-----------------------------------------------------------| + * | | | | | | | | | + * `-----------------------------------------------------------' + */ +[_FL] = KEYMAP( + #ifdef RGBLIGHT_ENABLE + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \ + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \ + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + #else + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_END, KC_MPRV, KC_MNXT, KC_MPLY, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_HOME, LCTL(KC_LEFT), LCTL(KC_END), LCTL(KC_RIGHT), KC_TRNS, RESET, \ + KC_TRNS, KC_TRNS, F(9), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + #endif + +[_SL] = KEYMAP( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, LSFT(KC_END), KC_MPRV, KC_MNXT, KC_MPLY, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_UP), LSFT(KC_RIGHT), KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, LSFT(KC_HOME), LCTL(LSFT(KC_LEFT)), LCTL(LSFT(KC_END)), LCTL(LSFT(KC_RIGHT)), KC_TRNS, RESET, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; + +enum function_id { + SHIFT_ESC, + #ifdef RGBLIGHT_ENABLE + RGBLED_TOGGLE, + RGBLED_STEP_MODE, + RGBLED_INCREASE_HUE, + RGBLED_DECREASE_HUE, + RGBLED_INCREASE_SAT, + RGBLED_DECREASE_SAT, + RGBLED_INCREASE_VAL, + RGBLED_DECREASE_VAL + #endif +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(SHIFT_ESC), + #ifdef RGBLIGHT_ENABLE + [1] = ACTION_FUNCTION(RGBLED_TOGGLE), + [2] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), + #endif + [9] = ACTION_LAYER_MODS(2, MOD_LSFT) +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + static uint8_t shift_esc_shift_mask; + switch (id) { + case SHIFT_ESC: + shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; + if (record->event.pressed) { + if (shift_esc_shift_mask) { + add_key(KC_GRV); + send_keyboard_report(); + } else { + add_key(KC_ESC); + send_keyboard_report(); + } + } else { + if (shift_esc_shift_mask) { + del_key(KC_GRV); + send_keyboard_report(); + } else { + del_key(KC_ESC); + send_keyboard_report(); + } + } + break; + //led operations + #ifdef RGBLIGHT_ENABLE + case RGBLED_TOGGLE: + if (record->event.pressed) { + rgblight_toggle(); + } + break; + case RGBLED_INCREASE_HUE: + if (record->event.pressed) { + rgblight_increase_hue(); + } + break; + case RGBLED_DECREASE_HUE: + if (record->event.pressed) { + rgblight_decrease_hue(); + } + break; + case RGBLED_INCREASE_SAT: + if (record->event.pressed) { + rgblight_increase_sat(); + } + break; + case RGBLED_DECREASE_SAT: + if (record->event.pressed) { + rgblight_decrease_sat(); + } + break; + case RGBLED_INCREASE_VAL: + if (record->event.pressed) { + rgblight_increase_val(); + } + break; + case RGBLED_DECREASE_VAL: + if (record->event.pressed) { + rgblight_decrease_val(); + } + break; + case RGBLED_STEP_MODE: + if (record->event.pressed) { + rgblight_step(); + } + break; + #endif + } +} From d1f418d85ddb3bc9594ab71267af92ef1a5b7b0c Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 11 Aug 2016 09:46:05 -0700 Subject: [PATCH 042/306] Update Makefile Corrected spelling of "ATREUS" in all locations. (ATRUES -> ATREUS) --- keyboards/atreus/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/atreus/Makefile b/keyboards/atreus/Makefile index 95ee1d4d7..5894d231f 100644 --- a/keyboards/atreus/Makefile +++ b/keyboards/atreus/Makefile @@ -2,11 +2,11 @@ ifdef TEENSY2 OPT_DEFS += -DATREUS_TEENSY2 - ATRUES_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex + ATREUS_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex else OPT_DEFS += -DATREUS_ASTAR OPT_DEFS += -DCATERINA_BOOTLOADER - ATRUES_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \ + ATREUS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \ avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) endif @@ -84,5 +84,5 @@ endif USB ?= /dev/cu.usbmodem1411 upload: build - $(ATRUES_UPLOAD_COMMAND) - \ No newline at end of file + $(ATREUS_UPLOAD_COMMAND) + From eeade4af84af073479f38de32d97e99203b29350 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 11 Aug 2016 09:48:23 -0700 Subject: [PATCH 043/306] Update keymap.c Changed right-hand F-key layout in order to add KC_PLUS to _L2. --- keyboards/atreus/keymaps/xyverz/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c index f4d4a9cf0..0238fdbd3 100644 --- a/keyboards/atreus/keymaps/xyverz/keymap.c +++ b/keyboards/atreus/keymaps/xyverz/keymap.c @@ -51,8 +51,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }, [_L2] = { /* LAYER 2 */ {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, - {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 }, - {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12 }, + {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_PLUS}, + {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12 }, {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET } } }; From 71e1bb2e1cf5fd87cb9cc6f81b830763b38665d4 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 11 Aug 2016 11:04:57 -0700 Subject: [PATCH 044/306] Delete keymap.c Not ready to submit this one just yet. --- keyboards/phantom/keymaps/xyverz/keymap.c | 67 ----------------------- 1 file changed, 67 deletions(-) delete mode 100644 keyboards/phantom/keymaps/xyverz/keymap.c diff --git a/keyboards/phantom/keymaps/xyverz/keymap.c b/keyboards/phantom/keymaps/xyverz/keymap.c deleted file mode 100644 index 5948e4ca5..000000000 --- a/keyboards/phantom/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,67 +0,0 @@ -#include "phantom.h" - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -#define _BL 0 -#define _FL 1 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap _BL: (Base Layer) Default Layer - * ,-----------------------------------------------------------------------------. - * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus| - * |-----------------------------------------------------------| |--------------| - * | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp| - * |-----------------------------------------------------------| |--------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn| - * |-----------------------------------------------------------| `--------------' - * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| ,----. - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | Up | - * |-----------------------------------------------------------| ,-------------. - * |Ctrl|Gui |Alt | Space |ALT |GUI |_FL |CTRL | |Lft| Dn |Rig | - * `-----------------------------------------------------------' `-------------' - */ -[_BL] = KEYMAP( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DELETE, KC_END, KC_PGDN, \ - KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \ - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), - - /* Keymap _FL: Function Layer - * ,-----------------------------------------------------------------------------. - * |RESET| | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| |--------------| - * | | | | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| `--------------' - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------| ,----. - * | | F1| F2| F3| F4| F5|F6 |F7 |F8 | | | | | | - * |-----------------------------------------------------------| ,-------------. - * | | | | | | | | | | | | | - * `-----------------------------------------------------------' `-------------' - */ -[_FL] = KEYMAP( - KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_SLEP, \ - RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MUTE,KC_VOLD,KC_VOLU,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, \ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_MSTP,KC_MPLY,KC_MPRV,KC_MNXT,KC_MSEL, KC_TRNS,KC_TRNS,KC_TRNS, \ - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_CAPS, KC_TRNS, \ - KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS) -}; - -enum function_id { - SHIFT_ESC, -}; - -const uint16_t PROGMEM fn_actions[] = { - -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { -} From 4725942dc71c2f386d8323865a6255f4dfd2785b Mon Sep 17 00:00:00 2001 From: Felix Uhl Date: Thu, 11 Aug 2016 21:49:10 +0200 Subject: [PATCH 045/306] Small changes Enabled Bootmagic and ISO layouts on felix keymap Added unused pins --- keyboards/s60-x/config.h | 2 +- keyboards/s60-x/keymaps/felix/keymap.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/keyboards/s60-x/config.h b/keyboards/s60-x/config.h index d548a99b3..ac7951c24 100644 --- a/keyboards/s60-x/config.h +++ b/keyboards/s60-x/config.h @@ -46,7 +46,7 @@ along with this program. If not, see . */ #define MATRIX_ROW_PINS { B7, B3, B2, B1, B0 } #define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F1 } -#define UNUSED_PINS +#define UNUSED_PINS { F0 } /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW diff --git a/keyboards/s60-x/keymaps/felix/keymap.c b/keyboards/s60-x/keymaps/felix/keymap.c index 3052dd816..7fc0e021c 100644 --- a/keyboards/s60-x/keymaps/felix/keymap.c +++ b/keyboards/s60-x/keymaps/felix/keymap.c @@ -18,6 +18,7 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layout 0: Default Layer + * RSFT will be replaced once a better way to control magic is found. * ,-----------------------------------------------------------. * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|Del| * |-----------------------------------------------------------| @@ -25,17 +26,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------------------------------------------------------| * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /| Up | <> | + * |Shift | Z| X| C| V| B| N| M| ,| .| /| Up |RSft| * |-----------------------------------------------------------| * |Fn2 |Gui |Alt | SpaceFn |Alt |Left|Down|Right| * `-----------------------------------------------------------' */ KEYMAP( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, \ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NO, KC_ENT, \ - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_NUBS, \ - KC_FN2, KC_LGUI, KC_LALT, KC_FN0, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_RSFT, \ + KC_FN2, KC_LGUI, KC_LALT, KC_FN0, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), /* Layout 1: Gaming Layer, SpaceFn disabled * ,-----------------------------------------------------------. @@ -55,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_FN1, \ - KC_TRNS, KC_NO, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + KC_TRNS, KC_NO, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), /* Layout 2: Function Layer * ,-----------------------------------------------------------. @@ -75,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_TRNS, KC_SLCK, KC_PAUS, KC_INS, \ KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_TRNS, KC_PENT, \ KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_FN1, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), }; /* From e692ebf86a962e90c51302e7b17a953ea2858f79 Mon Sep 17 00:00:00 2001 From: shela Date: Fri, 12 Aug 2016 20:38:26 +0900 Subject: [PATCH 046/306] fix typo --- quantum/keymap.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/quantum/keymap.h b/quantum/keymap.h index a15865183..f2d94d75c 100644 --- a/quantum/keymap.h +++ b/quantum/keymap.h @@ -156,16 +156,16 @@ enum quantum_keycodes { BL_INC, BL_TOGG, BL_STEP, - - // RGB functionality - RGB_TOG, - RGB_MOD, - RGB_HUI, - RGB_HUD, - RGB_SAI, - RGB_SAD, - RGB_VAI, - RGB_VAD, + + // RGB functionality + RGB_TOG, + RGB_MOD, + RGB_HUI, + RGB_HUD, + RGB_SAI, + RGB_SAD, + RGB_VAI, + RGB_VAD, // Left shift, open paren KC_LSPO, @@ -309,7 +309,7 @@ enum quantum_keycodes { #define OSL(layer) (layer | QK_ONE_SHOT_LAYER) // One-shot mod -#define OSM(layer) (layer | QK_ONE_SHOT_MOD) +#define OSM(mod) (mod | QK_ONE_SHOT_MOD) // M-od, T-ap - 256 keycode max #define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0xF) << 8)) From 1c8d64d3b3664ef7d62ea12f8fd510231a7ec54e Mon Sep 17 00:00:00 2001 From: shela Date: Fri, 12 Aug 2016 21:24:43 +0900 Subject: [PATCH 047/306] add my keymap --- keyboards/hhkb/keymaps/shela/Makefile | 1 + .../hhkb/keymaps/shela/action_pseudo_lut.c | 142 ++++++++++++++ .../hhkb/keymaps/shela/action_pseudo_lut.h | 15 ++ keyboards/hhkb/keymaps/shela/config.h | 12 ++ keyboards/hhkb/keymaps/shela/keymap.c | 179 ++++++++++++++++++ keyboards/hhkb/keymaps/shela/keymap_jis2us.h | 32 ++++ keyboards/hhkb/keymaps/shela/readme.md | 14 ++ 7 files changed, 395 insertions(+) create mode 100644 keyboards/hhkb/keymaps/shela/Makefile create mode 100644 keyboards/hhkb/keymaps/shela/action_pseudo_lut.c create mode 100644 keyboards/hhkb/keymaps/shela/action_pseudo_lut.h create mode 100644 keyboards/hhkb/keymaps/shela/config.h create mode 100644 keyboards/hhkb/keymaps/shela/keymap.c create mode 100644 keyboards/hhkb/keymaps/shela/keymap_jis2us.h create mode 100644 keyboards/hhkb/keymaps/shela/readme.md diff --git a/keyboards/hhkb/keymaps/shela/Makefile b/keyboards/hhkb/keymaps/shela/Makefile new file mode 100644 index 000000000..d0586bda6 --- /dev/null +++ b/keyboards/hhkb/keymaps/shela/Makefile @@ -0,0 +1 @@ +SRC += action_pseudo_lut.c diff --git a/keyboards/hhkb/keymaps/shela/action_pseudo_lut.c b/keyboards/hhkb/keymaps/shela/action_pseudo_lut.c new file mode 100644 index 000000000..b205968c7 --- /dev/null +++ b/keyboards/hhkb/keymaps/shela/action_pseudo_lut.c @@ -0,0 +1,142 @@ +#include "quantum.h" +#include "action_pseudo_lut.h" + +static uint8_t send_key_shift_bit[SHIFT_BIT_SIZE]; + +/* + * Pseudo layout action. + * This action converts a keycode in order to output the character according to the keymap you specified + * still your keyboard layout recognized wrongly on your OS. + * Memo: Using other layer keymap to get keycode + */ +void action_pseudo_lut(keyrecord_t *record, uint8_t base_keymap_id, const uint16_t (*keymap)[2]) { + static uint8_t prev_shift; + uint16_t keycode; + uint16_t pseudo_keycode; + + /* get keycode from keymap you specified */ + keycode = keymap_key_to_keycode(base_keymap_id, record->event.key); + + prev_shift = keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)); + + if (record->event.pressed) { + /* when magic commands entered, keycode does not converted */ + if (IS_COMMAND()) { + if (prev_shift) { + add_shift_bit(keycode); + } + register_code(keycode); + return; + } + + if (prev_shift) { + pseudo_keycode = convert_keycode(keymap, keycode, true); + dprintf("pressed: %02X, converted: %04X\n", keycode, pseudo_keycode); + add_shift_bit(keycode); + + if (IS_LSFT(pseudo_keycode)) { + register_code(QK_LSFT ^ pseudo_keycode); + } else { + /* delete shift mod temporarily */ + del_mods(prev_shift); + send_keyboard_report(); + register_code(pseudo_keycode); + add_mods(prev_shift); + send_keyboard_report(); + } + } else { + pseudo_keycode = convert_keycode(keymap, keycode, false); + dprintf("pressed: %02X, converted: %04X\n", keycode, pseudo_keycode); + + if (IS_LSFT(pseudo_keycode)) { + add_weak_mods(MOD_BIT(KC_LSFT)); + send_keyboard_report(); + register_code(QK_LSFT ^ pseudo_keycode); + /* on Windows, prevent key repeat to avoid unintended output */ + unregister_code(QK_LSFT ^ pseudo_keycode); + del_weak_mods(MOD_BIT(KC_LSFT)); + send_keyboard_report(); + } else { + register_code(pseudo_keycode); + } + } + } else { + if (get_shift_bit(keycode)) { + del_shift_bit(keycode); + pseudo_keycode = convert_keycode(keymap, keycode, true); + } else { + pseudo_keycode = convert_keycode(keymap, keycode, false); + } + dprintf("released: %02X, converted: %04X\n", keycode, pseudo_keycode); + + if (IS_LSFT(pseudo_keycode)) { + unregister_code(QK_LSFT ^ pseudo_keycode); + } else { + unregister_code(pseudo_keycode); + } + } +} + +uint16_t convert_keycode(const uint16_t (*keymap)[2], uint16_t keycode, bool shift_modded) +{ + uint16_t pseudo_keycode; + + switch (keycode) { + case KC_A ... KC_CAPSLOCK: +#if defined(__AVR__) + if (shift_modded) { + pseudo_keycode = pgm_read_word(&keymap[keycode][1]); + } else { + pseudo_keycode = pgm_read_word(&keymap[keycode][0]); + } +#else + if (shift_modded) { + pseudo_keycode = keymap[keycode][1]; + } else { + pseudo_keycode = keymap[keycode][0]; + } +#endif + /* if undefined, use got keycode as it is */ + if (pseudo_keycode == 0x00) { + if (shift_modded) { + pseudo_keycode = S(keycode); + } else { + pseudo_keycode = keycode; + } + } + break; + default: + if (shift_modded) { + pseudo_keycode = S(keycode); + } else { + pseudo_keycode = keycode; + } + break; + } + return pseudo_keycode; +} + +uint8_t get_shift_bit(uint16_t keycode) { + if ((keycode >> 3) < SHIFT_BIT_SIZE) { + return send_key_shift_bit[keycode >> 3] & (1 << (keycode & 7)); + } else { + dprintf("get_shift_bit: Can't get shift bit. keycode: %02X\n", keycode); + return 0; + } +} + +void add_shift_bit(uint16_t keycode) { + if ((keycode >> 3) < SHIFT_BIT_SIZE) { + send_key_shift_bit[keycode >> 3] |= (1 << (keycode & 7)); + } else { + dprintf("add_shift_bit: Can't add shift bit. keycode: %02X\n", keycode); + } +} + +void del_shift_bit(uint16_t keycode) { + if ((keycode >> 3) < SHIFT_BIT_SIZE) { + send_key_shift_bit[keycode >> 3] &= ~(1 << (keycode & 7)); + } else { + dprintf("del_shift_bit: Can't delete shift bit. keycode: %02X\n", keycode); + } +} diff --git a/keyboards/hhkb/keymaps/shela/action_pseudo_lut.h b/keyboards/hhkb/keymaps/shela/action_pseudo_lut.h new file mode 100644 index 000000000..681252440 --- /dev/null +++ b/keyboards/hhkb/keymaps/shela/action_pseudo_lut.h @@ -0,0 +1,15 @@ +#ifndef ACTION_PSEUDO_LUT_H +#define ACTION_PSEUDO_LUT_H + +#define SHIFT_BIT_SIZE (0xE7 / 8 + 1) // 1bit per 1key + +#define IS_LSFT(kc) ((QK_LSFT & (kc)) == QK_LSFT) + +void action_pseudo_lut(keyrecord_t *, uint8_t, const uint16_t (*)[2]); +uint16_t convert_keycode(const uint16_t (*)[2], uint16_t, bool); + +uint8_t get_shift_bit(uint16_t); +void add_shift_bit(uint16_t); +void del_shift_bit(uint16_t); + +#endif diff --git a/keyboards/hhkb/keymaps/shela/config.h b/keyboards/hhkb/keymaps/shela/config.h new file mode 100644 index 000000000..08cc1fb46 --- /dev/null +++ b/keyboards/hhkb/keymaps/shela/config.h @@ -0,0 +1,12 @@ +#ifndef CONFIG_SHELA_H +#define CONFIG_SHELA_H + +#include "../../config.h" + +#undef TAPPING_TERM +#define TAPPING_TERM 230 + +#define ONESHOT_TAP_TOGGLE 2 +#define ONESHOT_TIMEOUT 2000 + +#endif diff --git a/keyboards/hhkb/keymaps/shela/keymap.c b/keyboards/hhkb/keymaps/shela/keymap.c new file mode 100644 index 000000000..c286b99de --- /dev/null +++ b/keyboards/hhkb/keymaps/shela/keymap.c @@ -0,0 +1,179 @@ +/* + * HHKB Pro 2 US Layout for shela + */ +#include "hhkb.h" +#include "keymap_jis2us.h" +#include "action_pseudo_lut.h" + +enum keymap_layout { + BASE = 0, + PSEUDO_US, + DVORAK, + MOUSE, + TENKEY, + HHKB, + SPACE_FN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Layer 0: Default Layer + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` | BSp | + * |-----------------------------------------------------------------------------------------| + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | + * |-----------------------------------------------------------------------------------------| + * | Control | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-----------------------------------------------------------------------------------------| + * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 | + * `-----------------------------------------------------------------------------------------' + * |LAlt | LGui | SpaceFN | RGui |RAlt | + * `-----------------------------------------------------------------' + */ + [BASE] = + KEYMAP(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_GRV, KC_BSPC, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_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_ENT, \ + OSM(MOD_LSFT),KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_FN0, \ + KC_LALT,KC_LGUI, KC_FN2, KC_RGUI,KC_RALT), + + /* Layer 1: Pseudo US Layout Layer */ + [PSEUDO_US] = + KEYMAP(KC_ESC, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_BSPC, \ + KC_TAB, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, \ + KC_LCTL,KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_ENT, \ + OSM(MOD_LSFT),KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_RSFT,KC_FN0, \ + KC_LGUI,KC_FN3, KC_FN2, KC_FN4 ,KC_RGUI), + + /* Layer 2: Dvorak Layer + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [ | ] | ` | BSp | + * |-----------------------------------------------------------------------------------------| + * | Tab | ' | , | . | P | Y | F | G | C | R | L | / | = | \ | + * |-----------------------------------------------------------------------------------------| + * | Control | A | O | E | U | I | D | H | T | N | S | - | Enter | + * |-----------------------------------------------------------------------------------------| + * | Shift | ; | Q | J | K | X | B | M | W | V | Z | Shift | Fn0 | + * `-----------------------------------------------------------------------------------------' + * |LAlt | LGui | SpaceFN | RGui |RAlt | + * `-----------------------------------------------------------------' + */ + [DVORAK] = + KEYMAP(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC,KC_RBRC,KC_GRV, KC_BSPC, \ + KC_TAB, KC_QUOT,KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,KC_EQL, KC_BSLS, \ + KC_LCTL,KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,KC_ENT, \ + KC_LSFT,KC_SCLN,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,KC_FN0, \ + KC_LALT,KC_LGUI, KC_FN2, KC_RGUI,KC_RALT), + + /* Layer 3: Mouse layer + * ,-----------------------------------------------------------------------------------------. + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | + * |-----------------------------------------------------------------------------------------| + * | | | | | | | MwL | MwD | MwU | MwR | | | | | + * |-----------------------------------------------------------------------------------------| + * | | | | | | | McL | McD | McU | McR | | | | + * |-----------------------------------------------------------------------------------------| + * | | | | | | | Mb1 | Mb2 | Mb3 | | | | Fn0 | + * `-----------------------------------------------------------------------------------------' + * | | | Mb1 | | | + * `-----------------------------------------------------------------' + */ + [MOUSE] = + KEYMAP(KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_TRNS, \ + KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,KC_NO, KC_NO, KC_NO, KC_NO, \ + KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,KC_NO, KC_NO, KC_TRNS, \ + KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1,KC_BTN2,KC_BTN3,KC_NO, KC_NO, KC_TRNS,KC_FN0, \ + KC_TRNS,KC_TRNS, KC_BTN1, KC_TRNS,KC_TRNS), + + /* Layer 4: Tenkey layer + * ,-----------------------------------------------------------------------------------------. + * | Esc | | | | | | | | | | / | * | - | | BSp | + * |-----------------------------------------------------------------------------------------| + * | | | | | | | | | | 7 | 8 | 9 | + | | + * |-----------------------------------------------------------------------------------------| + * | | | | | | | | | | 4 | 5 | 6 | Enter | + * |-----------------------------------------------------------------------------------------| + * | | | | | | | | | 1 | 2 | 3 | + | Fn0 | + * `-----------------------------------------------------------------------------------------' + * | | | SpaceFN | 0 | . | + * `-----------------------------------------------------------------' + */ + [TENKEY] = + KEYMAP(KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSLS,KC_PAST,KC_PMNS,KC_NO, KC_BSPC, \ + KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_7,KC_KP_8,KC_KP_9,KC_PPLS,KC_NO, \ + KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_4,KC_KP_5,KC_KP_6,KC_PENT, \ + KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_1,KC_KP_2,KC_KP_3,KC_PPLS,KC_FN0, \ + KC_TRNS,KC_TRNS, KC_FN2, KC_KP_0,KC_PDOT), + + /* Layer 5: HHKB mode (HHKB Fn) + * ,-----------------------------------------------------------------------------------------. + * | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + * |-----------------------------------------------------------------------------------------| + * | Caps | Fn5 | Fn6 | Fn7 | Fn8 | Fn9 | | | Psc | Slk | Pus | Up | | BSp | + * |-----------------------------------------------------------------------------------------| + * | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | + * |-----------------------------------------------------------------------------------------| + * | | | | | | | + | - | End | PgD | Dow | | | + * `-----------------------------------------------------------------------------------------' + * | | | | | | + * `-----------------------------------------------------------------' + */ + [HHKB] = + KEYMAP(KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \ + KC_CAPS,KC_FN5, KC_FN6, KC_FN7, KC_FN8, KC_FN9, KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,KC_UP, KC_TRNS,KC_BSPC, \ + KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_TRNS,KC_TRNS,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,KC_LEFT,KC_RGHT,KC_PENT, \ + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PPLS,KC_PMNS,KC_END, KC_PGDN,KC_DOWN,KC_TRNS,KC_TRNS, \ + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS), + + /* Layer 6: SpaceFN + * ,-----------------------------------------------------------------------------------------. + * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | Del | + * |-----------------------------------------------------------------------------------------| + * | | End | Up | Hom | | | | Hom | Up | End | Psc | Slk | Pau | Ins | + * |-----------------------------------------------------------------------------------------| + * | | Lef | Dow | Rig | PgU | | PgU | Lef | Dow | Rig | | | | + * |-----------------------------------------------------------------------------------------| + * | | | | PgD | | Spc | PgD | ` | ~ | | | | | + * `-----------------------------------------------------------------------------------------' + * | | | | | | + * `-----------------------------------------------------------------' + */ + [SPACE_FN] = + KEYMAP(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_NO, KC_DEL, \ + KC_TRNS,KC_END, KC_UP, KC_HOME,KC_NO, KC_NO, KC_NO, KC_HOME,KC_UP, KC_END, KC_PSCR,KC_SLCK,KC_PAUS,KC_INS, \ + KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_PGUP,KC_NO, KC_PGUP,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO, KC_NO, KC_TRNS, \ + KC_TRNS,KC_NO, KC_NO, KC_PGDN,KC_NO, KC_SPC, KC_PGDN,KC_GRV, KC_TILD,KC_NO, KC_NO, KC_TRNS,KC_NO, \ + KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS), +}; + +/* + * user defined action function + */ +enum function_id { + PSEUDO_US_FUNCTION, +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + + switch (id) { + case PSEUDO_US_FUNCTION: + action_pseudo_lut(record, BASE, keymap_jis2us); + break; + } +} + +/* + * Fn action definition + */ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_MOMENTARY(HHKB), + [1] = ACTION_FUNCTION(PSEUDO_US_FUNCTION), + [2] = ACTION_LAYER_TAP_KEY(SPACE_FN, KC_SPACE), + [3] = ACTION_MODS_TAP_KEY(MOD_LALT, KC_MHEN), + [4] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_KANA), + [5] = ACTION_DEFAULT_LAYER_SET(BASE), + [6] = ACTION_DEFAULT_LAYER_SET(PSEUDO_US), + [7] = ACTION_DEFAULT_LAYER_SET(MOUSE), + [8] = ACTION_DEFAULT_LAYER_SET(TENKEY), + [9] = ACTION_DEFAULT_LAYER_SET(DVORAK), +}; diff --git a/keyboards/hhkb/keymaps/shela/keymap_jis2us.h b/keyboards/hhkb/keymaps/shela/keymap_jis2us.h new file mode 100644 index 000000000..cf2bd4f0e --- /dev/null +++ b/keyboards/hhkb/keymaps/shela/keymap_jis2us.h @@ -0,0 +1,32 @@ +#ifndef KEYMAP_JIS2US_H +#define KEYMAP_JIS2US_H + +/* keymap for convert from JIS to US */ +const uint16_t PROGMEM keymap_jis2us[][2] = { + [KC_A ... KC_CAPS] = { 0x00, 0x00 }, /* default value */ + + [KC_1] = { KC_1, KC_EXLM }, /* 1 and ! -> 1 and ! */ + [KC_2] = { KC_2, KC_LBRC }, /* 2 and " -> 2 and @ */ + [KC_3] = { KC_3, KC_HASH }, /* 3 and # -> 3 and # */ + [KC_4] = { KC_4, KC_DLR }, /* 4 and $ -> 4 and $ */ + [KC_5] = { KC_5, KC_PERC }, /* 5 and % -> 5 and % */ + [KC_6] = { KC_6, KC_EQL }, /* 6 and & -> 6 and ^ */ + [KC_7] = { KC_7, KC_CIRC }, /* 7 and ' -> 7 and & */ + [KC_8] = { KC_8, KC_DQT }, /* 8 and ( -> 8 and * */ + [KC_9] = { KC_9, KC_ASTR }, /* 9 and ) -> 9 and ( */ + [KC_0] = { KC_0, KC_LPRN }, /* 0 and (no assign) -> 0 and ) */ + [KC_MINS] = { KC_MINS, S(KC_RO) }, /* - and = -> - and _ */ + [KC_EQL] = { KC_UNDS, KC_COLN }, /* ^ and ~ -> = and + */ + [KC_LBRC] = { KC_RBRC, KC_RCBR }, /* @ and ` -> [ and { */ + [KC_RBRC] = { KC_BSLS, KC_PIPE }, /* [ and { -> ] and } */ + [KC_BSLS] = { KC_JYEN, S(KC_JYEN) }, /* ] and } -> / and | */ + [KC_NUHS] = { KC_NUHS, S(KC_NUHS) }, /* (no assign) */ + [KC_SCLN] = { KC_SCLN, KC_QUOT }, /* ; and + -> ; and : */ + [KC_QUOT] = { KC_AMPR, KC_AT }, /* : and * -> ' and " */ + [KC_GRV] = { KC_LCBR, KC_PLUS }, /* (no assign) -> ` and ~ */ + [KC_COMM] = { KC_COMM, KC_LT }, /* , and < -> , and < */ + [KC_DOT] = { KC_DOT, KC_GT }, /* . and > -> . and > */ + [KC_SLSH] = { KC_SLSH, KC_QUES }, /* / and ? -> / and ? */ +}; + +#endif diff --git a/keyboards/hhkb/keymaps/shela/readme.md b/keyboards/hhkb/keymaps/shela/readme.md new file mode 100644 index 000000000..cf5f29169 --- /dev/null +++ b/keyboards/hhkb/keymaps/shela/readme.md @@ -0,0 +1,14 @@ +# Shela's HHKB Layout + +Layer 0: US Layout +Layer 1: Pseudo US Layout +Layer 2: Dvorak Layout +Layer 3: Mouse +Layer 4: Tenkey +Layer 5: HHKB Fn Key +Layer 6: SpaceFN + +## Pseudo US Layout + +On japanese Windows, HHKB Professional 2 US layout model recognized wrongly as JIS layout without changing OS settings. +But, you can use HHKB like a US layout keyboard as it is. From c9272fee083d274c11bab0d8ec5520b54961f7fa Mon Sep 17 00:00:00 2001 From: shela Date: Fri, 12 Aug 2016 21:33:32 +0900 Subject: [PATCH 048/306] add new line --- keyboards/hhkb/keymaps/shela/readme.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/keyboards/hhkb/keymaps/shela/readme.md b/keyboards/hhkb/keymaps/shela/readme.md index cf5f29169..2317e880f 100644 --- a/keyboards/hhkb/keymaps/shela/readme.md +++ b/keyboards/hhkb/keymaps/shela/readme.md @@ -1,12 +1,12 @@ # Shela's HHKB Layout -Layer 0: US Layout -Layer 1: Pseudo US Layout -Layer 2: Dvorak Layout -Layer 3: Mouse -Layer 4: Tenkey -Layer 5: HHKB Fn Key -Layer 6: SpaceFN +Layer 0: US Layout +Layer 1: Pseudo US Layout +Layer 2: Dvorak Layout +Layer 3: Mouse +Layer 4: Tenkey +Layer 5: HHKB Fn Key +Layer 6: SpaceFN ## Pseudo US Layout From 11e23fd3fdbe86ff85b2be7783c46d4360b07360 Mon Sep 17 00:00:00 2001 From: shela Date: Fri, 12 Aug 2016 21:45:36 +0900 Subject: [PATCH 049/306] add new line --- keyboards/hhkb/keymaps/shela/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/hhkb/keymaps/shela/readme.md b/keyboards/hhkb/keymaps/shela/readme.md index 2317e880f..5a06a8363 100644 --- a/keyboards/hhkb/keymaps/shela/readme.md +++ b/keyboards/hhkb/keymaps/shela/readme.md @@ -10,5 +10,5 @@ Layer 6: SpaceFN ## Pseudo US Layout -On japanese Windows, HHKB Professional 2 US layout model recognized wrongly as JIS layout without changing OS settings. +On japanese Windows, HHKB Professional 2 US layout model recognized wrongly as JIS layout without changing OS settings. But, you can use HHKB like a US layout keyboard as it is. From b98d47abe544c68ffba745b6643a777f8f61a03c Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Fri, 12 Aug 2016 16:36:07 +0200 Subject: [PATCH 050/306] ergodox: Update my keymap to v1.5 Major changes include: * The **1HAND** layer has been removed. * A `Delete` key is now available on the right thumb cluster. * The **ADORE** layer received a major update, see the updated layout image. * It is now possible to enable automatic logging for the **ADORE** layer, by setting the `ADORE_AUTOLOG` makefile variable to `yes` when compiling the keymap. It is off by default. * The `~` key and the `Media Next/Prev` key have been swapped on the **base** layer. * On the **ARROW** layer, `Backspace` has been replaced by `Enter`. * There is some experimental support for entering Unicode symbols. Signed-off-by: Gergely Nagy --- keyboards/ergodox/keymaps/algernon/Makefile | 7 + .../keymaps/algernon/images/adore-layer.png | Bin 95615 -> 93748 bytes .../keymaps/algernon/images/base-layer.png | Bin 95654 -> 95222 bytes .../algernon/images/one-handed-layer.png | Bin 91140 -> 0 bytes keyboards/ergodox/keymaps/algernon/keymap.c | 2422 ++++++++--------- keyboards/ergodox/keymaps/algernon/readme.md | 52 +- 6 files changed, 1244 insertions(+), 1237 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/algernon/images/one-handed-layer.png diff --git a/keyboards/ergodox/keymaps/algernon/Makefile b/keyboards/ergodox/keymaps/algernon/Makefile index 6bf3976b9..00194857a 100644 --- a/keyboards/ergodox/keymaps/algernon/Makefile +++ b/keyboards/ergodox/keymaps/algernon/Makefile @@ -8,10 +8,17 @@ CONSOLE_ENABLE = no TAP_DANCE_ENABLE = yes KEYLOGGER_ENABLE ?= yes +ADORE_AUTOLOG ?= no + ifeq (${FORCE_NKRO},yes) OPT_DEFS += -DFORCE_NKRO endif +ifeq (${ADORE_AUTOLOG},yes) +KEYLOGGER_ENABLE = yes +OPT_DEFS += -DADORE_AUTOLOG +endif + ifeq (${KEYLOGGER_ENABLE},yes) OPT_DEFS += -DKEYLOGGER_ENABLE CONSOLE_ENABLE = yes diff --git a/keyboards/ergodox/keymaps/algernon/images/adore-layer.png b/keyboards/ergodox/keymaps/algernon/images/adore-layer.png index 3df68ea53da8a4be15cfbfe4dac5f0623bc0d0ad..44ad8a1eb7560b552aa6010b2051fcabb00f01cd 100644 GIT binary patch literal 93748 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%0DPqMz0r_IP%FIb(9H>o~Ju1)l8F9@szSiQao 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 diff --git a/keyboards/ergodox/keymaps/algernon/images/base-layer.png b/keyboards/ergodox/keymaps/algernon/images/base-layer.png index 7b25a05b3afa30354fa240925b959233b88fea96..da159fbe2ec5e8e084fee3b9ae934b8c1f5aadab 100644 GIT binary patch literal 95222 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

{0cHW>;-rLh@ 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 LRFWtWGxGl*9%rU$ diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt index 25731ea2e..7763c3d37 100644 --- a/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt +++ b/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt @@ -1,24 +1,24 @@ [{x:3.5},"#\n3",{x:10.5},"*\n8"], [{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"], [{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"], -[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"], +[{y:-0.875,c:"#c6c600",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#c6c600",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"], [{y:-0.375,x:3.5,c:"#cccccc"},"E",{x:10.5},"I"], [{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"], [{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"], -[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"], +[{y:-0.875,c:"#c6c600",t:"#002299",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Q",{x:14.5},"P",{c:"#c6c600",t:"#002299",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000"},"D",{x:10.5},"K"], [{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"], [{y:-0.875,x:5.5},"G",{x:6.5},"H"], -[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"], -[{y:-0.625,x:6.5,c:"#54d6de",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"], +[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"A",{x:14.5},":\n;",{c:"#c6c600",t:"#007d00",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"], +[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"], [{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"], [{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."], [{y:-0.875,x:5.5},"B",{x:6.5},"N"], -[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"], +[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Z",{x:14.5},"?\n/",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"], [{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"], [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"], -[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Home","End"], +[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Home","End"], [{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"], [{x:2},"Page\n\n\n\n\n\nDown"], [{r:-30,rx:13,y:-1,x:-3},"Left","Right"], diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png index 99e5ed80b14d45f145f8e7e6cca897c65241140c..bb78b7c7a85563c84319c0c0748d3470593c6a56 100644 GIT binary patch literal 96205 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 Zt@+o>_T(xJ5(MxkFQfdtSjr^ezW{AwRbc=C literal 124144 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

p=M5Bd-u2zkam^ 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

{4mc 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 z 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.pressed) - return MACRO_NONE; - - layer_off (HUN); - - if (keyboard_report->mods & MOD_BIT (KC_LSFT)) { - hold_shift = 1; - need_shift = 1; - unregister_code (KC_LSFT); - } - if ((get_oneshot_mods () & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out ()) { - need_shift = 1; - hold_shift = 0; - unregister_code (KC_LSFT); - } - - clear_oneshot_mods (); - - register_code (KC_RALT); - unregister_code (KC_RALT); - if (accent == (KC_DQT)) { - register_code (KC_RSFT); - } - register_code (accent); - unregister_code (accent); - if (need_shift && accent != (KC_DQT)) { - register_code (KC_RSFT); - } else if (accent == (KC_DQT) && !need_shift) { - unregister_code (KC_RSFT); - } - register_code (hun_char); - unregister_code (hun_char); - if (need_shift || accent == (KC_DQT)) - unregister_code (KC_RSFT); - if (hold_shift) - register_code (KC_LSFT); - - return MACRO_NONE; -} - -void ang_handle_kf (keyrecord_t *record, uint8_t id) -{ - uint8_t code = id - KF_1; - - if (record->event.pressed) { - kf_timers[code] = timer_read (); - } else { - uint8_t kc; - - if (timer_elapsed (kf_timers[code]) > TAPPING_TERM) { - // Long press - kc = KC_F1 + code; - } else { - if (id == KF_11) - kc = KC_EQL; - else - kc = KC_1 + code; - } - - register_code (kc); - unregister_code (kc); - } -} - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - case A_ESC: - if (record->event.pressed) { - if ((get_oneshot_mods ()) && !has_oneshot_mods_timed_out ()) { - clear_oneshot_mods (); - } else { - register_code (KC_ESC); - } - layer_off (HUN); - } else { - unregister_code (KC_ESC); - } - break; - - case A_MPN: - if (record->event.pressed) { - if (keyboard_report->mods & MOD_BIT(KC_LSFT) || - ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { - int oneshot = ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out()); - - if (oneshot) - clear_oneshot_mods (); - unregister_code (KC_LSFT); - - register_code (KC_MPRV); - unregister_code (KC_MPRV); - - if (!oneshot) - register_code (KC_LSFT); - } else { - return MACRO (T(MNXT), END); - } - } - break; - - /* Hungarian layer */ - case HU_AA: - return ang_do_hun (record, KC_QUOT, KC_A); - case HU_OO: - return ang_do_hun (record, KC_QUOT, KC_O); - case HU_EE: - return ang_do_hun (record, KC_QUOT, KC_E); - case HU_UU: - return ang_do_hun (record, KC_QUOT, KC_U); - case HU_II: - return ang_do_hun (record, KC_QUOT, KC_I); - case HU_OE: - return ang_do_hun (record, KC_DQT, KC_O); - case HU_UE: - return ang_do_hun (record, KC_DQT, KC_U); - case HU_OEE: - return ang_do_hun (record, KC_EQL, KC_O); - case HU_UEE: - return ang_do_hun (record, KC_EQL, KC_U); - - /* Mouse movement */ - case A_MUL: - if (record->event.pressed) { - mousekey_on(KC_MS_UP); - mousekey_on(KC_MS_LEFT); - } else { - mousekey_off(KC_MS_UP); - mousekey_off(KC_MS_LEFT); - } - mousekey_send(); - break; - - case A_MUR: - if (record->event.pressed) { - mousekey_on(KC_MS_UP); - mousekey_on(KC_MS_RIGHT); - } else { - mousekey_off(KC_MS_UP); - mousekey_off(KC_MS_RIGHT); - } - mousekey_send(); - break; - - case A_MDL: - if (record->event.pressed) { - mousekey_on(KC_MS_DOWN); - mousekey_on(KC_MS_LEFT); - } else { - mousekey_off(KC_MS_DOWN); - mousekey_off(KC_MS_LEFT); - } - mousekey_send(); - break; - - case A_MDR: - if (record->event.pressed) { - mousekey_on(KC_MS_DOWN); - mousekey_on(KC_MS_RIGHT); - } else { - mousekey_off(KC_MS_DOWN); - mousekey_off(KC_MS_RIGHT); - } - mousekey_send(); - break; - - /* Plover base */ - case A_PLVR: - toggle_steno(record->event.pressed); - break; - - /* GUI & AppSel */ - case A_GUI: - if (record->event.pressed) { - register_code (KC_LGUI); - if (record->tap.count && !record->tap.interrupted) { - if (record->tap.count >= 2) { - register_code (KC_W); - layer_on (APPSEL); - set_oneshot_layer (APPSEL, ONESHOT_START); - } - } else { - record->tap.count = 0; - } - gui_timer = 0; - } else { - if (record->tap.count >= 2) - { - unregister_code (KC_W); - clear_oneshot_layer_state (ONESHOT_PRESSED); - } - gui_timer = timer_read (); - } - break; - - case APP_SLK: - return MACRODOWN(T(S), T(L), T(A), T(C), T(K), T(ENT), END); - - case APP_EMCS: - return MACRODOWN(T(E), T(M), T(A), T(C), T(S), T(ENT), END); - - case APP_TERM: - return MACRODOWN(T(T), T(E), T(R), T(M), T(ENT), END); - - case APP_CHRM: - return MACRODOWN(T(C), T(H), T(R), T(O), T(M), T(ENT), END); - - case APP_MSIC: - return MACRODOWN(T(R), T(H), T(Y), T(T), T(H), T(M), T(B), T(O), T(X), T(ENT), END); - - /* Function keys */ - case KF_1 ... KF_11: - ang_handle_kf (record, id); - break; - - /* 1HAND layout */ - case OH_BASE: - if (record->event.pressed) { - oh_base_timer = timer_read (); - } else { - if (timer_elapsed (oh_base_timer) > TAPPING_TERM) { - layer_clear (); - } else { - return MACRO (T(APP), END); - } - } - break; - - case OH_BSSPC: - if (record->event.pressed) { - oh_bsspc_timer = timer_read (); - } else { - if (timer_elapsed (oh_bsspc_timer) > TAPPING_TERM) { - return MACRO (T(BSPC), END); - } else { - return MACRO (T(SPC), END); - } - } - break; - - case OH_ENTSFT: - if (record->event.pressed) { - oh_entsft_timer = timer_read (); - } else { - if (timer_elapsed (oh_entsft_timer) > TAPPING_TERM) { - if (keyboard_report->mods & MOD_BIT(KC_LSFT)) - unregister_code (KC_LSFT); - else - register_code (KC_LSFT); - } else { - return MACRO (T(ENT), END); - } - } - break; - - case OH_LEFT: - if (record->event.pressed) { - layer_move (OHLFT); - oh_left_blink = 1; - oh_left_blink_timer = timer_read (); - ergodox_right_led_1_on (); - } - break; - - case OH_RIGHT: - if (record->event.pressed) { - layer_move (OHRGT); - oh_right_blink = 1; - oh_right_blink_timer = timer_read (); - ergodox_right_led_3_on (); - } - break; - } - return MACRO_NONE; -}; - -uint8_t is_adore = 0; - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - uint8_t dl; - - ergodox_led_all_on(); - for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { - ergodox_led_all_set (i); - wait_ms (5); - } - wait_ms(1000); - for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { - ergodox_led_all_set (i); - wait_ms (10); - } - ergodox_led_all_off(); - - if (!eeconfig_is_enabled()) - eeconfig_init(); - dl = eeconfig_read_default_layer (); - if (dl == (1UL << ADORE)) - is_adore = 1; -}; - -LEADER_EXTERNS(); - -void ang_do_unicode (void) { - register_code (KC_RCTL); - register_code (KC_RSFT); - register_code (KC_U); - unregister_code (KC_U); - unregister_code (KC_RSFT); - unregister_code (KC_RCTL); - wait_ms (100); -} - -void ang_tap (uint16_t codes[]) { - for (int i = 0; codes[i] != 0; i++) { - register_code (codes[i]); - unregister_code (codes[i]); - wait_ms (50); - } -} - -#define TAP_ONCE(code) \ - register_code (code); \ - unregister_code (code) - -void ang_tap_dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code (KC_RSFT); - register_code (KC_SCLN); - } else if (state->count == 2) { - register_code (KC_SCLN); - } -} - -void ang_tap_dance_cln_reset (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - unregister_code (KC_SCLN); - unregister_code (KC_RSFT); - } else if (state->count == 2) { - unregister_code (KC_SCLN); - } -} - -void ang_tap_dance_mns_finished (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code (KC_MINS); - } else if (state->count == 2) { - register_code (KC_RSFT); - register_code (KC_MINS); - } -} - -void ang_tap_dance_mns_reset (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - unregister_code (KC_MINS); - } else if (state->count == 2) { - unregister_code (KC_RSFT); - unregister_code (KC_MINS); - } -} - -typedef struct { - bool layer_toggle; - bool sticky; - bool finished_once; -} td_ta_state_t; - -void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) { - td_ta_state_t *td_ta = (td_ta_state_t *) user_data; - - if (td_ta->finished_once) { - return; - } - - if (td_ta->sticky) { - td_ta->sticky = false; - td_ta->layer_toggle = false; - layer_off (ARRW); - return; - } - - td_ta->finished_once = true; - if (state->count == 1 && !state->pressed) { - register_code (KC_TAB); - td_ta->sticky = false; - td_ta->layer_toggle = false; - } else { - td_ta->layer_toggle = true; - layer_on (ARRW); - td_ta->sticky = (state->count == 2); - } -} - -void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) { - td_ta_state_t *td_ta = (td_ta_state_t *) user_data; - - if (!td_ta->layer_toggle) - unregister_code (KC_TAB); - if (!td_ta->sticky) - layer_off (ARRW); - - td_ta->finished_once = false; -} - -const qk_tap_dance_action_t tap_dance_actions[] = { - [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_cln_finished, ang_tap_dance_cln_reset) - ,[CT_MNS] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_mns_finished, ang_tap_dance_mns_reset) - ,[CT_TA] = { - .fn = { NULL, ang_tap_dance_ta_finished, ang_tap_dance_ta_reset }, - .user_data = (void *)&((td_ta_state_t) { false, false, false }) - } -}; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - - if (gui_timer && timer_elapsed (gui_timer) > TAPPING_TERM) - unregister_code (KC_LGUI); - - if (layer != OHLFT) - oh_left_blink = 0; - if (layer != OHRGT) - oh_right_blink = 0; - - if (layer == HUN) { - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - } else if (layer == NMDIA) { - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - } else if (layer == PLVR) { - ergodox_right_led_1_on (); - ergodox_right_led_2_on (); - ergodox_right_led_3_on (); - } else if (layer == ADORE) { - ergodox_right_led_1_on (); - ergodox_right_led_2_on (); - ergodox_right_led_3_on (); - - ergodox_right_led_2_set (LED_BRIGHTNESS_HI); - } - - if (layer == OHLFT || layer == OHRGT) { - ergodox_right_led_2_on(); - - if (oh_left_blink) { - if (timer_elapsed (oh_left_blink_timer) > OH_BLINK_INTERVAL) { - if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) == 0) - ergodox_right_led_1_off (); - } - if (timer_elapsed (oh_left_blink_timer) > OH_BLINK_INTERVAL * 2) { - ergodox_right_led_1_on (); - oh_left_blink_timer = timer_read (); - } - } - - if (oh_right_blink) { - if (timer_elapsed (oh_right_blink_timer) > OH_BLINK_INTERVAL) { - if ((keyboard_report->mods & MOD_BIT(KC_LCTRL)) == 0) - ergodox_right_led_3_off (); - } - if (timer_elapsed (oh_right_blink_timer) > OH_BLINK_INTERVAL * 2) { - ergodox_right_led_3_on (); - oh_right_blink_timer = timer_read (); - } - } - } - - if (keyboard_report->mods & MOD_BIT(KC_LSFT) || - ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { - ergodox_right_led_1_set (LED_BRIGHTNESS_HI); - ergodox_right_led_1_on (); - } else { - ergodox_right_led_1_set (LED_BRIGHTNESS_LO); - if (layer != OHLFT && layer != NMDIA && layer != PLVR && layer != ADORE) - ergodox_right_led_1_off (); - } - - if (keyboard_report->mods & MOD_BIT(KC_LALT) || - ((get_oneshot_mods() & MOD_BIT(KC_LALT)) && !has_oneshot_mods_timed_out())) { - ergodox_right_led_2_set (LED_BRIGHTNESS_HI); - ergodox_right_led_2_on (); - } else { - ergodox_right_led_2_set (LED_BRIGHTNESS_LO); - if (layer != OHRGT && layer != HUN && layer != OHLFT && layer != NMDIA && layer != PLVR && layer != ADORE) - ergodox_right_led_2_off (); - } - - if (keyboard_report->mods & MOD_BIT(KC_LCTRL) || - ((get_oneshot_mods() & MOD_BIT(KC_LCTRL)) && !has_oneshot_mods_timed_out())) { - ergodox_right_led_3_set (LED_BRIGHTNESS_HI); - ergodox_right_led_3_on (); - } else { - ergodox_right_led_3_set (LED_BRIGHTNESS_LO); - if (layer != OHRGT && layer != HUN && layer != PLVR && layer != ADORE) - ergodox_right_led_3_off (); - } - - LEADER_DICTIONARY() { - leading = false; - leader_end (); - -#if KEYLOGGER_ENABLE - SEQ_ONE_KEY (KC_D) { - ergodox_led_all_on(); - wait_ms(100); - ergodox_led_all_off(); - log_enable = !log_enable; - } -#endif - - SEQ_ONE_KEY (KC_T) { - time_travel = !time_travel; - } - - SEQ_ONE_KEY (KC_U) { - ang_do_unicode (); - } - - SEQ_ONE_KEY (KC_V) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ (" QMK_VERSION "/" KEYMAP_VERSION ")"); - } - - SEQ_ONE_KEY (KC_L) { - /* λ */ - ang_do_unicode (); - - uint16_t codes[] = {KC_0, KC_3, KC_B, KC_B, KC_ENT, 0}; - ang_tap (codes); - } - - SEQ_ONE_KEY (KC_Y) { - uint16_t codes[] = {KC_BSLS, KC_O, KC_SLSH, 0}; - ang_tap (codes); - } - - SEQ_ONE_KEY (KC_S) { - ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); - TAP_ONCE (KC_BSLS); - register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT); - ang_do_unicode (); TAP_ONCE (KC_3); TAP_ONCE (KC_0); TAP_ONCE (KC_C); TAP_ONCE (KC_4); TAP_ONCE (KC_SPC); - register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT); - TAP_ONCE (KC_SLSH); - ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); - } - - SEQ_TWO_KEYS (KC_W, KC_M) { - register_code (KC_LALT); - register_code (KC_F2); - unregister_code (KC_F2); - unregister_code (KC_LALT); - - wait_ms (1000); - - uint16_t codes[] = {KC_M, KC_A, KC_X, KC_MINS, KC_F, KC_O, KC_C, KC_U, KC_S, KC_E, KC_D, KC_ENT, 0}; - ang_tap (codes); - register_code (KC_LGUI); - register_code (KC_UP); - unregister_code (KC_UP); - unregister_code (KC_LGUI); - } - - SEQ_ONE_KEY (KC_A) { - if (is_adore == 0) { - default_layer_and (0); - default_layer_or ((1UL << ADORE)); - eeconfig_update_default_layer ((1UL << ADORE)); - is_adore = 1; - - ergodox_led_all_off (); - ergodox_right_led_3_on (); - wait_ms (100); - ergodox_right_led_2_on (); - wait_ms (100); - ergodox_right_led_3_off (); - ergodox_right_led_1_on (); - wait_ms (100); - ergodox_right_led_2_off (); - wait_ms (100); - ergodox_right_led_1_off (); - } else { - is_adore = 0; - default_layer_and (0); - default_layer_or (1UL << BASE); - eeconfig_update_default_layer ((1UL << BASE)); - - ergodox_led_all_off (); - ergodox_right_led_1_on (); - wait_ms (100); - ergodox_right_led_2_on (); - wait_ms (100); - ergodox_right_led_1_off (); - ergodox_right_led_3_on (); - wait_ms (100); - ergodox_right_led_2_off (); - wait_ms (100); - ergodox_right_led_3_off (); - } - } - } -} - -static uint16_t last4[4]; - -bool process_record_user (uint16_t keycode, keyrecord_t *record) { -#if KEYLOGGER_ENABLE - uint8_t layer = biton32(layer_state); - - if (log_enable && layer == BASE) { - xprintf ("KL: col=%d, row=%d\n", record->event.key.col, - record->event.key.row); - } -#endif - - if (time_travel && !record->event.pressed) { - uint8_t p; - - // shift cache one to the left - for (p = 0; p < 3; p++) { - last4[p] = last4[p + 1]; - } - last4[3] = keycode; - - if (last4[0] == KC_D && last4[1] == KC_A && last4[2] == KC_T && last4[3] == KC_E) { - uint16_t codes[] = {KC_E, KC_SPC, KC_MINS, KC_D, KC_SPC, KC_QUOT, 0}; - ang_tap (codes); - register_code (KC_RSFT); - register_code (KC_EQL); - unregister_code (KC_EQL); - unregister_code (KC_RSFT); - - uint16_t codes2[] = {KC_4, KC_SPC, KC_D, KC_A, KC_Y, KC_S, KC_QUOT, 0}; - ang_tap (codes2); - - return false; - } - } - - return true; -} + +/* Layers */ + +enum { + BASE = 0, + ADORE, + ARRW, + APPSEL, + HUN, + NMDIA, + PLVR, +}; + +/* Macros */ + +enum { + NONE = 0, + // Buttons that do extra stuff + A_GUI, + A_PLVR, + A_ESC, + A_MPN, + + // Function / number keys + KF_1, // 1, F1 + KF_2, // 2, F2 + KF_3, // ... + KF_4, + KF_5, + KF_6, + KF_7, + KF_8, + KF_9, + KF_10, + KF_11, // =, F11 + + // Application select keys + APP_SLK, // Slack + APP_EMCS, // Emacs + APP_TERM, // Terminal + APP_CHRM, // Chrome + APP_MSIC, // Music + + // Diagonal mouse movement + A_MUL, + A_MUR, + A_MDL, + A_MDR, + + // Hungarian layer keys + HU_AA, // Á + HU_OO, // Ó + HU_EE, // É + HU_UU, // Ú + HU_II, // Í + HU_OE, // Ö + HU_UE, // Ü + HU_OEE, // Ő + HU_UEE, // Ű +}; + +/* Fn keys */ + +enum { + F_BSE = 0, + F_HUN, + F_GUI, + F_SFT, + F_ALT, + F_CTRL +}; + +/* Custom keycodes */ + +enum { + CT_CLN = 0, + CT_MNS, + CT_TA, + CT_LBP, + CT_RBP +}; + +/* States & timers */ + +uint16_t gui_timer = 0; + +uint16_t kf_timers[12]; + +#if KEYLOGGER_ENABLE +bool log_enable = false; +#endif + +bool time_travel = false; + +/* The Keymap */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Keymap 0: Base Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | Next/Prev | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | ~ | ' | , | . | P | Y | [ | | ] | F | G | C | R | L | \ | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | Tab/ARROW | A | O | E | U | I |------| |------| D | H | T | N | S | = / Arrow | + * |-----------+------+------+------+------+------| ( | | ) |------+------+------+------+------+-----------| + * | Play/Pause| / | Q | J | K | X | | | | B | M | W | V | Z | Stop | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | : | | - | | | | | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | LAlt | GUI | | MDIA | Del | + * ,------|------|------| |------+------+------. + * | | | Ctrl | | LEAD | | | + * |Backsp|LShift|------| |------| Enter| Space| + * | | | ESC | | HUN | | | + * `--------------------' `--------------------' + */ +[BASE] = KEYMAP( +// left hand + M(A_MPN) ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR) +,KC_GRV ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC +,TD(CT_TA) ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I +,KC_MPLY ,KC_SLSH ,KC_Q ,KC_J ,KC_K ,KC_X ,KC_LPRN +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,TD(CT_CLN) + + ,F(F_ALT),F(F_GUI) + ,F(F_CTRL) + ,KC_BSPC,F(F_SFT),M(A_ESC) + + // right hand + ,KC_APP ,M(KF_6),M(KF_7) ,M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 + ,KC_RBRC ,KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_BSLS + ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,KC_EQL + ,KC_RPRN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP + ,TD(CT_MNS),KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,OSL(NMDIA),KC_DEL + ,KC_LEAD + ,F(F_HUN) ,KC_ENT ,KC_SPC + ), + +/* Keymap 1: Adore layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | Play/Pause| 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | `~ | X | W | K | L | M | ( | | ) | F | H | C | P | Y | \ | + * |-----------+------+------+------+------+------| [ | | ] |------+------+------+------+------+-----------| + * | Tab/Arrow | A | O | E | I | U |------| |------| D | R | T | N | S | = | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | Z | Q | ' | , | . | : | | - | B | G | V | J | / | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | LAlt | GUI | | MDIA | Del | + * ,------|------|------| |------+------+------. + * | | | Ctrl | | HUN | | | + * |Backsp|LShift|------| |------| Enter| Space| + * | | | ESC | | LEAD | | | + * `--------------------' `--------------------' + */ +[ADORE] = KEYMAP( +// left hand + KC_MPLY ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR) +,KC_GRV ,KC_X ,KC_W ,KC_K ,KC_L ,KC_M ,TD(CT_LBP) +,TD(CT_TA) ,KC_A ,KC_O ,KC_E ,KC_I ,KC_U +,KC_NO ,KC_Z ,KC_Q ,KC_QUOT,KC_COMM,KC_DOT ,TD(CT_CLN) +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,F(F_ALT),F(F_GUI) + ,F(F_CTRL) + ,KC_BSPC,F(F_SFT),M(A_ESC) + + // right hand + ,KC_APP ,M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 + ,TD(CT_RBP),KC_F ,KC_H ,KC_C ,KC_P ,KC_Y ,KC_BSLS + ,KC_D ,KC_R ,KC_T ,KC_N ,KC_S ,KC_EQL + ,TD(CT_MNS),KC_B ,KC_G ,KC_V ,KC_J ,KC_SLSH ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,OSL(NMDIA),KC_DEL + ,F(F_HUN) + ,KC_LEAD ,KC_ENT ,KC_SPC + ), + +/* Keymap 2: Arrow layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | | | | | | | | | Home | Up | End | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | |------| |------| | Left | Down | Rght | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | Enter| |------| |------| PgUp | PgDn | + * | | | | | | | | + * `--------------------' `--------------------' + */ + +[ARRW] = KEYMAP( +// left hand + KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_ENT ,KC_TRNS ,KC_TRNS + + // right hand + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_HOME ,KC_UP ,KC_END ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_LEFT ,KC_DOWN ,KC_RGHT ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_PGUP ,KC_PGDN + ), + +/* Keymap 3: Application select layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | |Music |Slack |Emacs |Term |Chrome| | | | | | | | | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | |------| |------| | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ + +[APPSEL] = KEYMAP( +// left hand + KC_TRNS ,M(APP_MSIC),M(APP_SLK),M(APP_EMCS),M(APP_TERM),M(APP_CHRM),KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS + + // right hand + ,KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS + ), + + +/* Keymap 4: Hungarian Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | Ő | | Ű | | | | | | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | Á | Ó | É | Ú | Í |------| |------| | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | Ö | | Ü | | | | | | | | | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | BASE | | | + * `--------------------' `--------------------' + */ + +[HUN] = KEYMAP( +// left hand + KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO +,KC_NO ,KC_NO ,M(HU_OEE),KC_NO ,M(HU_UEE),KC_NO ,KC_NO +,KC_NO ,M(HU_AA),M(HU_OO) ,M(HU_EE),M(HU_UU) ,M(HU_II) +,KC_NO ,KC_NO ,M(HU_OE) ,KC_NO ,M(HU_UE) ,KC_NO ,KC_NO +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,KC_NO ,KC_NO + ,KC_NO + ,KC_NO ,KC_TRNS ,KC_TRNS + + // right hand + ,KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,KC_NO ,KC_NO + ,KC_NO + ,F(F_BSE),KC_TRNS ,KC_TRNS + ), + +/* Keymap 5: Navigation & Media layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | MS Slow | | | | | |ScrLCK| |ScrLCK| | | | | | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | MS Normal | | Home | Up | PgUp | | | |Scroll| |MsUpL | MsUp |MsUpR | |PrintScreen| + * |-----------+------+------+------+------+------| | | Up |------+------+------+------+------+-----------| + * | MS Fast | | Left | Down | Right| |------| |------| |MsLeft| MsDn |MsRght| | | + * |-----------+------+------+------+------+------| | |Scroll|------+------+------+------+------+-----------| + * | Play/Pause| | End | Down | PgDn | | | | Down | |MsDnL | MsDn |MsDnR | | Stop | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Mute | VlUp | | BASE | MClk | + * ,------|------|------| |------+------+------. + * | | | VlDn | | Prev |Left |Right | + * | SPC | Enter|------| |------| Click| Click| + * | | | ESC | | Next | | | + * `--------------------' `--------------------' + */ +[NMDIA] = KEYMAP( +// left hand + KC_ACL0 ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,LGUI(KC_L) +,KC_ACL1 ,KC_NO ,KC_HOME ,KC_UP ,KC_PGUP ,KC_NO ,KC_NO +,KC_ACL2 ,KC_NO ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_NO +,KC_MPLY ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_NO +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_MUTE ,KC_VOLU + ,KC_VOLD + ,KC_SPC,KC_ENTER,M(A_ESC) + + // right hand + ,LGUI(KC_L),KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_WH_U ,KC_NO ,M(A_MUL),KC_MS_U ,M(A_MUR),KC_NO ,KC_PSCR + ,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_NO ,KC_NO + ,KC_WH_D ,KC_NO ,M(A_MDL),KC_MS_D ,M(A_MDR),KC_NO ,KC_MSTP + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,KC_TRNS ,KC_MS_BTN3 + ,KC_MPRV + ,KC_MNXT ,KC_BTN1 ,KC_BTN2 + ), + +/* Keymap 6: Steno for Plover + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | BASE | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | # | # | # | # | # | # | | # | # | # | # | # | # | # | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | T | P | H | |------| |------| | F | P | L | T | D | + * |--------+ S +------+------+------+ * | * | | * | * +------+------+------+------+--------| + * | | | K | W | R | | | | | | R | B | G | S | Z | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | A | O |------| |------| E | U | + * | | | | | | | | + * `--------------------' `--------------------' + */ + +[PLVR] = KEYMAP( +// left hand +KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(A_PLVR), +KC_NO, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, +KC_NO, PV_LS, PV_LT, PV_LP, PV_LH, PV_STAR, +KC_NO, PV_LS, PV_LK, PV_LW, PV_LR, PV_STAR, PV_STAR, +KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + PV_A, PV_O, KC_NO, + + // right hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, + PV_STAR, PV_RF, PV_RP, PV_RL, PV_RT, PV_RD, + PV_STAR, PV_STAR, PV_RR, PV_RB, PV_RG, PV_RS, PV_RZ, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_NO,PV_E, PV_U + ), + +}; + +const uint16_t PROGMEM fn_actions[] = { + [F_BSE] = ACTION_LAYER_CLEAR(ON_PRESS) + ,[F_HUN] = ACTION_LAYER_INVERT(HUN, ON_PRESS) + ,[F_GUI] = ACTION_MACRO_TAP(A_GUI) + ,[F_SFT] = ACTION_MODS_ONESHOT (MOD_LSFT) + ,[F_ALT] = ACTION_MODS_ONESHOT (MOD_LALT) + ,[F_CTRL] = ACTION_MODS_ONESHOT (MOD_LCTL) +}; + +void toggle_steno(int pressed) +{ + uint8_t layer = biton32(layer_state); + + if (pressed) { + if (layer != PLVR) layer_on(PLVR); else layer_off(PLVR); + + register_code(PV_LP); + register_code(PV_LH); + register_code(PV_LR); + register_code(PV_O); + register_code(PV_RL); + register_code(PV_RG); + } else { + unregister_code(PV_LP); + unregister_code(PV_LH); + unregister_code(PV_LR); + unregister_code(PV_O); + unregister_code(PV_RL); + unregister_code(PV_RG); + } +} + +macro_t *ang_do_hun (keyrecord_t *record, uint16_t accent, uint16_t hun_char) +{ + uint8_t need_shift = 0; + uint8_t hold_shift = 0; + + if (!record->event.pressed) + return MACRO_NONE; + + layer_off (HUN); + + if (keyboard_report->mods & MOD_BIT (KC_LSFT)) { + hold_shift = 1; + need_shift = 1; + unregister_code (KC_LSFT); + } + if ((get_oneshot_mods () & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out ()) { + need_shift = 1; + hold_shift = 0; + unregister_code (KC_LSFT); + } + + clear_oneshot_mods (); + + register_code (KC_RALT); + unregister_code (KC_RALT); + if (accent == (KC_DQT)) { + register_code (KC_RSFT); + } + register_code (accent); + unregister_code (accent); + if (need_shift && accent != (KC_DQT)) { + register_code (KC_RSFT); + } else if (accent == (KC_DQT) && !need_shift) { + unregister_code (KC_RSFT); + } + register_code (hun_char); + unregister_code (hun_char); + if (need_shift || accent == (KC_DQT)) + unregister_code (KC_RSFT); + if (hold_shift) + register_code (KC_LSFT); + + return MACRO_NONE; +} + +void ang_handle_kf (keyrecord_t *record, uint8_t id) +{ + uint8_t code = id - KF_1; + + if (record->event.pressed) { + kf_timers[code] = timer_read (); + } else { + uint8_t kc; + + if (timer_elapsed (kf_timers[code]) > TAPPING_TERM) { + // Long press + kc = KC_F1 + code; + } else { + if (id == KF_11) + kc = KC_EQL; + else + kc = KC_1 + code; + } + + register_code (kc); + unregister_code (kc); + } +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case A_ESC: + if (record->event.pressed) { + if ((get_oneshot_mods ()) && !has_oneshot_mods_timed_out ()) { + clear_oneshot_mods (); + } else { + register_code (KC_ESC); + } + layer_off (HUN); + } else { + unregister_code (KC_ESC); + } + break; + + case A_MPN: + if (record->event.pressed) { + if (keyboard_report->mods & MOD_BIT(KC_LSFT) || + ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { + int oneshot = ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out()); + + if (oneshot) + clear_oneshot_mods (); + unregister_code (KC_LSFT); + + register_code (KC_MPRV); + unregister_code (KC_MPRV); + + if (!oneshot) + register_code (KC_LSFT); + } else { + return MACRO (T(MNXT), END); + } + } + break; + + /* Hungarian layer */ + case HU_AA: + return ang_do_hun (record, KC_QUOT, KC_A); + case HU_OO: + return ang_do_hun (record, KC_QUOT, KC_O); + case HU_EE: + return ang_do_hun (record, KC_QUOT, KC_E); + case HU_UU: + return ang_do_hun (record, KC_QUOT, KC_U); + case HU_II: + return ang_do_hun (record, KC_QUOT, KC_I); + case HU_OE: + return ang_do_hun (record, KC_DQT, KC_O); + case HU_UE: + return ang_do_hun (record, KC_DQT, KC_U); + case HU_OEE: + return ang_do_hun (record, KC_EQL, KC_O); + case HU_UEE: + return ang_do_hun (record, KC_EQL, KC_U); + + /* Mouse movement */ + case A_MUL: + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_LEFT); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_LEFT); + } + mousekey_send(); + break; + + case A_MUR: + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_RIGHT); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_RIGHT); + } + mousekey_send(); + break; + + case A_MDL: + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_LEFT); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_LEFT); + } + mousekey_send(); + break; + + case A_MDR: + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_RIGHT); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_RIGHT); + } + mousekey_send(); + break; + + /* Plover base */ + case A_PLVR: + toggle_steno(record->event.pressed); + break; + + /* GUI & AppSel */ + case A_GUI: + if (record->event.pressed) { + register_code (KC_LGUI); + if (record->tap.count && !record->tap.interrupted) { + if (record->tap.count >= 2) { + register_code (KC_W); + layer_on (APPSEL); + set_oneshot_layer (APPSEL, ONESHOT_START); + } + } else { + record->tap.count = 0; + } + gui_timer = 0; + } else { + if (record->tap.count >= 2) + { + unregister_code (KC_W); + clear_oneshot_layer_state (ONESHOT_PRESSED); + } + gui_timer = timer_read (); + } + break; + + case APP_SLK: + return MACRODOWN(T(S), T(L), T(A), T(C), T(K), T(ENT), END); + + case APP_EMCS: + return MACRODOWN(T(G), T(N), T(U), T(SPC), T(E), T(M), T(A), T(C), T(S), T(SPC), T(2), T(4), T(ENT), END); + + case APP_TERM: + return MACRODOWN(T(T), T(E), T(R), T(M), T(ENT), END); + + case APP_CHRM: + return MACRODOWN(T(C), T(H), T(R), T(O), T(M), T(ENT), END); + + case APP_MSIC: + return MACRODOWN(T(R), T(H), T(Y), T(T), T(H), T(M), T(B), T(O), T(X), T(ENT), END); + + /* Function keys */ + case KF_1 ... KF_11: + ang_handle_kf (record, id); + break; + } + + return MACRO_NONE; +}; + +uint8_t is_adore = 0; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + uint8_t dl; + + ergodox_led_all_on(); + for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { + ergodox_led_all_set (i); + wait_ms (5); + } + wait_ms(1000); + for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { + ergodox_led_all_set (i); + wait_ms (10); + } + ergodox_led_all_off(); + + if (!eeconfig_is_enabled()) + eeconfig_init(); + dl = eeconfig_read_default_layer (); + if (dl == (1UL << ADORE)) { + is_adore = 1; +#if ADORE_AUTOLOG + log_enable = true; +#endif + } +}; + +LEADER_EXTERNS(); + +void ang_do_unicode (void) { + register_code (KC_RCTL); + register_code (KC_RSFT); + register_code (KC_U); + unregister_code (KC_U); + unregister_code (KC_RSFT); + unregister_code (KC_RCTL); + wait_ms (100); +} + +void ang_tap (uint16_t codes[]) { + for (int i = 0; codes[i] != 0; i++) { + register_code (codes[i]); + unregister_code (codes[i]); + wait_ms (50); + } +} + +#define TAP_ONCE(code) \ + register_code (code); \ + unregister_code (code) + +void ang_tap_dance_bp_finished (qk_tap_dance_state_t *state, void *user_data) { + bool left, parens; + + if (state->count > 2) { + state->count = 0; + return; + } + + if (state->keycode == TD(CT_LBP)) + left = true; + else + left = false; + + if (state->count == 1) + parens = false; + else + parens = true; + + if (parens) { + register_code (KC_RSFT); + if (left) { + TAP_ONCE(KC_9); + } else { + TAP_ONCE(KC_0); + } + unregister_code (KC_RSFT); + } else { + if (left) { + TAP_ONCE (KC_LBRC); + } else { + TAP_ONCE (KC_RBRC); + } + } +} + +void ang_tap_dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code (KC_RSFT); + register_code (KC_SCLN); + } else if (state->count == 2) { + register_code (KC_SCLN); + } +} + +void ang_tap_dance_cln_reset (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + unregister_code (KC_SCLN); + unregister_code (KC_RSFT); + } else if (state->count == 2) { + unregister_code (KC_SCLN); + } +} + +void ang_tap_dance_mns_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code (KC_MINS); + } else if (state->count == 2) { + register_code (KC_RSFT); + register_code (KC_MINS); + } +} + +void ang_tap_dance_mns_reset (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + unregister_code (KC_MINS); + } else if (state->count == 2) { + unregister_code (KC_RSFT); + unregister_code (KC_MINS); + } +} + +typedef struct { + bool layer_toggle; + bool sticky; + bool finished_once; +} td_ta_state_t; + +void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) { + td_ta_state_t *td_ta = (td_ta_state_t *) user_data; + + if (td_ta->finished_once) { + return; + } + + if (td_ta->sticky) { + td_ta->sticky = false; + td_ta->layer_toggle = false; + layer_off (ARRW); + return; + } + + td_ta->finished_once = true; + if (state->count == 1 && !state->pressed) { + register_code (KC_TAB); + td_ta->sticky = false; + td_ta->layer_toggle = false; + } else { + td_ta->layer_toggle = true; + layer_on (ARRW); + td_ta->sticky = (state->count == 2); + } +} + +void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) { + td_ta_state_t *td_ta = (td_ta_state_t *) user_data; + + if (!td_ta->layer_toggle) + unregister_code (KC_TAB); + if (!td_ta->sticky) + layer_off (ARRW); + + td_ta->finished_once = false; +} + +const qk_tap_dance_action_t tap_dance_actions[] = { + [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_cln_finished, ang_tap_dance_cln_reset) + ,[CT_MNS] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_mns_finished, ang_tap_dance_mns_reset) + ,[CT_TA] = { + .fn = { NULL, ang_tap_dance_ta_finished, ang_tap_dance_ta_reset }, + .user_data = (void *)&((td_ta_state_t) { false, false, false }) + } + ,[CT_LBP] = ACTION_TAP_DANCE_FN (ang_tap_dance_bp_finished) + ,[CT_RBP] = ACTION_TAP_DANCE_FN (ang_tap_dance_bp_finished) +}; + +static uint16_t uni[32]; +static uint8_t unicnt; +static bool unimagic = false; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + uint8_t layer = biton32(layer_state); + + if (gui_timer && timer_elapsed (gui_timer) > TAPPING_TERM) + unregister_code (KC_LGUI); + + if (layer == HUN) { + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); + } else if (layer == NMDIA) { + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + } else if (layer == PLVR) { + ergodox_right_led_1_on (); + ergodox_right_led_2_on (); + ergodox_right_led_3_on (); + } else if (layer == ADORE) { + ergodox_right_led_1_on (); + ergodox_right_led_2_on (); + ergodox_right_led_3_on (); + + ergodox_right_led_2_set (LED_BRIGHTNESS_HI); + } + + if (keyboard_report->mods & MOD_BIT(KC_LSFT) || + ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { + ergodox_right_led_1_set (LED_BRIGHTNESS_HI); + ergodox_right_led_1_on (); + } else { + ergodox_right_led_1_set (LED_BRIGHTNESS_LO); + if (layer != NMDIA && layer != PLVR && layer != ADORE) + ergodox_right_led_1_off (); + } + + if (keyboard_report->mods & MOD_BIT(KC_LALT) || + ((get_oneshot_mods() & MOD_BIT(KC_LALT)) && !has_oneshot_mods_timed_out())) { + ergodox_right_led_2_set (LED_BRIGHTNESS_HI); + ergodox_right_led_2_on (); + } else { + ergodox_right_led_2_set (LED_BRIGHTNESS_LO); + if (layer != HUN && layer != NMDIA && layer != PLVR && layer != ADORE) + ergodox_right_led_2_off (); + } + + if (keyboard_report->mods & MOD_BIT(KC_LCTRL) || + ((get_oneshot_mods() & MOD_BIT(KC_LCTRL)) && !has_oneshot_mods_timed_out())) { + ergodox_right_led_3_set (LED_BRIGHTNESS_HI); + ergodox_right_led_3_on (); + } else { + ergodox_right_led_3_set (LED_BRIGHTNESS_LO); + if (layer != HUN && layer != PLVR && layer != ADORE) + ergodox_right_led_3_off (); + } + + LEADER_DICTIONARY() { + leading = false; + leader_end (); + +#if KEYLOGGER_ENABLE + SEQ_ONE_KEY (KC_D) { + ergodox_led_all_on(); + wait_ms(100); + ergodox_led_all_off(); + log_enable = !log_enable; + } +#endif + + SEQ_ONE_KEY (KC_T) { + time_travel = !time_travel; + } + + SEQ_ONE_KEY (KC_U) { + ang_do_unicode (); + } + + SEQ_TWO_KEYS (KC_LEAD, KC_U) { + unicnt = 0; + unimagic = true; + register_code(KC_RSFT); + TAP_ONCE(KC_U); + unregister_code(KC_RSFT); + } + + SEQ_ONE_KEY (KC_V) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ (" QMK_VERSION "/" KEYMAP_VERSION ")"); + } + + SEQ_ONE_KEY (KC_L) { + /* λ */ + ang_do_unicode (); + + uint16_t codes[] = {KC_0, KC_3, KC_B, KC_B, KC_ENT, 0}; + ang_tap (codes); + } + + SEQ_ONE_KEY (KC_Y) { + uint16_t codes[] = {KC_BSLS, KC_O, KC_SLSH, 0}; + ang_tap (codes); + } + + SEQ_ONE_KEY (KC_S) { + ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); + TAP_ONCE (KC_BSLS); + register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT); + ang_do_unicode (); TAP_ONCE (KC_3); TAP_ONCE (KC_0); TAP_ONCE (KC_C); TAP_ONCE (KC_4); TAP_ONCE (KC_SPC); + register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT); + TAP_ONCE (KC_SLSH); + ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); + } + + SEQ_TWO_KEYS (KC_W, KC_M) { + register_code (KC_LALT); + register_code (KC_F2); + unregister_code (KC_F2); + unregister_code (KC_LALT); + + wait_ms (1000); + + uint16_t codes[] = {KC_M, KC_A, KC_X, KC_MINS, KC_F, KC_O, KC_C, KC_U, KC_S, KC_E, KC_D, KC_ENT, 0}; + ang_tap (codes); + register_code (KC_LGUI); + register_code (KC_UP); + unregister_code (KC_UP); + unregister_code (KC_LGUI); + } + + SEQ_ONE_KEY (KC_A) { + if (is_adore == 0) { + default_layer_and (0); + default_layer_or ((1UL << ADORE)); + eeconfig_update_default_layer ((1UL << ADORE)); + is_adore = 1; + + ergodox_led_all_off (); + ergodox_right_led_3_on (); + wait_ms (100); + ergodox_right_led_2_on (); + wait_ms (100); + ergodox_right_led_3_off (); + ergodox_right_led_1_on (); + wait_ms (100); + ergodox_right_led_2_off (); + wait_ms (100); + ergodox_right_led_1_off (); +#if ADORE_AUTOLOG + log_enable = true; +#endif + } else { +#if ADORE_AUTOLOG + log_enable = false; +#endif + is_adore = 0; + default_layer_and (0); + default_layer_or (1UL << BASE); + eeconfig_update_default_layer ((1UL << BASE)); + + ergodox_led_all_off (); + ergodox_right_led_1_on (); + wait_ms (100); + ergodox_right_led_2_on (); + wait_ms (100); + ergodox_right_led_1_off (); + ergodox_right_led_3_on (); + wait_ms (100); + ergodox_right_led_2_off (); + wait_ms (100); + ergodox_right_led_3_off (); + } + } + } +} + +static uint16_t last4[4]; + +bool is_uni_seq(char *seq) { + uint8_t i; + + for (i = 0; seq[i]; i++) { + uint16_t code; + if (('1' <= seq[i]) && (seq[i] <= '9')) + code = seq[i] - '1' + KC_1; + else if (seq[i] == '0') + code = KC_0; + else + code = seq[i] - 'a' + KC_A; + + if (i > unicnt) + return false; + if (uni[i] != code) + return false; + } + + if (uni[i] == KC_ENT || uni[i] == KC_SPC) + return true; + + return false; +} + +uint16_t hex_to_keycode(uint8_t hex) +{ + if (hex == 0x0) { + return KC_0; + } else if (hex < 0xA) { + return KC_1 + (hex - 0x1); + } else { + return KC_A + (hex - 0xA); + } +} + +void register_hex(uint16_t hex) { + bool leading_zeros = true; + + for(int i = 3; i >= 0; i--) { + uint8_t digit = ((hex >> (i*4)) & 0xF); + if (digit != 0) + leading_zeros = false; + else if (leading_zeros) + continue; + register_code(hex_to_keycode(digit)); + unregister_code(hex_to_keycode(digit)); + wait_ms(10); + } +} + +typedef struct { + char *symbol; + uint16_t codes[4]; +} qk_ucis_symbol_t; + +static qk_ucis_symbol_t ucis_symbol_table[] = { + {"poop", {0x1, 0xf4a9, 0}}, + {"rofl", {0x1, 0xf923, 0}}, + {"kiss", {0x1, 0xf619, 0}}, + {"snowman", {0x2603, 0}}, + {NULL, {}} +}; + +bool process_record_ucis (uint16_t keycode, keyrecord_t *record) { + uint8_t i; + + if (!unimagic) + return true; + + if (!record->event.pressed) + return true; + + uni[unicnt] = keycode; + unicnt++; + + if (keycode == KC_BSPC) { + if (unicnt >= 2) { + unicnt-= 2; + return true; + } else { + unicnt--; + return false; + } + } + + if (keycode == KC_ENT || keycode == KC_SPC) { + bool symbol_found = false; + + for (i = unicnt; i > 0; i--) { + register_code (KC_BSPC); + unregister_code (KC_BSPC); + wait_ms(10); + } + + ang_do_unicode(); + wait_ms(10); + for (i = 0; ucis_symbol_table[i].symbol; i++) { + if (is_uni_seq (ucis_symbol_table[i].symbol)) { + symbol_found = true; + for (uint8_t j = 0; ucis_symbol_table[i].codes[j]; j++) { + register_hex(ucis_symbol_table[i].codes[j]); + } + break; + } + } + if (!symbol_found) { + for (i = 0; i < unicnt - 1; i++) { + uint8_t code; + + if (uni[i] > KF_1) + code = uni[i] - KF_1 + KC_1; + else + code = uni[i]; + TAP_ONCE(code); + wait_ms (10); + } + } + + unimagic = false; + return true; + } + return true; +} + +bool process_record_user (uint16_t keycode, keyrecord_t *record) { +#if KEYLOGGER_ENABLE + if (log_enable) { + xprintf ("KL: col=%d, row=%d\n", record->event.key.col, + record->event.key.row); + } +#endif + + if (!process_record_ucis (keycode, record)) + return false; + + if (time_travel && !record->event.pressed) { + uint8_t p; + + // shift cache one to the left + for (p = 0; p < 3; p++) { + last4[p] = last4[p + 1]; + } + last4[3] = keycode; + + if (last4[0] == KC_D && last4[1] == KC_A && last4[2] == KC_T && last4[3] == KC_E) { + uint16_t codes[] = {KC_E, KC_SPC, KC_MINS, KC_D, KC_SPC, KC_QUOT, 0}; + ang_tap (codes); + register_code (KC_RSFT); + register_code (KC_EQL); + unregister_code (KC_EQL); + unregister_code (KC_RSFT); + + uint16_t codes2[] = {KC_4, KC_SPC, KC_D, KC_A, KC_Y, KC_S, KC_QUOT, 0}; + ang_tap (codes2); + + return false; + } + } + + return true; +} diff --git a/keyboards/ergodox/keymaps/algernon/readme.md b/keyboards/ergodox/keymaps/algernon/readme.md index 6fe177511..26dfddbe6 100644 --- a/keyboards/ergodox/keymaps/algernon/readme.md +++ b/keyboards/ergodox/keymaps/algernon/readme.md @@ -16,11 +16,12 @@ Some of the things in the layout only work when one uses Spacemacs and GNOME und - [ADORE layer](#adore-layer) - [Hungarian layer](#hungarian-layer) - [Navigation and media layer](#navigation-and-media-layer) - - [One-handed layer](#one-handed-layer) - [Steno layer](#steno-layer) - [LED states](#led-states) * [Tools](#tools) - [Heatmap](#heatmap) +* [Special features](#special-features) + - [Unicode Symbol Input](#unicode-symbol-input) * [Building](#building) - [Using on Windows](#using-on-windows) * [Changelog](#changelog) @@ -38,7 +39,7 @@ At its core, this is a Dvorak layout, with some minor changes. The more interest * The `Shift`, `Alt`, and `Control` modifiers are one-shot. When tapped, they are considered active for the next key press only. When double tapped, they toggle on, until a third, single tap sometime later. When held, they act as expected. My usual pattern is that I use these for the next keypress only, so this behaviour is perfect. If I need them held, I'll just double-tap. * The `GUI` key is special, because when I double-tap it, it sends `GUI + w`, which pops up an application selector. It also switches to a one-shot layer, where the number row on the left half turns into app selector macros, for the most common things I usually want to switch to. Otherwise it behaves as on a normal layout. * The `ESC` key also doubles as a one-shot cancel key: if tapped while any of the one-shot modifiers are in-flight (as in, single-tapped, and not expired yet), it cancels all one-shot modifiers. It also cancels the **Hun** layer, if active. Otherwise it sends the usual keycode. -* The **Media** and **Hun** layer keys are one-shot, the **1Hand** and **STENO** keys are toggles. +* The **Media** and **Hun** layer keys are one-shot, the **STENO** key is a toggle. * When holding any of the **Arrow** layer keys, the arrow layer activates while the layer key is held. Tapping the key produces the normal key. * Tapping the `:` key once yields `:`, tapping it twice yields `;`. * The **Lead** key allows me to type in a sequence of keys, and trigger some actions: @@ -51,6 +52,7 @@ At its core, this is a Dvorak layout, with some minor changes. The more interest - `LEAD v` prints the firmware version, the keyboard and the keymap. - `LEAD d` toggles logging keypress positions to the HID console. - `LEAD t` toggles time travel. Figuring out the current `date` is left as an exercise to the reader. + - `LEAD LEAD u` enters the [Unicode symbol input][#unicode-symbol-input] mode. ## ADORE layer @@ -74,20 +76,6 @@ On this layer, the accented characters are at the same position as their base va This layer is primarily for navigating with the cursor or the mouse, and some media things. -## One-handed layer - -[![One-handed layer](images/one-handed-layer.png)](http://www.keyboard-layout-editor.com/#/gists/edff2495135955b8963198dace7f7ece) - -The one-handed layer is used in situations where the right hand is occupied, by mousing around, for example. Tapping the `OTHER` key switches which side is active. For the most part, keys remain in their usual position. When the right half is active, keys are mirrored to the left half. - -The differences are as follows: - -* The `ESC` key has been moved to the bottom row, so the `OTHER` key is easier to tap. -* Most keys on the thumb cluster now have dual uses, and these do not change when switching sides: - - The `Space`/`Backspace` key sends `Space` on tap, `Backspace` when held for longer than a normal tap. - - The `Enter`/`Shift` key sends `Enter` on short-tap, `Shift` on long-tap. -* The `Apps`/`BASE` key can be used to go back to the base layer, by long-tapping it. A short-tap will send the `App` key, as usual. - ## Steno layer [![Steno layer for Plover](images/steno-layer.png)](http://www.keyboard-layout-editor.com/#/gists/401ef9a84369e47c57f9aedcf0a0d667) @@ -103,11 +91,25 @@ For the layers, the following rules apply: * When the [ADORE layer](#adore-layer) is toggled on, LEDs will light up from left to right in a sequence, then turn off. When the layer is toggled off, the LEDs light up and turn off in the other direction. No LEDs are on while the layer is active. * When the [Hungarian layer](#hungarian-layer) is active, the *green* and *blue* LEDs are on. * When the [Navigation and media layer](#navigation-and-media-layer) is active, the *red* and *green* ones are on. -* When the [One-handed layer](#one-handed-layer) is active, the *green* LED is on and bright, and either the *red* or the *blue* one is going to slowly blink, depending on the currently active side. * For the [Steno layer](#steno-layer), all LEDs will be turned on. Unless noted otherwise, the layers use a dim light for the LEDs, while modifiers use a stronger one, and modifiers override any layer preferences. For example, when on the one-handed layer, with the left side active (*red* light blinking), if `Shift` is on, the *red* light will be constantly on. +# Special features + +## Unicode Symbol Input + +Once in the Unicode Symbol Input mode, one is able to type in symbol names, press `Enter` or `Space`, and get the Unicode symbol itself back. When in the mode, a capital `U` is printed first. Once the sequence is finished, all of it is erased by sending enough `Backspace` taps, and the firmware starts the OS-specific unicode input sequence. Then, it looks up the symbol name, and enters the associated code. If it is not found, it will just replay the pressed keycodes. + +The currently supported symbols are: + +- `snowman`: ☃ +- `kiss`: 😙 +- `rofl`: 🤣 +- `poop`: 💩 + +This is an experimental feature, and may or may not work reliably. + # Tools ## Heatmap @@ -133,14 +135,14 @@ To make my workflow easier, this layout is maintained in [its own repository][al $ git clone https://github.com/jackhumbert/qmk_firmware.git $ cd qmk_firmware $ git clone https://github.com/algernon/ergodox-layout.git \ - keyboards/ergodox_ez/keymaps/algernon-master -$ make KEYBOARD=ergodox_ez KEYMAP=algernon-master + keyboards/ergodox/keymaps/algernon-master +$ make keyboard=ergodox keymap=algernon-master ``` From time to time, updates may be submitted back to the QMK repository. If you are reading it there, you can build the firmware like any other firmware included with it (assuming you are in the root directory of the firmware): ``` -$ make KEYBOARD=ergodox_ez KEYMAP=algernon +$ make keyboard=ergodox keymap=algernon ``` ## Using on Windows @@ -149,6 +151,16 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the # Changelog +## v1.5 - 2016-08-12 + +* The **1HAND** layer has been removed. +* A `Delete` key is now available on the right thumb cluster. +* The [ADORE](#adore-layer) layer received a major update, see the layout image above. +* It is now possible to enable automatic logging for the [ADORE](#adore-layer) layer, by setting the `ADORE_AUTOLOG` makefile variable to `yes` when compiling the keymap. It is off by default. +* The `~` key and the `Media Next/Prev` key have been swapped on the [base layer](#base-layer). +* On the **ARROW** layer, `Backspace` has been replaced by `Enter`. +* There is some experimental support for entering Unicode symbols. + ## v1.4 - 2016-07-29 * When toggling the key logging on or off, the LEDs will do a little dance. From cafa528b88c097f02ae92a5b15b015f5653cefe7 Mon Sep 17 00:00:00 2001 From: Toni Date: Fri, 12 Aug 2016 19:14:48 +0200 Subject: [PATCH 051/306] only aesthetics --- keyboards/satan/keymaps/iso_split_rshift/keymap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/satan/keymaps/iso_split_rshift/keymap.c b/keyboards/satan/keymaps/iso_split_rshift/keymap.c index 71c205a48..9f838ba61 100644 --- a/keyboards/satan/keymaps/iso_split_rshift/keymap.c +++ b/keyboards/satan/keymaps/iso_split_rshift/keymap.c @@ -67,10 +67,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------' */ [_TAB] = KEYMAP_ISO_SPLITRSHIFT( - KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_7), RALT(KC_0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, \ - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ + KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_7), RALT(KC_0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END), /* Keymap 3: Split right shift Numpad toggle Layer (by tapping the split rshift key) From 098951905d527c19043de75ef262ac9679ec452b Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Fri, 12 Aug 2016 20:45:43 -0400 Subject: [PATCH 052/306] forces all ergodox keymaps to be ez on qmk.fm (were infinity) --- util/travis_compiled_push.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/util/travis_compiled_push.sh b/util/travis_compiled_push.sh index 27ab3cec6..c2a994ef0 100644 --- a/util/travis_compiled_push.sh +++ b/util/travis_compiled_push.sh @@ -7,6 +7,8 @@ rev=$(git rev-parse --short HEAD) git config --global user.name "Travis CI" git config --global user.email "jack.humb+travis.ci@gmail.com" +make all-keymaps keyboard=ergodox/ez AUTOGEN=true + find . -name ".build" | xargs rm -rf cd .. git clone https://$GH_TOKEN@github.com/jackhumbert/qmk.fm.git From 477f1ad0c8e360880d2b2db9abe4b000940a56bf Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 12 Aug 2016 19:07:44 -0700 Subject: [PATCH 053/306] fix link to ErgoDox EZ This just fixes the readme link to the ErgoDox EZ directory --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 57629f8be..e2221e749 100644 --- a/readme.md +++ b/readme.md @@ -13,7 +13,7 @@ For an easy-to-read version of this document and the repository, check out [http * [Planck](/keyboards/planck/) * [Preonic](/keyboards/preonic/) * [Atomic](/keyboards/atomic/) -* [ErgoDox EZ](/keyboards/ergodox_ez/) +* [ErgoDox EZ](/keyboards/ergodox/ez/) * [Clueboard](/keyboards/clueboard/) * [Cluepad](/keyboards/cluepad/) @@ -31,7 +31,7 @@ The OLKB product firmwares are maintained by [Jack Humbert](https://github.com/j This is not a tiny project. While this is the main readme, there are many other files you might want to consult. Here are some points of interest: -* The readme for your own keyboard: This is found under `keyboards//`. So for the ErgoDox EZ, it's [here](keyboards/ergodox_ez/); for the Planck, it's [here](keyboards/planck/) and so on. +* The readme for your own keyboard: This is found under `keyboards//`. So for the ErgoDox EZ, it's [here](keyboards/ergodox/ez/); for the Planck, it's [here](keyboards/planck/) and so on. * The list of possible keycodes you can use in your keymap is actually spread out in a few different places: * [doc/keycode.txt](doc/keycode.txt) - an explanation of those same keycodes. * [quantum/keymap.h](quantum/keymap.h) - this is where the QMK-specific aliases are all set up. Things like the Hyper and Meh key, the Leader key, and all of the other QMK innovations. These are also explained and documented below, but `keymap.h` is where they're actually defined. From 458607ee5eafe1cc095b258cac014c334d8e7b72 Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Fri, 12 Aug 2016 22:26:30 -0700 Subject: [PATCH 054/306] Corrections to the Atreus Makefile and updates to my keymap --- keyboards/atreus/keymaps/xyverz/keymap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c index 0238fdbd3..02a661c8e 100644 --- a/keyboards/atreus/keymaps/xyverz/keymap.c +++ b/keyboards/atreus/keymaps/xyverz/keymap.c @@ -46,14 +46,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_L1] = { /* LAYER 1 */ {KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 }, {KC_TAB, KC_INS, KC_UP, KC_DEL, KC_HOME, KC_NO, KC_PGUP, KC_MUTE, KC_VOLD, KC_VOLU, KC_EQL }, - {KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_LCTL, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, KC_BSLS}, + {KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_LCTL, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, KC_BSLS}, {KC_TRNS, KC_GRV, KC_LGUI, KC_TRNS, KC_DEL, KC_LALT, KC_SPC, KC_TRNS, KC_LBRC, KC_RBRC, KC_ENT } }, [_L2] = { /* LAYER 2 */ {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_PLUS}, {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12 }, +<<<<<<< HEAD {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET } +======= + {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET} +>>>>>>> e1abe4c... Corrections to the Atreus Makefile and updates to my keymap } }; From 3bae791372e2090b30647d431c70c233caaef26f Mon Sep 17 00:00:00 2001 From: Xyverz Date: Fri, 12 Aug 2016 22:30:01 -0700 Subject: [PATCH 055/306] Update keymap.c --- keyboards/atreus/keymaps/xyverz/keymap.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c index 02a661c8e..b418cc9b5 100644 --- a/keyboards/atreus/keymaps/xyverz/keymap.c +++ b/keyboards/atreus/keymaps/xyverz/keymap.c @@ -53,11 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_TRNS, KC_F6, KC_F7, KC_F8, KC_PLUS}, {KC_TRNS, KC_TRNS, DVORAK, QWERTY, COLEMAK, KC_LCTL, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12 }, -<<<<<<< HEAD - {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET } -======= {KC_TRNS, KC_TRNS, KC_LGUI, KC_TRNS, KC_BSPC, KC_LALT, KC_SPC, KC_TRNS, LSFT(KC_LBRC), LSFT(KC_RBRC), RESET} ->>>>>>> e1abe4c... Corrections to the Atreus Makefile and updates to my keymap } }; From c07fe96581f02d0ea14c50cda7565aa52406c122 Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Fri, 12 Aug 2016 23:45:40 -0700 Subject: [PATCH 056/306] Adding the MiniVan44 aka TheVan 44 by u/evangs to the repo. Initial Commit. --- keyboards/minivan44/Makefile | 75 ++++++++ keyboards/minivan44/config.h | 162 ++++++++++++++++++ keyboards/minivan44/keymaps/default/Makefile | 21 +++ keyboards/minivan44/keymaps/default/config.h | 8 + keyboards/minivan44/keymaps/default/keymap.c | 97 +++++++++++ keyboards/minivan44/keymaps/default/readme.md | 1 + keyboards/minivan44/keymaps/xyverz/Makefile | 21 +++ keyboards/minivan44/keymaps/xyverz/config.h | 8 + keyboards/minivan44/keymaps/xyverz/keymap.c | 92 ++++++++++ keyboards/minivan44/keymaps/xyverz/readme.md | 1 + keyboards/minivan44/minivan44.c | 28 +++ keyboards/minivan44/minivan44.h | 22 +++ keyboards/minivan44/readme.md | 28 +++ 13 files changed, 564 insertions(+) create mode 100644 keyboards/minivan44/Makefile create mode 100644 keyboards/minivan44/config.h create mode 100644 keyboards/minivan44/keymaps/default/Makefile create mode 100644 keyboards/minivan44/keymaps/default/config.h create mode 100644 keyboards/minivan44/keymaps/default/keymap.c create mode 100644 keyboards/minivan44/keymaps/default/readme.md create mode 100644 keyboards/minivan44/keymaps/xyverz/Makefile create mode 100644 keyboards/minivan44/keymaps/xyverz/config.h create mode 100644 keyboards/minivan44/keymaps/xyverz/keymap.c create mode 100644 keyboards/minivan44/keymaps/xyverz/readme.md create mode 100644 keyboards/minivan44/minivan44.c create mode 100644 keyboards/minivan44/minivan44.h create mode 100644 keyboards/minivan44/readme.md diff --git a/keyboards/minivan44/Makefile b/keyboards/minivan44/Makefile new file mode 100644 index 000000000..45ca12780 --- /dev/null +++ b/keyboards/minivan44/Makefile @@ -0,0 +1,75 @@ + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE ?= yes # USB Nkey Rollover +BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE ?= no # MIDI controls +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no # Audio output on port C6 + +ifndef QUANTUM_DIR + include ../../Makefile +endif + + diff --git a/keyboards/minivan44/config.h b/keyboards/minivan44/config.h new file mode 100644 index 000000000..0ae93c095 --- /dev/null +++ b/keyboards/minivan44/config.h @@ -0,0 +1,162 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEAE +#define PRODUCT_ID 0x8844 +#define DEVICE_VER 0x0002 +#define MANUFACTURER Evan Sailer +#define PRODUCT TheVan 44 +#define DESCRIPTION keyboard firmware for TV44 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { D7, B5, F7, D4 } +#define MATRIX_COL_PINS { D2, D3, D5, D6, B4, B6, F6, F5, F4, F1, F0, B3 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/minivan44/keymaps/default/Makefile b/keyboards/minivan44/keymaps/default/Makefile new file mode 100644 index 000000000..f4671a9d1 --- /dev/null +++ b/keyboards/minivan44/keymaps/default/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/default/config.h b/keyboards/minivan44/keymaps/default/config.h new file mode 100644 index 000000000..df06a2620 --- /dev/null +++ b/keyboards/minivan44/keymaps/default/config.h @@ -0,0 +1,8 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here + +#endif \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/default/keymap.c b/keyboards/minivan44/keymaps/default/keymap.c new file mode 100644 index 000000000..d559a4b1c --- /dev/null +++ b/keyboards/minivan44/keymaps/default/keymap.c @@ -0,0 +1,97 @@ +#include "minivan44.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +#define _QW 0 +#define _DV 1 +#define _CM 2 +#define _L1 3 +#define _L2 4 +#define _L3 5 + +// Macro name shortcuts +#define QWERTY M(_QW) +#define DVORAK M(_DV) +#define COLEMAK M(_CM) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QW] = { /* Qwerty */ + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, + {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_L1) }, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_F, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2) }, + {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } + }, + [_DV] = { /* Dvorak */ + {KC_TAB, KC_COMM, KC_DOT, KC_SLSH, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_BSPC }, + {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MO(_L1) }, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, MO(_L2) }, + {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } + }, + [_CM] = { /* Colemak */ + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, + {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, MO(_L1) }, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2) }, + {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } + }, + [_L1] = { /* LAYER 1 */ + {KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, + {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ }, + {_______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT }, + {_______, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, XXXXXXX, _______ } + }, + [_L2] = { /* LAYER 2 */ + {_______, QWERTY, DVORAK, COLEMAK, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______ }, + {KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_4, KC_5, KC_6, KC_VOLU, KC_ENT }, + {_______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______ }, + {_______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, XXXXXXX, _______ } + }, + [_L3] = { /* LAYER 3 */ + {_______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______ }, + {KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______ }, + {KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_F11, KC_F12, _______ }, + {_______, KC_LSFT, KC_B, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_C, _______, _______, XXXXXXX, _______ } + } +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DV: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DV); + } + break; + case _QW: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QW); + } + break; + case _CM: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_CM); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboards/minivan44/keymaps/default/readme.md b/keyboards/minivan44/keymaps/default/readme.md new file mode 100644 index 000000000..189a9c0ff --- /dev/null +++ b/keyboards/minivan44/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for minivan44 \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/xyverz/Makefile b/keyboards/minivan44/keymaps/xyverz/Makefile new file mode 100644 index 000000000..f4671a9d1 --- /dev/null +++ b/keyboards/minivan44/keymaps/xyverz/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/xyverz/config.h b/keyboards/minivan44/keymaps/xyverz/config.h new file mode 100644 index 000000000..df06a2620 --- /dev/null +++ b/keyboards/minivan44/keymaps/xyverz/config.h @@ -0,0 +1,8 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here + +#endif \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/xyverz/keymap.c b/keyboards/minivan44/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..f995da0e7 --- /dev/null +++ b/keyboards/minivan44/keymaps/xyverz/keymap.c @@ -0,0 +1,92 @@ +#include "minivan44.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +#define _DV 0 +#define _QW 1 +#define _CM 2 +#define _L1 3 +#define _L2 4 + +// Macro name shortcuts +#define DVORAK M(_DV) +#define QWERTY M(_QW) +#define COLEMAK M(_CM) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DV] = { /* 0: Dvorak */ + {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC }, + {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT }, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT }, + {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } + }, + + [_QW] = { /* 1: Qwerty */ + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, + {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT }, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, + {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } + }, + + [_CM] = { /* 2: Colemak */ + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, + {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT }, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, + {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } + }, + + [_L1] = {/* 1: FN 1 */ + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL }, + {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ }, + {_______, _______, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT }, + {_______, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_SLSH, _______, _______ } + }, + + [_L2] = { /* 2: FN 2 */ + {KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_ESC }, + {_______, KC_F11, KC_F12, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_VOLU, KC_ENT }, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_VOLD, _______ }, + {QWERTY, DVORAK, COLEMAK, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______ } + } + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DV: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DV); + } + break; + case _QW: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QW); + } + break; + case _CM: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_CM); + } + break; + } + return MACRO_NONE; +}; + + diff --git a/keyboards/minivan44/keymaps/xyverz/readme.md b/keyboards/minivan44/keymaps/xyverz/readme.md new file mode 100644 index 000000000..189a9c0ff --- /dev/null +++ b/keyboards/minivan44/keymaps/xyverz/readme.md @@ -0,0 +1 @@ +# The default keymap for minivan44 \ No newline at end of file diff --git a/keyboards/minivan44/minivan44.c b/keyboards/minivan44/minivan44.c new file mode 100644 index 000000000..be8214fd5 --- /dev/null +++ b/keyboards/minivan44/minivan44.c @@ -0,0 +1,28 @@ +#include "minivan44.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + led_set_user(usb_led); +} diff --git a/keyboards/minivan44/minivan44.h b/keyboards/minivan44/minivan44.h new file mode 100644 index 000000000..c6119c2e1 --- /dev/null +++ b/keyboards/minivan44/minivan44.h @@ -0,0 +1,22 @@ +#ifndef MINIVAN44_H +#define MINIVAN44_H + +#include "quantum.h" + +// This a shortcut to help you visually see your layout. +// The following is an example using the Planck MIT layout +// The first section contains all of the arguements +// The second converts the arguments into a two-dimensional array +#define KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ + K30, K31, K32, K33, K37, K38, K39, K3B \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ + { K30, K31, K32, K33, KC_NO, KC_NO, KC_NO, K37, K38, K39, K3A, K3B } \ + +#endif diff --git a/keyboards/minivan44/readme.md b/keyboards/minivan44/readme.md new file mode 100644 index 000000000..59b62b0e6 --- /dev/null +++ b/keyboards/minivan44/readme.md @@ -0,0 +1,28 @@ +minivan44 keyboard firmware +====================== + +## Quantum MK Firmware + +For the full Quantum feature list, see [the parent readme.md](/doc/readme.md). + +## Building + +Download or clone the whole firmware and navigate to the keyboards/minivan44 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. + +Depending on which keymap you would like to use, you will have to compile slightly differently. + +### Default + +To build with the default keymap, simply run `make`. + +### Other Keymaps + +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files. + +To build the firmware binary hex file with a keymap just do `make` with `keymap` option like: + +``` +$ make keymap=[default|jack|] +``` + +Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` \ No newline at end of file From 8bdf745909bc2581491acce11225f56a85bc8f24 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Sat, 13 Aug 2016 10:33:47 +0200 Subject: [PATCH 057/306] process_unicode: Fix set_unicode_input_mode() In the header, this was defined as `set_unicode_input_mode`, but the implementation had `set_unicode_mode` for a name. Changed the implementation to match the header. Signed-off-by: Gergely Nagy --- quantum/process_keycode/process_unicode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c index ad5d7f86b..3fcac15ce 100644 --- a/quantum/process_keycode/process_unicode.c +++ b/quantum/process_keycode/process_unicode.c @@ -13,7 +13,7 @@ uint16_t hex_to_keycode(uint8_t hex) } } -void set_unicode_mode(uint8_t os_target) +void set_unicode_input_mode(uint8_t os_target) { input_mode = os_target; } From 2d0f585e426084b13fecc642cdda77506e2bfbf9 Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Sat, 13 Aug 2016 10:36:08 -0700 Subject: [PATCH 058/306] Renamed minivan44 to tv44 in all occurrences per wishes of Jack and Evan. --- keyboards/tv44/Makefile | 75 +++++++++++ keyboards/tv44/config.h | 162 +++++++++++++++++++++++ keyboards/tv44/keymaps/default/Makefile | 21 +++ keyboards/tv44/keymaps/default/config.h | 8 ++ keyboards/tv44/keymaps/default/keymap.c | 97 ++++++++++++++ keyboards/tv44/keymaps/default/readme.md | 1 + keyboards/tv44/keymaps/xyverz/Makefile | 21 +++ keyboards/tv44/keymaps/xyverz/config.h | 8 ++ keyboards/tv44/keymaps/xyverz/keymap.c | 92 +++++++++++++ keyboards/tv44/keymaps/xyverz/readme.md | 1 + keyboards/tv44/readme.md | 28 ++++ keyboards/tv44/tv44.c | 28 ++++ keyboards/tv44/tv44.h | 22 +++ 13 files changed, 564 insertions(+) create mode 100644 keyboards/tv44/Makefile create mode 100644 keyboards/tv44/config.h create mode 100644 keyboards/tv44/keymaps/default/Makefile create mode 100644 keyboards/tv44/keymaps/default/config.h create mode 100644 keyboards/tv44/keymaps/default/keymap.c create mode 100644 keyboards/tv44/keymaps/default/readme.md create mode 100644 keyboards/tv44/keymaps/xyverz/Makefile create mode 100644 keyboards/tv44/keymaps/xyverz/config.h create mode 100644 keyboards/tv44/keymaps/xyverz/keymap.c create mode 100644 keyboards/tv44/keymaps/xyverz/readme.md create mode 100644 keyboards/tv44/readme.md create mode 100644 keyboards/tv44/tv44.c create mode 100644 keyboards/tv44/tv44.h diff --git a/keyboards/tv44/Makefile b/keyboards/tv44/Makefile new file mode 100644 index 000000000..45ca12780 --- /dev/null +++ b/keyboards/tv44/Makefile @@ -0,0 +1,75 @@ + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE ?= yes # USB Nkey Rollover +BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE ?= no # MIDI controls +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no # Audio output on port C6 + +ifndef QUANTUM_DIR + include ../../Makefile +endif + + diff --git a/keyboards/tv44/config.h b/keyboards/tv44/config.h new file mode 100644 index 000000000..0ae93c095 --- /dev/null +++ b/keyboards/tv44/config.h @@ -0,0 +1,162 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEAE +#define PRODUCT_ID 0x8844 +#define DEVICE_VER 0x0002 +#define MANUFACTURER Evan Sailer +#define PRODUCT TheVan 44 +#define DESCRIPTION keyboard firmware for TV44 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 12 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * +*/ +#define MATRIX_ROW_PINS { D7, B5, F7, D4 } +#define MATRIX_COL_PINS { D2, D3, D5, D6, B4, B6, F6, F5, F4, F1, F0, B3 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +// #define BACKLIGHT_PIN B7 +// #define BACKLIGHT_BREATHING +// #define BACKLIGHT_LEVELS 3 + + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* + * Force NKRO + * + * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved + * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the + * makefile for this to work.) + * + * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) + * until the next keyboard reset. + * + * NKRO may prevent your keystrokes from being detected in the BIOS, but it is + * fully operational during normal computer usage. + * + * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) + * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by + * bootmagic, NKRO mode will always be enabled until it is toggled again during a + * power-up. + * + */ +//#define FORCE_NKRO + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* control how magic key switches layers */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false + +/* override magic key keymap */ +//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS +//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM +//#define MAGIC_KEY_HELP1 H +//#define MAGIC_KEY_HELP2 SLASH +//#define MAGIC_KEY_DEBUG D +//#define MAGIC_KEY_DEBUG_MATRIX X +//#define MAGIC_KEY_DEBUG_KBD K +//#define MAGIC_KEY_DEBUG_MOUSE M +//#define MAGIC_KEY_VERSION V +//#define MAGIC_KEY_STATUS S +//#define MAGIC_KEY_CONSOLE C +//#define MAGIC_KEY_LAYER0_ALT1 ESC +//#define MAGIC_KEY_LAYER0_ALT2 GRAVE +//#define MAGIC_KEY_LAYER0 0 +//#define MAGIC_KEY_LAYER1 1 +//#define MAGIC_KEY_LAYER2 2 +//#define MAGIC_KEY_LAYER3 3 +//#define MAGIC_KEY_LAYER4 4 +//#define MAGIC_KEY_LAYER5 5 +//#define MAGIC_KEY_LAYER6 6 +//#define MAGIC_KEY_LAYER7 7 +//#define MAGIC_KEY_LAYER8 8 +//#define MAGIC_KEY_LAYER9 9 +//#define MAGIC_KEY_BOOTLOADER PAUSE +//#define MAGIC_KEY_LOCK CAPS +//#define MAGIC_KEY_EEPROM E +//#define MAGIC_KEY_NKRO N +//#define MAGIC_KEY_SLEEP_LED Z + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/tv44/keymaps/default/Makefile b/keyboards/tv44/keymaps/default/Makefile new file mode 100644 index 000000000..f4671a9d1 --- /dev/null +++ b/keyboards/tv44/keymaps/default/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/tv44/keymaps/default/config.h b/keyboards/tv44/keymaps/default/config.h new file mode 100644 index 000000000..df06a2620 --- /dev/null +++ b/keyboards/tv44/keymaps/default/config.h @@ -0,0 +1,8 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here + +#endif \ No newline at end of file diff --git a/keyboards/tv44/keymaps/default/keymap.c b/keyboards/tv44/keymaps/default/keymap.c new file mode 100644 index 000000000..6a4fef3da --- /dev/null +++ b/keyboards/tv44/keymaps/default/keymap.c @@ -0,0 +1,97 @@ +#include "tv44.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +#define _QW 0 +#define _DV 1 +#define _CM 2 +#define _L1 3 +#define _L2 4 +#define _L3 5 + +// Macro name shortcuts +#define QWERTY M(_QW) +#define DVORAK M(_DV) +#define COLEMAK M(_CM) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QW] = { /* Qwerty */ + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, + {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_L1) }, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_F, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2) }, + {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } + }, + [_DV] = { /* Dvorak */ + {KC_TAB, KC_COMM, KC_DOT, KC_SLSH, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_BSPC }, + {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MO(_L1) }, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, MO(_L2) }, + {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } + }, + [_CM] = { /* Colemak */ + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, + {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, MO(_L1) }, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2) }, + {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } + }, + [_L1] = { /* LAYER 1 */ + {KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, + {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ }, + {_______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT }, + {_______, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, XXXXXXX, _______ } + }, + [_L2] = { /* LAYER 2 */ + {_______, QWERTY, DVORAK, COLEMAK, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______ }, + {KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_4, KC_5, KC_6, KC_VOLU, KC_ENT }, + {_______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______ }, + {_______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, XXXXXXX, _______ } + }, + [_L3] = { /* LAYER 3 */ + {_______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______ }, + {KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______ }, + {KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_F11, KC_F12, _______ }, + {_______, KC_LSFT, KC_B, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_C, _______, _______, XXXXXXX, _______ } + } +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DV: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DV); + } + break; + case _QW: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QW); + } + break; + case _CM: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_CM); + } + break; + } + return MACRO_NONE; +}; diff --git a/keyboards/tv44/keymaps/default/readme.md b/keyboards/tv44/keymaps/default/readme.md new file mode 100644 index 000000000..ac84c08cf --- /dev/null +++ b/keyboards/tv44/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for tv44 \ No newline at end of file diff --git a/keyboards/tv44/keymaps/xyverz/Makefile b/keyboards/tv44/keymaps/xyverz/Makefile new file mode 100644 index 000000000..f4671a9d1 --- /dev/null +++ b/keyboards/tv44/keymaps/xyverz/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/tv44/keymaps/xyverz/config.h b/keyboards/tv44/keymaps/xyverz/config.h new file mode 100644 index 000000000..df06a2620 --- /dev/null +++ b/keyboards/tv44/keymaps/xyverz/config.h @@ -0,0 +1,8 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here + +#endif \ No newline at end of file diff --git a/keyboards/tv44/keymaps/xyverz/keymap.c b/keyboards/tv44/keymaps/xyverz/keymap.c new file mode 100644 index 000000000..8cbcf8d35 --- /dev/null +++ b/keyboards/tv44/keymaps/xyverz/keymap.c @@ -0,0 +1,92 @@ +#include "tv44.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +#define _DV 0 +#define _QW 1 +#define _CM 2 +#define _L1 3 +#define _L2 4 + +// Macro name shortcuts +#define DVORAK M(_DV) +#define QWERTY M(_QW) +#define COLEMAK M(_CM) + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DV] = { /* 0: Dvorak */ + {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC }, + {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT }, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT }, + {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } + }, + + [_QW] = { /* 1: Qwerty */ + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, + {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT }, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, + {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } + }, + + [_CM] = { /* 2: Colemak */ + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, + {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT }, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, + {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } + }, + + [_L1] = {/* 1: FN 1 */ + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL }, + {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ }, + {_______, _______, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT }, + {KC_ESC, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_SLSH, _______, _______ } + }, + + [_L2] = { /* 2: FN 2 */ + {KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_ESC }, + {_______, KC_F11, KC_F12, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_VOLU, KC_ENT }, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_VOLD, _______ }, + {QWERTY, DVORAK, COLEMAK, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______ } + } + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DV: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DV); + } + break; + case _QW: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QW); + } + break; + case _CM: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_CM); + } + break; + } + return MACRO_NONE; +}; + + diff --git a/keyboards/tv44/keymaps/xyverz/readme.md b/keyboards/tv44/keymaps/xyverz/readme.md new file mode 100644 index 000000000..ac84c08cf --- /dev/null +++ b/keyboards/tv44/keymaps/xyverz/readme.md @@ -0,0 +1 @@ +# The default keymap for tv44 \ No newline at end of file diff --git a/keyboards/tv44/readme.md b/keyboards/tv44/readme.md new file mode 100644 index 000000000..e3b557fe2 --- /dev/null +++ b/keyboards/tv44/readme.md @@ -0,0 +1,28 @@ +tv44 keyboard firmware +====================== + +## Quantum MK Firmware + +For the full Quantum feature list, see [the parent readme.md](/doc/readme.md). + +## Building + +Download or clone the whole firmware and navigate to the keyboards/tv44 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. + +Depending on which keymap you would like to use, you will have to compile slightly differently. + +### Default + +To build with the default keymap, simply run `make`. + +### Other Keymaps + +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files. + +To build the firmware binary hex file with a keymap just do `make` with `keymap` option like: + +``` +$ make keymap=[default|jack|] +``` + +Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` \ No newline at end of file diff --git a/keyboards/tv44/tv44.c b/keyboards/tv44/tv44.c new file mode 100644 index 000000000..6dc0efd28 --- /dev/null +++ b/keyboards/tv44/tv44.c @@ -0,0 +1,28 @@ +#include "tv44.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + led_set_user(usb_led); +} diff --git a/keyboards/tv44/tv44.h b/keyboards/tv44/tv44.h new file mode 100644 index 000000000..4c30174ac --- /dev/null +++ b/keyboards/tv44/tv44.h @@ -0,0 +1,22 @@ +#ifndef TV44_H +#define TV44_H + +#include "quantum.h" + +// This a shortcut to help you visually see your layout. +// The following is an example using the Planck MIT layout +// The first section contains all of the arguements +// The second converts the arguments into a two-dimensional array +#define KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ + K30, K31, K32, K33, K37, K38, K39, K3B \ +) \ +{ \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ + { K30, K31, K32, K33, KC_NO, KC_NO, KC_NO, K37, K38, K39, K3A, K3B } \ + +#endif From e87506767cec6410d1a93c15d68452815c9c3553 Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Sat, 13 Aug 2016 10:44:42 -0700 Subject: [PATCH 059/306] Removal of old minivan44 folder. --- keyboards/minivan44/Makefile | 75 -------- keyboards/minivan44/config.h | 162 ------------------ keyboards/minivan44/keymaps/default/Makefile | 21 --- keyboards/minivan44/keymaps/default/config.h | 8 - keyboards/minivan44/keymaps/default/keymap.c | 97 ----------- keyboards/minivan44/keymaps/default/readme.md | 1 - keyboards/minivan44/keymaps/xyverz/Makefile | 21 --- keyboards/minivan44/keymaps/xyverz/config.h | 8 - keyboards/minivan44/keymaps/xyverz/keymap.c | 92 ---------- keyboards/minivan44/keymaps/xyverz/readme.md | 1 - keyboards/minivan44/minivan44.c | 28 --- keyboards/minivan44/minivan44.h | 22 --- keyboards/minivan44/readme.md | 28 --- 13 files changed, 564 deletions(-) delete mode 100644 keyboards/minivan44/Makefile delete mode 100644 keyboards/minivan44/config.h delete mode 100644 keyboards/minivan44/keymaps/default/Makefile delete mode 100644 keyboards/minivan44/keymaps/default/config.h delete mode 100644 keyboards/minivan44/keymaps/default/keymap.c delete mode 100644 keyboards/minivan44/keymaps/default/readme.md delete mode 100644 keyboards/minivan44/keymaps/xyverz/Makefile delete mode 100644 keyboards/minivan44/keymaps/xyverz/config.h delete mode 100644 keyboards/minivan44/keymaps/xyverz/keymap.c delete mode 100644 keyboards/minivan44/keymaps/xyverz/readme.md delete mode 100644 keyboards/minivan44/minivan44.c delete mode 100644 keyboards/minivan44/minivan44.h delete mode 100644 keyboards/minivan44/readme.md diff --git a/keyboards/minivan44/Makefile b/keyboards/minivan44/Makefile deleted file mode 100644 index 45ca12780..000000000 --- a/keyboards/minivan44/Makefile +++ /dev/null @@ -1,75 +0,0 @@ - - -# MCU name -#MCU = at90usb1287 -MCU = atmega32u4 - -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - - -# Boot Section Size in *bytes* -# Teensy halfKay 512 -# Teensy++ halfKay 1024 -# Atmel DFU loader 4096 -# LUFA bootloader 4096 -# USBaspLoader 2048 -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) -EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) -CONSOLE_ENABLE ?= yes # Console for debug(+400) -COMMAND_ENABLE ?= yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE ?= yes # USB Nkey Rollover -BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE ?= no # MIDI controls -UNICODE_ENABLE ?= no # Unicode -BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE ?= no # Audio output on port C6 - -ifndef QUANTUM_DIR - include ../../Makefile -endif - - diff --git a/keyboards/minivan44/config.h b/keyboards/minivan44/config.h deleted file mode 100644 index 0ae93c095..000000000 --- a/keyboards/minivan44/config.h +++ /dev/null @@ -1,162 +0,0 @@ -/* -Copyright 2012 Jun Wako - -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 . -*/ - -#ifndef CONFIG_H -#define CONFIG_H - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEAE -#define PRODUCT_ID 0x8844 -#define DEVICE_VER 0x0002 -#define MANUFACTURER Evan Sailer -#define PRODUCT TheVan 44 -#define DESCRIPTION keyboard firmware for TV44 - -/* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 12 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#define MATRIX_ROW_PINS { D7, B5, F7, D4 } -#define MATRIX_COL_PINS { D2, D3, D5, D6, B4, B6, F6, F5, F4, F1, F0, B3 } -#define UNUSED_PINS - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -// #define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 - - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCING_DELAY 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* key combination for magic key command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/minivan44/keymaps/default/Makefile b/keyboards/minivan44/keymaps/default/Makefile deleted file mode 100644 index f4671a9d1..000000000 --- a/keyboards/minivan44/keymaps/default/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -ifndef QUANTUM_DIR - include ../../../../Makefile -endif \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/default/config.h b/keyboards/minivan44/keymaps/default/config.h deleted file mode 100644 index df06a2620..000000000 --- a/keyboards/minivan44/keymaps/default/config.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -// place overrides here - -#endif \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/default/keymap.c b/keyboards/minivan44/keymaps/default/keymap.c deleted file mode 100644 index d559a4b1c..000000000 --- a/keyboards/minivan44/keymaps/default/keymap.c +++ /dev/null @@ -1,97 +0,0 @@ -#include "minivan44.h" -#include "action_layer.h" -#include "eeconfig.h" - -extern keymap_config_t keymap_config; - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. - -#define _QW 0 -#define _DV 1 -#define _CM 2 -#define _L1 3 -#define _L2 4 -#define _L3 5 - -// Macro name shortcuts -#define QWERTY M(_QW) -#define DVORAK M(_DV) -#define COLEMAK M(_CM) - -// Fillers to make layering more clear -#define _______ KC_TRNS -#define XXXXXXX KC_NO - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = { /* Qwerty */ - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, - {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MO(_L1) }, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_F, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2) }, - {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } - }, - [_DV] = { /* Dvorak */ - {KC_TAB, KC_COMM, KC_DOT, KC_SLSH, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_Q, KC_BSPC }, - {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MO(_L1) }, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, MO(_L2) }, - {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } - }, - [_CM] = { /* Colemak */ - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, - {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, MO(_L1) }, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(_L2) }, - {KC_LCTL, MO(_L2), KC_LGUI, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_RALT, KC_ESC, XXXXXXX, TG(_L3) } - }, - [_L1] = { /* LAYER 1 */ - {KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, - {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ }, - {_______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT }, - {_______, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, XXXXXXX, _______ } - }, - [_L2] = { /* LAYER 2 */ - {_______, QWERTY, DVORAK, COLEMAK, _______, _______, _______, KC_7, KC_8, KC_9, KC_0, _______ }, - {KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, LSFT(KC_LBRC), LSFT(KC_RBRC), KC_4, KC_5, KC_6, KC_VOLU, KC_ENT }, - {_______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______ }, - {_______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, XXXXXXX, _______ } - }, - [_L3] = { /* LAYER 3 */ - {_______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______ }, - {KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______ }, - {KC_LSFT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_F9, KC_F10, KC_F11, KC_F12, _______ }, - {_______, KC_LSFT, KC_B, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_C, _______, _______, XXXXXXX, _______ } - } -}; - -const uint16_t PROGMEM fn_actions[] = { - -}; - -void persistant_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - case _DV: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_DV); - } - break; - case _QW: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_QW); - } - break; - case _CM: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_CM); - } - break; - } - return MACRO_NONE; -}; diff --git a/keyboards/minivan44/keymaps/default/readme.md b/keyboards/minivan44/keymaps/default/readme.md deleted file mode 100644 index 189a9c0ff..000000000 --- a/keyboards/minivan44/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for minivan44 \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/xyverz/Makefile b/keyboards/minivan44/keymaps/xyverz/Makefile deleted file mode 100644 index f4671a9d1..000000000 --- a/keyboards/minivan44/keymaps/xyverz/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -COMMAND_ENABLE = yes # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = no # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -ifndef QUANTUM_DIR - include ../../../../Makefile -endif \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/xyverz/config.h b/keyboards/minivan44/keymaps/xyverz/config.h deleted file mode 100644 index df06a2620..000000000 --- a/keyboards/minivan44/keymaps/xyverz/config.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -// place overrides here - -#endif \ No newline at end of file diff --git a/keyboards/minivan44/keymaps/xyverz/keymap.c b/keyboards/minivan44/keymaps/xyverz/keymap.c deleted file mode 100644 index f995da0e7..000000000 --- a/keyboards/minivan44/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,92 +0,0 @@ -#include "minivan44.h" -#include "action_layer.h" -#include "eeconfig.h" - -extern keymap_config_t keymap_config; - -#define _DV 0 -#define _QW 1 -#define _CM 2 -#define _L1 3 -#define _L2 4 - -// Macro name shortcuts -#define DVORAK M(_DV) -#define QWERTY M(_QW) -#define COLEMAK M(_CM) - -// Fillers to make layering more clear -#define _______ KC_TRNS -#define XXXXXXX KC_NO - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DV] = { /* 0: Dvorak */ - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC }, - {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT }, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT }, - {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } - }, - - [_QW] = { /* 1: Qwerty */ - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, - {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT }, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, - {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } - }, - - [_CM] = { /* 2: Colemak */ - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, - {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT }, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, - {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, MO(_L2) } - }, - - [_L1] = {/* 1: FN 1 */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL }, - {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ }, - {_______, _______, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT }, - {_______, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_SLSH, _______, _______ } - }, - - [_L2] = { /* 2: FN 2 */ - {KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_ESC }, - {_______, KC_F11, KC_F12, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_VOLU, KC_ENT }, - {_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_VOLD, _______ }, - {QWERTY, DVORAK, COLEMAK, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______ } - } - -}; - -const uint16_t PROGMEM fn_actions[] = { - -}; - -void persistant_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - case _DV: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_DV); - } - break; - case _QW: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_QW); - } - break; - case _CM: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_CM); - } - break; - } - return MACRO_NONE; -}; - - diff --git a/keyboards/minivan44/keymaps/xyverz/readme.md b/keyboards/minivan44/keymaps/xyverz/readme.md deleted file mode 100644 index 189a9c0ff..000000000 --- a/keyboards/minivan44/keymaps/xyverz/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for minivan44 \ No newline at end of file diff --git a/keyboards/minivan44/minivan44.c b/keyboards/minivan44/minivan44.c deleted file mode 100644 index be8214fd5..000000000 --- a/keyboards/minivan44/minivan44.c +++ /dev/null @@ -1,28 +0,0 @@ -#include "minivan44.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/minivan44/minivan44.h b/keyboards/minivan44/minivan44.h deleted file mode 100644 index c6119c2e1..000000000 --- a/keyboards/minivan44/minivan44.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef MINIVAN44_H -#define MINIVAN44_H - -#include "quantum.h" - -// This a shortcut to help you visually see your layout. -// The following is an example using the Planck MIT layout -// The first section contains all of the arguements -// The second converts the arguments into a two-dimensional array -#define KEYMAP( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \ - K30, K31, K32, K33, K37, K38, K39, K3B \ -) \ -{ \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \ - { K30, K31, K32, K33, KC_NO, KC_NO, KC_NO, K37, K38, K39, K3A, K3B } \ - -#endif diff --git a/keyboards/minivan44/readme.md b/keyboards/minivan44/readme.md deleted file mode 100644 index 59b62b0e6..000000000 --- a/keyboards/minivan44/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -minivan44 keyboard firmware -====================== - -## Quantum MK Firmware - -For the full Quantum feature list, see [the parent readme.md](/doc/readme.md). - -## Building - -Download or clone the whole firmware and navigate to the keyboards/minivan44 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. - -Depending on which keymap you would like to use, you will have to compile slightly differently. - -### Default - -To build with the default keymap, simply run `make`. - -### Other Keymaps - -Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files. - -To build the firmware binary hex file with a keymap just do `make` with `keymap` option like: - -``` -$ make keymap=[default|jack|] -``` - -Keymaps follow the format **__keymap.c__** and are stored in folders in the `keymaps` folder, eg `keymaps/my_keymap/` \ No newline at end of file From ba7f2b1d3f350b72236a19440ec7026fa0cfd2ba Mon Sep 17 00:00:00 2001 From: Nicholas Keene Date: Sat, 13 Aug 2016 15:53:03 -0500 Subject: [PATCH 060/306] The Ordinary Layout is the unsurprising layout --- keyboards/ergodox/keymaps/ordinary/keymap.c | 241 ++++++++---------- .../keymaps/ordinary/ordinary-base.png | Bin 99605 -> 76549 bytes .../keymaps/ordinary/ordinary-base.txt | 16 +- .../keymaps/ordinary/ordinary-media.png | Bin 124144 -> 96205 bytes .../keymaps/ordinary/ordinary-media.txt | 36 +-- .../keymaps/ordinary/ordinary-special.png | Bin 63065 -> 68418 bytes .../keymaps/ordinary/ordinary-special.txt | 20 +- .../keymaps/ordinary/ordinary-symbol.png | Bin 103735 -> 73009 bytes .../keymaps/ordinary/ordinary-symbol.txt | 20 +- keyboards/ergodox/keymaps/ordinary/readme.md | 8 +- 10 files changed, 158 insertions(+), 183 deletions(-) diff --git a/keyboards/ergodox/keymaps/ordinary/keymap.c b/keyboards/ergodox/keymaps/ordinary/keymap.c index bf0574ea2..eda45b7cb 100644 --- a/keyboards/ergodox/keymaps/ordinary/keymap.c +++ b/keyboards/ergodox/keymaps/ordinary/keymap.c @@ -1,23 +1,20 @@ -#include "ergodox.h" +#include "ergodox_ez.h" #include "led.h" #include "debug.h" #include "action_layer.h" #include "action_util.h" -#include "mousekey.h" #define BASE 0 // default layer #define SYMB 1 // symbols layer #define MDIA 2 // media layer #define SPEC 3 // special layer -#define LCaps 10 // left caps-shift key -#define LSymb 11 // left symbol-shift key -#define LMdia 12 // left media-shift key -#define LSpec 13 // left special-shift key -#define RCaps 14 // right caps-shift key -#define RSymb 15 // right symbol-shift key -#define RMdia 16 // right media-shift key -#define RSpec 17 // right special-shift key +#define LSymb 10 // left symbol-shift key +#define LMdia 11 // left media-shift key +#define LSpec 12 // left special-shift key +#define RSymb 13 // right symbol-shift key +#define RMdia 14 // right media-shift key +#define RSpec 15 // right special-shift key #define MUL 20 // mouse up left #define MUR 21 // mouse up right @@ -25,13 +22,14 @@ #define MDR 23 // mouse down right /* - * The Ordinary Layout for the Ergodox EZ keyboard, v4 - * + * The Ordinary Layout for the Ergodox EZ keyboard, v4.20 + * * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com * * No rights reserved. This software is in the public domain. * Credit me if you are friendly but if you're a jerk don't bother. - * + * If you use or modify this layout I would love to hear from you. + * * Details: readme.md * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary */ @@ -61,10 +59,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = KEYMAP( // left hand - F(LSpec),KC_1,KC_2,KC_3 ,KC_4 ,KC_5 ,KC_ESC + F(LSpec) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC ,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC ,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G -,M(LCaps) ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) +,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) ,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI ,KC_HOME,KC_END ,KC_PGUP @@ -73,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RSpec) ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia) ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb) - ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,M(RCaps) + ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL ,KC_LEFT ,KC_RGHT ,KC_UP @@ -91,8 +89,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent| - * `-----------------------------------' `-------------------------------------' + * | LCtrl | Meh |Hyper | LAlt | LGui | | 0 | . | = | + | Ent | + * `-----------------------------------' `-----------------------------------' * ,-------------. ,-------------. * | Left | Right| | Home | End | * ,------|------|------| |------+------+------. @@ -105,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC ,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) -,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV +,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV ,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB ,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI ,KC_LEFT ,KC_RGHT @@ -116,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS - ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) + ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT ,KC_HOME ,KC_END ,KC_PGUP ,KC_PGDN ,KC_BSPC ,KC_DEL @@ -124,24 +122,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /******* Media Layer ******************************************************************************************************* * - * ,---------------------------------------------------------------. ,---------------------------------------------------------------. - * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | - * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------| - * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | | - * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| - * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | - * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| - * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | - * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' - * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl| - * `---------------------------------------------' `---------------------------------------------' - * ,-------------. ,-------------. - * | Stop |Refrsh| | Prev | Next | - * ,------|------|------| |------+------+------. - * |Brwser|Brwser|Search| |VolUp | | | - * |Back | Fwd |------| |------| Stop | Play-| - * | | | Home | |VolDn | | Pause| - * `--------------------' `--------------------' + * ,---------------------------------------------------------------. ,---------------------------------------------------------------. + * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | + * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------| + * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | | + * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| + * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | + * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| + * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | + * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' + * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl| + * `---------------------------------------------' `---------------------------------------------' + * ,-------------. ,-------------. + * | Stop |Refrsh| | Prev | Next | + * ,------|------|------| |------+------+------. + * |Brwser|Brwser|Search| |VolUp | | | + * |Back | Fwd |------| |------| Stop | Play-| + * | | | Home | |VolDn | | Pause| + * `--------------------' `--------------------' */ [MDIA] = KEYMAP( // left hand @@ -166,67 +164,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /******* Special Layer ***************************************************************************************************** * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | | Esc | | | | | | | | | | | | Bspc | | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | |------| |------| | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | RShift | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' + * ,-------------------------------------------------------. ,-------------------------------------------------------. + * | | Esc | | | | | | | | | | | - | Bspc | | + * |-------------+------+------+------+------+-------------| |------+------+------+------+------+------+-------------| + * | Media Lock | | | | | | | | | | | | [ | ] | Media Lock | + * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| + * | Symbol Lock | | | | | |------| |------| | | | | | Symbol Lock | + * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| + * | Caps Lock | | | | | | | | | | | | | | Caps Lock | + * `-------------+------+------+------+------+-------------' `-------------+------+------+------+------+-------------' + * | | | | | | | | | | | | + * `------------------------------------' `------------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' */ [SPEC] = KEYMAP( // left hand KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS,KC_TRNS ,KC_TRNS - // right hand - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_RSFT - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - - ,KC_TRNS ,KC_TRNS - ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS + // right hand + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_MINS ,KC_BSPC ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LBRC ,KC_RBRC ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ) }; const uint16_t PROGMEM fn_actions[] = { // the faux shift keys are implemented as macro taps - [LCaps] = ACTION_MACRO_TAP(LCaps) - ,[LSymb] = ACTION_MACRO_TAP(LSymb) + [LSymb] = ACTION_MACRO_TAP(LSymb) ,[LMdia] = ACTION_MACRO_TAP(LMdia) ,[LSpec] = ACTION_MACRO_TAP(LSpec) - ,[RCaps] = ACTION_MACRO_TAP(RCaps) ,[RSymb] = ACTION_MACRO_TAP(RSymb) ,[RMdia] = ACTION_MACRO_TAP(RMdia) ,[RSpec] = ACTION_MACRO_TAP(RSpec) }; -uint16_t caps_shift = 0; uint16_t symb_shift = 0; uint16_t mdia_shift = 0; +uint16_t spec_shift = 0; -bool symb_lock = false; bool mdia_lock = false; +bool symb_lock = false; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { @@ -237,50 +231,28 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // only because sometimes rapid pressing led to irregular events; this way the states // are self healing during use. - case LCaps: // both caps-shift keys trigger Left Shift - case RCaps: // so they don't interfere with the magic combo - if (record->event.pressed && !record->tap.count) { - if(++caps_shift > 2) caps_shift = 2; - if(caps_shift == 2) { - register_code(KC_CAPS); - unregister_code(KC_CAPS); - } else if(caps_shift == 1) { - register_code(KC_LSFT); - } - } else { - if(--caps_shift < 0) caps_shift = 0; - if(caps_shift == 0) unregister_code(KC_LSFT); - } - break; - - case LSymb: - if (record->event.pressed) { - if(++symb_shift > 2) symb_shift = 2; - if(symb_shift == 2) { - symb_lock = !symb_lock; - } else if(symb_shift == 1) { - layer_on(SYMB); - } - } else { - if(--symb_shift < 0) symb_shift = 0; - if((symb_shift == 0) && (!symb_lock)) layer_off(SYMB); + case LSymb: // + if (record->event.pressed) { // when the LSymb button is pressed + if(++symb_shift > 2) mdia_shift = 2; // increment the symb shift count, max two + if(spec_shift) symb_lock = !symb_lock; // if the Special layer is on, toggle the shift lock + layer_on(SYMB); // in any case, turn on the Symbols layer + } else { // when the LSymb button is released + if(--symb_shift < 0) symb_shift = 0; // decrement the shift count, minimum zero + if((!symb_shift) && (!symb_lock)) layer_off(SYMB); // if both shifts are released and the lock is off, turn off the Symbols layer } break; case LMdia: if (record->event.pressed) { - if (record->tap.count && (!mdia_shift) && (!mdia_lock)) { + if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) { register_code(KC_TAB); } else { + if(spec_shift) mdia_lock = !mdia_lock; if(++mdia_shift > 2) mdia_shift = 2; - if(mdia_shift == 2) { - mdia_lock = !mdia_lock; - } else if(mdia_shift == 1) { - layer_on(MDIA); - } + layer_on(MDIA); } } else { - if(record->tap.count && (!mdia_shift) && (!mdia_lock)) { + if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) { unregister_code(KC_TAB); } else { if(--mdia_shift < 0) mdia_shift = 0; @@ -290,35 +262,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) break; case LSpec: - if (record->event.pressed) { - if (record->tap.count && !record->tap.interrupted) { - register_code(KC_GRV); + if (record->event.pressed) { // when the LSpec button is pressed + if(symb_shift) symb_lock == !symb_lock; // if another layer button is engaged, then + else if(mdia_shift) mdia_lock = !mdia_lock; // lock that layer, be it caps or symb or mdia + else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) { + register_code(KC_GRV); // otherwise, if it's an uninterrupted tap, emit a char } else { - layer_on(SPEC); + if(++spec_shift > 2) spec_shift = 2; + layer_on(SPEC); // otherwise, turn on the Special layer } } else { - if(record->tap.count && !record->tap.interrupted) { + if(record->tap.count && !record->tap.interrupted && (!spec_shift)) { unregister_code(KC_GRV); } else { - layer_off(SPEC); + if(--spec_shift < 0) spec_shift = 0; + if(!spec_shift) layer_off(SPEC); } } break; case RSymb: if (record->event.pressed) { - if (record->tap.count && (!symb_shift) && (!symb_lock)) { + if (record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) { register_code(KC_QUOT); } else { if(++symb_shift > 2) symb_shift = 2; - if(symb_shift == 2) { - symb_lock = !symb_lock; - } else if(symb_shift == 1) { - layer_on(SYMB); - } + if(spec_shift) symb_lock = !symb_lock; + layer_on(SYMB); } } else { - if(record->tap.count && symb_shift == 0) { + if(record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) { unregister_code(KC_QUOT); } else { if(--symb_shift < 0) symb_shift = 0; @@ -329,18 +302,15 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case RMdia: if (record->event.pressed) { - if (record->tap.count && (!mdia_shift) && (!mdia_lock)) { + if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) { register_code(KC_BSLS); } else { if(++mdia_shift > 2) mdia_shift = 2; - if(mdia_shift == 2) { - mdia_lock = !mdia_lock; - } else if(mdia_shift == 1) { - layer_on(MDIA); - } + if(spec_shift) mdia_lock = !mdia_lock; + layer_on(MDIA); } } else { - if(record->tap.count && (!mdia_shift) && (!mdia_lock)) { + if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) { unregister_code(KC_BSLS); } else { if(--mdia_shift < 0) mdia_shift = 0; @@ -351,16 +321,20 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case RSpec: if (record->event.pressed) { - if (record->tap.count && !record->tap.interrupted) { + if(symb_shift) symb_lock = !symb_lock; + else if(mdia_shift) mdia_lock = !mdia_lock; + else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) { register_code(KC_EQL); } else { + if(++spec_shift > 2) spec_shift = 2; layer_on(SPEC); } } else { - if(record->tap.count && !record->tap.interrupted) { + if(record->tap.count && !record->tap.interrupted && (!spec_shift)) { unregister_code(KC_EQL); } else { - layer_off(SPEC); + if(--spec_shift < 0) spec_shift = 0; + if(!spec_shift) layer_off(SPEC); } } break; @@ -419,7 +393,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // none break; } - + return MACRO_NONE; }; @@ -431,7 +405,9 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { // shift or caps lock turns on red light - if(caps_shift || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<mods & MOD_BIT(KC_LSFT)) + || (keyboard_report->mods & MOD_BIT(KC_RSFT)) + || (host_keyboard_leds() & (1<GX%GqNPK8ZKgCO1AARXen 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 I^@$Px2b|&aqyPW_ literal 99605 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